一篇文章帶你入門Java數據結構

1、邏輯結構和物理結構

邏輯結構:                                                                                                                   

集合: 數據與數據之間沒有任何關系

線性: 一對一關系

樹型: 一對多關系

圖型: 多對多關系                                                                                                               

物理結構:

順序結構(數組):                                                                                                             

鏈式結構(鏈表):

2、順序結構,鏈式結構,棧,隊列,二叉樹

順序結構:

可擴容數組,底層用數組實現,順序排列,標號連續,內存空間連續                 

優缺點:

查詢速度快,在中間頻繁的增刪操作慢,碎片內存空間利用不到

鏈式結構:

底層用節點(Object date 和 前後節點或者下一個結點的引用)                         

內存順序連續,但是在物理存儲空間不連續                                                              

優缺點:

頻繁的增刪操作速度快,查詢速度慢,綜合起來沒有ArrayList好,空間利用率好,可以利用到物理內存中的碎片空間

棧:

可以用數組或者鏈表實現,先進後出原則                                                                       

方法:

push()壓棧 和 pop()彈棧

隊列:

可以用數組或者鏈表實現,先進先出原則

二叉樹

普通二叉樹:

滿二叉樹:

完全二叉樹:

k – 1 層是滿二叉樹,k 層從左到右是連續的

平衡二叉樹:

左右子樹高度相差不超過1

排序二叉樹:

左子樹的值都小於根,右子樹的值都大於等於根

二叉樹的遍歷:

先序遍歷 – 根左右

中序遍歷 – 左根右

後序遍歷 – 左右根

總結

本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!           

推薦閱讀: