二叉樹兩種儲存結構的優缺點,雜湊表和二叉樹的優缺點對比,如何在這兩種資料結構中選擇

2021-03-04 06:59:19 字數 1423 閱讀 5031

1樓:

順序儲存可能會浪費空間(在非完全二叉樹的時候),但是讀取某個指定的節點的時候效率比較高o(0)

鏈式儲存相對二叉樹比較大的時候浪費空間較少,但是讀取某個指定節點的時候效率偏低o(nlogn)

2樓:匿名使用者

二叉樹的順序儲存,尋找後代節點和祖先節點都非常方便,但對於普通的二叉樹,順序儲存浪費大量的儲存空間,同樣也不利於節點的插入和刪除。因此順序儲存一般用於儲存完全二叉樹。

鏈式儲存相對順序儲存節省儲存空間,插入刪除節點時只需修改指標,但尋找指定節點時很不方便。不過普通的二叉樹一般是用鏈式儲存結構。

雜湊表和二叉樹的優缺點對比,如何在這兩種資料結構中選擇

3樓:匿名使用者

雜湊表的優點很明顯,查詢時間為常數1,最快的查詢速度。

二叉樹的查詢速度也很快,為log(n)但是慢於雜湊表。

但是二叉樹相對於雜湊表的優點是,對於乙個二叉查詢樹,即binary search tree,其中元素是排序的,而雜湊表是不排序的。那麼問題就來了,在你手機中,顯然你希望聯絡人是按姓氏排序的,那麼如果你使用雜湊表,你就需要額外的記憶體空間進行排序,而二叉查詢樹本身就是排好序的,因此節省了寶貴的空間。

結論就是,在空間不受限制時,且不需要高頻率的排序操作時,二叉查詢樹不如雜湊表。反之二叉查詢樹優於雜湊表。

資料結構中,圖與樹,二叉樹比線性表有什麼優點?

4樓:涼念若櫻花妖嬈

二叉樹二叉樹能夠說是人們假想的乙個模型,因此,允許有空的二叉樹是無爭議的。二叉樹是有序的,左邊有乙個孩子和右邊有乙個的二叉樹是不同的兩棵樹。做這個規定,是因為人們賦予了左孩子和右孩子不同的意義,在二叉樹的各種應用中,會清楚的看到。

看各種講資料結構的書,會發現乙個有趣的現象:在二叉樹這裡,基本操作有計算樹高、各種遍歷,就是沒有插入、刪除——樹是怎麼建立起來的,其實這很好理解,對於非線性的樹結構,插入刪除操作不在一定的法則規定下,是毫無意義的。因此,只有在具體的應用中,才會有插入刪除操作。

節點結構,資料域、左指標、右指標肯定是必須的。除非很少用到節點的雙親,或是資源緊張,建議附加乙個雙親指標,這將會給很多演算法帶來方便,尤其是在這個「空間換時間」的時代。

5樓:匿名使用者

你好,圖:非線性結構 點與點是多對多的關係 之間是平等的 沒有父節點 兄弟 孩子之分

樹:非線性結構 點與點是一對多的關係 有父節點 孩子節點 兄弟節點 (注意*樹不能為空**** 所以二叉樹不是樹)

儲存: 雙親表示法 孩子表示法 孩子兄弟表示法)二叉樹:有左右方向之分 可以為空 ,二叉樹可以順序儲存(主要用於完全二叉是樹的儲存)也可用二叉連結串列 三叉連結串列 索引表

線性表:線性結構

可以順序表示 也可以用連結串列表示

希望能夠幫到你,望採納

資料結構二叉樹的遍歷,C語言資料結構 二叉樹的遍歷

前序 根,左兒子,右兒子 中序 左兒子,根,右兒子 後序 左兒子,右兒子,根 首先是要牢記一上幾句話 比如這棵樹的中許遍歷,a有左兒子,先不訪問a,以此類推,直到d沒有左兒子,訪問d,然後訪問d的根b,然後應該訪問b的右兒子,但是b沒有,所以訪問b的根a,訪問完a以後訪問a的右子樹。先看c,c有左兒...

怎麼把二叉樹的鏈式儲存結構轉化為順序儲存結構

1 建立乙個單鏈表,並從螢幕顯示單鏈表元素列表。2 從鍵盤輸入乙個數,查詢在以上建立的單鏈表中是否存在該數 如果存在,顯示它的位置 如果不存在,給出相應提示。3 在上述的單鏈表中的指定位置插入指定的元素 4 刪除上述單鏈表中指定位置的元素。源程式 標頭檔案 include include typed...

中序遞迴遍歷二叉樹的演算法?(資料結構)

include include define maxsize 100 typedef char elemtype typedef struct node bitnode j ch str j bitnode find bitnode b,elemtype x bitnode lchild bitno...