怎樣用連結串列的方法解決基於有序順序的二分法查詢資料?

2025-03-15 11:15:37 字數 963 閱讀 5502

1樓:匿名使用者

這主要看是什麼情況如果你的資料是有序排列,那麼順序表利用某些演算法(如二分法)進行查詢,優點是顯而易見的,雖然連結串列也可以構建一些演算法(如利用標記結點進行分塊查詢),但這種演算法絕沒有二分法這麼高效,只能在某些情況下接近二分演算法效率如果你的資料是無序排列,那麼,不管順序表還是連結串列都得從頭檢索(也就是線性查詢),沒有多大區別連結串列的主要優點插入、刪除易操作,代價小,缺點是要呼叫庫函式malloc動態申請記憶體和free釋放申請記憶體,代價高順序表缺點是插入或刪除乙個結點,這後面的結點都要做相應的改變,代價高。優點除了上面所說,還有就是引索快,如我要得到第i個位置的資料,直接用list[i-1]就可以得到,複雜度o(1)(前提是順序表沒有采用任何演算法進行處理過)(而連結串列複雜度則為o(i-1))我們就可以發現,這兩種資料結構正好是互補關係所以你應該根據自己的資料特點選擇是順序表還是連結串列。

2樓:匿名使用者

這麼簡單還用問?序表,其次d.有序線性連結串列不可以是因為連結串列的對結點的操作只能通過p->next的方式,對下標的操作不適合,然而順序儲存的線性表就可以。

順序表的順序查詢和二分查詢?

3樓:智者總要千慮

順序查詢,二分查詢和雜湊查詢演算法,它們各自的特點是:

1.對比順序查詢的特點就是從表的第乙個元素開始乙個乙個向下查詢,如果有和目標一致的元素,查詢成功;如果到最後乙個元素仍沒渣姿有目標元素,則查詢失敗。

2.二分野梁畢查詢的特點就是從表中間開始查詢目標元素。如果找到一致元素,則查詢成功。

如果中間元素比目標元素小,則仍用二分查詢方法查詢表的後半部分(表是遞增排列的),反之頌芹中間元素比目標元素大,則查詢表的前半部分。

3.雜湊演算法的特點是是使用給定資料構造雜湊表,然後在雜湊表上進行查詢的一種演算法。先給定乙個值,然後根據雜湊函式求得雜湊位址,再根據雜湊位址查詢到要找的元素。

是通過資料元素的儲存位址進行查詢的一種演算法。

怎樣用最省錢的方法去追女孩

本人超級討厭到處花錢的女孩,一個花男朋友錢還覺得是天經地義的女孩是不應該的,要花多少,未知數一個為女朋友花錢覺得是天經地義的男孩是很應該的。要花多少,心裡應該有數 男孩子嘛,應該有點大度才是 只有在結婚之後兩人的經濟所得才能算是共同財產。男孩沒有義務一定要為戀愛支付所有費用,其實戀愛是兩個人的事,不...

鼻子上的黑頭怎樣用簡單的方法去掉

去美容院讓專業的老師清,不過平時要注意清潔,黑頭是因為 分泌的油脂過多,所以平時用些控油的洗面奶就行,注意清完黑頭要用毛孔緊縮水 用鼻貼比較方便 不過效果不是太好 用蛋清將棉花沾溼,貼到鼻頭上,等他幹了,再揭下來 蛋清去黑頭 1 準備好清潔的化妝棉,將原本厚厚的化妝棉撕開成為較薄的薄片,越薄越好 2...

怎樣簡單有效的保養面板,怎樣用最簡單的方法保養面板

根據我們多年來的研究與臨床時間積累經驗的總結 作為一般女性出現的護膚美容問題,比如 暗黃 乾燥缺水 斑點 掉皮 毛孔粗大 座瘡 黑頭等一系列症狀表現。其形成的原因主要有五方面 一是生理性疾病所造成,主要來自於內分泌失調 病誘發所致 二是外部環境所致,比如風吹日晒 空氣寒冷乾燥等 三是飲食不當 睡眠不...