常見的線性列表結構---【陣列、連結串列、棧、佇列、堆】

Toplifeww發表於2015-01-22


        我們在演算法設計當中最常見的線性結構列表無非是一下幾種:

        1.陣列:

                  陣列應該是我最常用的一種。他的儲存地址是連續的,就是當我們新開闢一個陣列時,我們會給他分配一個連續的地址。由於他的地址是連續的,所以在我們知道他下標的時候,查詢元素的速度非常快。

         2.連結串列:

                   連結串列中的元素的位置不固定,連結串列中的每一個結點都一個頭指標與尾指標,通過這樣把連結串列中的元素連線起來,所以查詢一個元素的時間與該元素所處的位置有關係。但是他在空間上面佔有優勢。

          3.棧:

                   棧中的元素有一個特點,就是保持“ 先進先出”的原則。我們可以用一摞碟子做比喻,我們每次在加入新的碟子和拿走碟子的時候都在頂部做操作,他的應用也很廣泛。

          4.佇列:

                   佇列中,我們對元素的操作分別在隊頭與隊尾。元素的插入在隊尾,元素的刪除在隊頭。在圖的問題上面運用比較多。

          5.堆:

                   堆是解決二叉樹的一種常用的結構,是優先佇列的一種優化結構。



           這些都是非常基礎又是非常重要的知識點,所以無論如何你必須要掌握。其餘的廢話就不多說了,後面我會針對每一種結構做一個詳細的分享,希望大家多多支援,共同學習共同進步。

相關文章