一篇文章帶你入門Java數據結構
1、邏輯結構和物理結構
邏輯結構:
集合: 數據與數據之間沒有任何關系
線性: 一對一關系
樹型: 一對多關系
圖型: 多對多關系
物理結構:
順序結構(數組):
鏈式結構(鏈表):
2、順序結構,鏈式結構,棧,隊列,二叉樹
順序結構:
可擴容數組,底層用數組實現,順序排列,標號連續,內存空間連續
優缺點:
查詢速度快,在中間頻繁的增刪操作慢,碎片內存空間利用不到
鏈式結構:
底層用節點(Object date 和 前後節點或者下一個結點的引用)
內存順序連續,但是在物理存儲空間不連續
優缺點:
頻繁的增刪操作速度快,查詢速度慢,綜合起來沒有ArrayList好,空間利用率好,可以利用到物理內存中的碎片空間
棧:
可以用數組或者鏈表實現,先進後出原則
方法:
push()壓棧 和 pop()彈棧
隊列:
可以用數組或者鏈表實現,先進先出原則
二叉樹
普通二叉樹:
滿二叉樹:
完全二叉樹:
k – 1 層是滿二叉樹,k 層從左到右是連續的
平衡二叉樹:
左右子樹高度相差不超過1
排序二叉樹:
左子樹的值都小於根,右子樹的值都大於等於根
二叉樹的遍歷:
先序遍歷 – 根左右
中序遍歷 – 左根右
後序遍歷 – 左右根
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!