單項聯表和雙向聯表的區別

2022-06-24 22:03:13 字數 526 閱讀 8940

刪除單鏈表中的某個結點時,一定要得到待刪除結點的前驅,得到該前驅有兩種方法,第一種方法是在定位待刪除結點的同時一路儲存當前結點的前驅。第二種方法是在定位到待刪除結點之後,重新從單鏈表表頭開始來定位前驅。儘管通常會採用方法一。但其實這兩種方法的效率是一樣的,指標的總的移動操作都會有2*i次。而如果用雙向鍊錶,則不需要定位前驅結點。因此指標總的移動操作為i次。

查詢時也一樣,我們可以借用二分法的思路,從head(首節點)向後查詢操作和last(尾節點)向前查詢操作同步進行,這樣雙鏈表的效率可以提高一倍。

從儲存結構來看,每個雙鏈表的節點要比單鏈表的節點多乙個指標,而長度為n就需要 n*length(這個指標的length在32位系統中是4位元組,在64位系統中是8個位元組) 的空間,這在一些追求時間效率不高應用下並不適應,因為它占用空間大於單鏈表所占用的空間;這時設計者就會採用以時間換空間的做法,這是一種工程總體上的衡量。

MySQL聯表查詢及聯表刪除的方法

mysql聯表查詢及聯表刪除都是經常需要用到的操作,下面對mysql聯表查詢和聯表刪除都作了詳細的介紹分析,希望對您有所幫助。mysql聯表查詢 reference mysql manul 3.2.7.select語法13.2.7.1.join語法 13.2.7.2.union語法 eg1 mysq...

列聯表和crosstab(MATLAB)

二維列聯表又稱 r times s 列聯表。我們從兩種角度觀察一組資料。第一種將被觀察物件分為 r 類,比如,被調查群體吸菸和不吸菸的人數。第二種將被觀察物件分為 s 類,比如,被調查群體中患肺癌和未患肺癌的人數。此時二維列聯表是乙個矩陣 x in mathbb 其中 x 表示同時屬於第一種角度的第...

zf聯表查詢

zf支援聯表查詢,並且會經常遇到聯表查詢,具體 寫法如下 select this select select from this name,array id name select distinct select joinleft jobname,jobname.enterprise id this...