『嗨威說』數據結構 - 第二章學習內容小結

 

 本文內容:html

  1. 本章內容的小結
  2. 完成做業或實踐時解決困難的經驗分享
  3. 參考資料、說明推薦理由及列出相關連接(或書目名稱,具體頁碼)
  4. 目前學習過程當中存在的困難,待解決或待改進的問題
  5. 接下來的目標

 

1、本章內容小結:

  (1)順序表

    順序表通常表現爲數組,使用一組地址連續的存儲單元依次存儲數據元素算法

    (1)長度固定,必須在分配內存以前肯定數組的長度,固然你可使用vector容器來實現動態存儲。數組

    (2)存儲空間連續,即容許元素的隨機訪問。學習

    (3)存儲密度大,內存中存儲的所有是數據元素。spa

    (4)要訪問特定元素,可使用索引訪問,時間複雜度爲O(1).設計

    (5)要想在順序表中插入或刪除一個元素,都涉及到以後全部元素的移動,所以時間複雜度爲O(n).指針

    註解:每次擴容的時候,都須要將舊的數據所有複製一份,會影響效率。不過實際上使用順序表比鏈表的效率高htm

  (2)鏈表

    表中的每一個節點都保存有指向下一個節點的指針,全部節點串成一條鏈。根據指針的不一樣,還有單鏈表、雙鏈表和循環鏈表的區分。blog

wKiom1bvqaegxZKAAAAY4Ot5Ges352.png

    單鏈表是隻包含指向下一個節點的指針,只能單向遍歷。索引

    雙鏈表即包含指向下一個節點的指針,也包含指向前一個節點的指針,所以能夠雙向遍歷。

    因爲鏈表是使用指針將節點連起來,所以無需使用連續的空間,它具備如下特色:

    (1)長度不固定,能夠任意增刪。

    (2)存儲空間不連續,數據元素之間使用指針相連,每一個數據元素只能訪問周圍的一個元素(根據單鏈表仍是雙鏈表有所不一樣)。

    (3)存儲密度小,由於每一個數據元素,都須要額外存儲一個指向下一元素的指針(雙鏈表則須要兩個指針)。

    (4)要訪問特定元素,只能從鏈表頭開始,遍歷到該元素,時間複雜度爲O(n) 。

    (5)在特定的數據元素以後插入或刪除元素,不涉及到其餘元素的移動,所以時間複雜度爲O(1)。

    (6)雙鏈表還容許在特定的數據元素以前插入或刪除元素。

    註解:鏈表的耗時大約是順序表的 4倍左右。由於數組只須要不多的幾回大塊內存分配,而鏈表則須要不少次小塊內存分配,內存分配操做相對是比較慢的,於是大大拖慢了鏈表的速度。這也是爲何會出現內存池。

 

 

2、完成做業或實踐時解決困難的經驗分享

   推薦在博客園上關注一些技術大牛博主,遊覽他們的博文進行自學提高自我價值,多多百度或谷歌,能夠在公衆號上關注一些不錯的技術分享者。

 

 

3、參考資料、說明推薦理由及列出相關連接(或書目名稱,具體頁碼):

  推薦大佬博客:

    https://www.cnblogs.com/Roni-i/

    https://www.cnblogs.com/AlvinZH/category/993446.html

 

 

4、目前學習過程當中存在的困難,待解決或待改進的問題

  擔任多重職位、多個社團、多個兼職,在平衡本身的課外時間和學習時間上存在問題,須要不斷調整自我發展狀況,退出一些已對本身無提高價值的社團。

  關於課內的困難:這個學期的課本上的代碼又不少都是僞代碼,但願老師可以拿一種具體語言來操做加深咱們對概念的理解。

 

5、接下來的目標:

  (1)準備三月底的程序設計天梯賽,學習各種算法

  (2)初步入門天然語言模型創建,幫助樹蛙項目組完成數據流、模型的搭建。

  (3)深刻學習後期特效技術

相關文章
相關標籤/搜索