一篇文章帶你入門Java數(shù)據(jù)結構
1、邏輯結構和物理結構
邏輯結構:
集合: 數(shù)據(jù)與數(shù)據(jù)之間沒有任何關系
線性: 一對一關系
樹型: 一對多關系
圖型: 多對多關系
物理結構:
順序結構(數(shù)組):
鏈式結構(鏈表):
2、順序結構,鏈式結構,棧,隊列,二叉樹
順序結構:
可擴容數(shù)組,底層用數(shù)組實現(xiàn),順序排列,標號連續(xù),內存空間連續(xù)
優(yōu)缺點:
查詢速度快,在中間頻繁的增刪操作慢,碎片內存空間利用不到
鏈式結構:
底層用節(jié)點(Object date 和 前后節(jié)點或者下一個結點的引用)
內存順序連續(xù),但是在物理存儲空間不連續(xù)
優(yōu)缺點:
頻繁的增刪操作速度快,查詢速度慢,綜合起來沒有ArrayList好,空間利用率好,可以利用到物理內存中的碎片空間
棧:
可以用數(shù)組或者鏈表實現(xiàn),先進后出原則
方法:
push()壓棧 和 pop()彈棧
隊列:
可以用數(shù)組或者鏈表實現(xiàn),先進先出原則
二叉樹
普通二叉樹:

滿二叉樹:

完全二叉樹:
k - 1 層是滿二叉樹,k 層從左到右是連續(xù)的

平衡二叉樹:
左右子樹高度相差不超過1

排序二叉樹:
左子樹的值都小于根,右子樹的值都大于等于根
二叉樹的遍歷:
先序遍歷 - 根左右
中序遍歷 - 左根右
后序遍歷 - 左右根
總結
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
Java中的CopyOnWriteArrayList原理詳解
這篇文章主要介紹了Java中的CopyOnWriteArrayList原理詳解,如源碼所示,CopyOnWriteArrayList和ArrayList一樣,都在內部維護了一個數(shù)組,操作CopyOnWriteArrayList其實就是在操作內部的數(shù)組,需要的朋友可以參考下2023-12-12
SpringBoot中打印SQL語句的幾種方法實現(xiàn)
本文主要介紹了SpringBoot中打印SQL語句的幾種方法實現(xiàn),,通過打印SQL語句可以幫助開發(fā)人員快速了解數(shù)據(jù)庫的操作情況,進而進行性能分析和調試,感興趣的可以了解一下2023-11-11
Springboot集成minio實現(xiàn)文件存儲的實現(xiàn)代碼
MinIO?是一款基于Go語言的高性能對象存儲服務,本文主要介紹了Springboot集成minio實現(xiàn)文件存儲的實現(xiàn)代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
JVM堆內存溢出后,其他線程是否可繼續(xù)工作的問題解析
這篇文章主要介紹了JVM 堆內存溢出后,其他線程是否可繼續(xù)工作?,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08

