網上的相關教程很是多,基礎知識自行搜索便可。javascript
習題主要選自Orelly出版的《數據結構與算法javascript描述》一書。前端
參考代碼可見:https://github.com/dashnowords/blogs/tree/master/Structure/Dictionaryjava
以鍵值對
形式存儲數據的數據結構,在Javascript
中更多地是直接使用對象,通常只在有排序需求的場景下會用到本篇中構造的Dictionary
類,由於對象屬性是無序的。git
字典
在Javascript中是很是經常使用的技術之一,通常會和設計模式中的策略模式
一塊兒被說起。策略模式指的是定義一系列的算法,把它們一個個封裝起來。將不變的部分和變化的部分隔開是每一個設計模式的主題,策略模式也不例外,策略模式的目的就是將算法的使用與算法的實現分離開來。例以下面一段計算薪水和獎金的示例:github
var obj = { "A": function(salary) { return salary * 4; }, "B" : function(salary) { return salary * 3; }, "C" : function(salary) { return salary * 2; } }; var calculateBouns =function(level,salary) { return obj[level](salary); }; console.log(calculateBouns('A',10000)); // 40000
構造一個Dictionary
類。實現下列基本方法算法
add(key, value)
——添加一條記錄find(key)
——查找指定鍵對應的值remove(key)
——移除指定鍵值對showAll( )
——顯示全部鍵值對clear( )
——清空數據Dictionary
類寫一個程序,用來統計一段文本中各個單詞出現的次數。例如,"the brown for jumped over the blue fox",對應的輸出爲:the:2 brown:1 fox:2 jumped:1 over:1 blue:1