符號表最主要的目的就是將乙個鍵和乙個值聯絡起來,符號表能夠將儲存的資料元素是乙個鍵和乙個值共同組成的鍵值對資料,我們可以根據鍵來查詢對應的值。
符號表中,鍵具有唯一性。
符號表在實際生活中的使用場景是非常廣泛的,見下表:
應用查詢目的鍵值
字典找出單詞的釋義
單詞釋義
圖書索引
找出某個術語相關的頁碼
術語一串頁碼
網路搜尋
找出某個關鍵字對應的網頁
關鍵字網頁名稱
//符號表
public class symboltable
//獲取符號表中鍵值對的個數
public int
size()
//往符號表中插入鍵值對
public void
put(key key, value value)
}//符號表中沒有鍵為key的鍵值對
node oldfirst = head.next;
node newfirst = new node
(key, value, oldfirst)
; head.next = newfirst;
//個數+1
n++;}
//刪除符號表中鍵為key的鍵值對
public void
delete
(key key)
n = n.next;}}
//從符號表中獲取key對應的值
public value get
(key key)
}return null;
} private class node }}
//測試類
public class test
}
剛才實現的符號表,我們可以稱之為無序符號表,因為在插入的時候,並沒有考慮鍵值對的順序,而在實際生活中,有時候我們需要根據鍵的大小進行排序,插入資料時要考慮順序,那麼接下來我們就實現一下有序符號表。
在這裡插入**片
資料結構與演算法分析之線性表
最近面試了不少公司,發現多數公司要提問資料結構與演算法分析,所以這段期間又簡單回顧了下資料結構與演算法。列表內容 簡單來說呢程式 資料結構 演算法只不過是實現的語言不同而已,有人說,學習資料結構沒一點用,工作中一點用也沒有,這點仁者見仁智者見智,現在的大部分公司是業務為王,業務理解透了,能幹就幹,幹...
資料結構與演算法分析 之 資料結構和演算法概述
官方解釋 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。大白話 資料結構就是把資料元素按照一定的關係組織起來的集合,用來組織和儲存資料 傳統上,我們可以把資料結構分為邏輯結構和物理結構兩大類。邏輯結構分類 邏輯結構是從具體問題中抽象出來的模型,是抽...
資料結構與演算法之儲存分析
陣列儲存方式的分析 優點 通過下標方式訪問元素,速度快。對於有序陣列,還可使用二分查詢提高檢索速度。缺點 如果要檢索具體某個值,或者插入值 按一定順序 會整體移動,效率較低 鏈式儲存方式的分析 優點 在一定程度上對陣列儲存方式有優化 比如 插入乙個數值節點,只需要將插入節點,鏈結到鍊錶中即可,刪除效...