第一階段:Java內功祕籍-線性表

達叔小生發表於2018-08-07

標題圖

前言

為什麼要學習資料結構與演算法,如果你學會了做安卓,javaweb,前端等,都是你的武功祕籍,但是如果你的內功不夠好,再厲害的功夫也是白費。

資料結構和演算法:什麼是資料結構,什麼是資料,在計算機內部資料為01010101。。。,資料是我們生活中一切的事務都可以表示為資料,如你和你朋友聊天的話都是資料,朋友圈的發表內容也是內容。

資料結構是資料之間相互存在的一種或多種特定的關係,資料之間的關係。資料結構的關係,要麼一對一,或者一對多。

er圖,實體關聯圖。資料與資料之間的關係,分:

  • 圖形結構
  • 樹形結構
  • 線性結構
  • 集合結構

邏輯結構.png

圖形結構

樹形結構

線性結構

集合結構

以上圖形的圓不代表相同的元素,都是不同的小圈圈哦~

還有兩個儲存結構:

順序儲存結構和鏈式儲存結構

順序儲存結構

鏈式儲存結構

抽象資料型別

那麼什麼是抽象資料型別,是一個數字模型以及定義在該模型上的一組操作,資料型別是將相同的一組性質的集合,和定義在此集合上的操作。

線性表

線性表,線性結構,表結構。

線性表

線性表有兩種不同的儲存方式

順序儲存方式線性表儲存位置連續,方便查詢各個元素。優點在查詢的時候效率比較高的,但在插入和刪除的時候效率比較低。

鏈式儲存方式線性表,對於連結串列儲存的單元是可以連續的,也可以不連續,在鏈式中儲存包含datanext->data

P p1=new P();
p1.data = "data";
P p2=new P();
p1.data = p2;

對於鏈式儲存結構,優點是插入和刪除效率高,而查詢效率低。

鏈式和順序儲存優缺點

順序儲存方式線性表優點在查詢的時候效率比較高的,但在插入和刪除的時候效率比較低。

對於鏈式儲存結構,優點是插入和刪除效率高,而查詢效率低。

比較

迴圈連結串列

迴圈連結串列為一種鏈式儲存結構,它的最後一個結點指向頭結點,形成一個環,這種頭尾相連的單連結串列稱為單迴圈連結串列,簡稱迴圈連結串列

迴圈連結串列中的任何一個結點出發,它都能夠找到其他結點,迴圈連結串列的操作單連結串列的操作是一樣的,差別就在於演算法中的迴圈條件不同而已。

雙向迴圈連結串列也叫雙連結串列,是單向迴圈連結串列的每個結點中,再設定一個指向其前驅結點的指標域,雙向連結串列是連結串列的一種。

結語

  • 本文主要講解 Java內功祕籍-線性表
  • 下面我將繼續對Java、 Android中的其他知識 深入講解 ,有興趣可以繼續關注

送❤

相關文章