字典元素由鍵名和鍵值組成。
字典是無序的,裏面的元素由key,value組成,key必須可hash,列表不能作為key。由於key是通過hash計算得來,所以查找字典元素的速度為O(1),查找的時候只需要壹次計算hash值即可找到數據。
應用實例
學生成績
壹個班中註冊學習數據結構課程的學生構成了壹個字典。當有壹個新學生註冊時,就要在字典中插入與該學生相關的元素(記錄)。當有人要放棄這門課程時,則刪除他的記錄。在上課過程中,老師可以查詢字典以得到與某特定學生相關的記錄或修改記錄(例如,加入或修改考試成績)。學生的姓名域可作為關鍵字。
符號表
在編譯器中定義用戶描述符的符號表(symbol table)就是壹個有重復元素的字典。當定義壹個描述符時,要建立壹個記錄並插入到符號表中。記錄中包括作為關鍵字的描述符以及其他信息,如描述符類型( i n t,float等)和(相關的)存儲其值的內存地址。
因為同樣的描述符名可以定義多次(在不同的程序塊中),所以符號表中必然存在有多個記錄具有相同的關鍵字,搜索結果應是最新插入的元素。只有在程序塊的結尾才能進行刪除,所有在開始插入的元素最終都要被刪除掉。