資料結構學習體會(1)

來源:互聯網
上載者:User

 

                                           2009-12-05       16:20:20

        資料的儲存結構有資料存放區和鏈式儲存。

    首先,對於線性表,順序儲存有定長數組和堆記憶體的數組。獲得順序表的具體位置的元素及表的長度比較直接,但插入刪除等操作需要移動大量的元素,時間複雜度較大。

    對於鏈表,運用了指標,可使資料的插入和刪除操作更方便,但是對於獲得線性表的長度並不是直接的。

    結合順序表和鏈表的優點,靜態鏈表既可以直接獲得特定位置上的元素,也可以通過指標再不移動大量元素的前提下實現線性表的一些操作。

     在順序儲存和鏈式儲存的基礎上,之後的棧、隊列,及串的儲存結構都在這兩種結構之上進行擴充。

     比較之下,棧的順序儲存要比鏈式儲存更實用。因為結合棧的特性,資料的儲存和刪除都是在最後一個元素上進行,使用鏈式儲存意義不大,而採用順序儲存(定長數組和堆記憶體),在操作方面更方便,另設一個指向站定元素指標,方便進行棧的相關操作。當然也可以在結構體struct中加一棧長度的成員(如有需要的話,例如涉及棧的長度時判斷插入、刪除未知是否合理,在定長數組儲存時,是否允許插入等),這樣不必用strlen求串長。

     還有串的三種儲存結構:定長數組,堆記憶體,和塊鏈儲存。但相比較,塊鏈儲存操作起來最複雜,一般不採取,而定長數組順序儲存容易出現截斷現象,解決這個問題需要為數組增加儲存空間,因此堆記憶體的儲存結構更合理。

     根據隊列的特性,隊列的儲存結構採用鏈式儲存更適宜。

另設一對頭指標和對為指標。

     總之,各種儲存結構是相互關聯的。棧和隊列可以說是特殊的順序表或鏈表。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.