1. 程式人生 > >第一階段:Java內功秘籍-線性表

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

fcc 一個數 標題 單向循環鏈表 但是 auto 指向 alt 什麽

技術分享圖片

前言

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

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

數據結構是數據之間相互存在的一種或多種特定的關系,數據之間的關系。數據結構的關系,要麽一對一,或者一對多。

er圖,實體關聯圖。數據與數據之間的關系,分:

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

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

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

還有兩個存儲結構:

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

技術分享圖片

技術分享圖片

抽象數據類型

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

線性表

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

技術分享圖片

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

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

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

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

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

鏈式和順序存儲優缺點

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

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

技術分享圖片

循環鏈表

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

循環鏈表中的任何一個結點出發,它都能夠找到其他結點,循環鏈表的操作單鏈表的操作是一樣的,差別就在於算法中的循環條件不同而已。

雙向循環鏈表也叫雙鏈表,是單向循環鏈表的每個結點中,再設置一個指向其前驅結點的指針域,雙向鏈表是鏈表的一種。

結語

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

技術分享圖片

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