Java的資料結構原理

2021-08-15 10:16:25 字數 920 閱讀 3309

1. 線性表

一種邏輯結構,相同資料型別的n個資料元素的有限序列,除第乙個元素外,每個元素有且僅有乙個直接前驅,

除最後乙個元素外,每個元素有且僅有乙個直接後繼。(1

)元素個數有限   (

2)邏輯上元素有先後次序 (

3)資料型別相同   (

4)僅討論元素間的邏輯關係

2.佇列

佇列是一種操作受限的線性表

, 只允許在表的一端進行插入

, 而在表的另一端進行刪除

.其特點為」

先進先出

(fifo)」,

故又稱為先進先出的線性表

3. 棧

棧是一種只允許在一端進行插入或刪除操作的

線性表。其

特點為:

先進後出

(filo)/

後進先出

(lifo);

4. 單鏈表

鍊錶是一種物理儲存單元上

非連續、非順序的儲存結構

,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。

5. 迴圈鍊錶

迴圈鍊錶

:最後乙個結點的指標域的指標又指回第乙個結點的鍊錶;

6. 鏈式棧

7. 鏈式佇列

8. 樹和二叉樹

樹狀圖是一種資料結構,它是由n(

n>=1

)個有限節點組成乙個具有層次關係的集合。

二叉樹或

為空樹,或是由乙個根結點加上兩棵分別稱為左子樹和右子樹的、互不交的二叉樹組成。

9. 雜湊表

雜湊表(

hash table

,也叫雜湊表),是根據關鍵碼值

(key value)

而直接進行訪問的資料結構。

由於以前接觸過python,c語言,有很多相似之處,所以這些東西很快就能理解。

Java資料結構

arraylist 基於 array,在記憶體中占有連續空間,所以get index 時候,根據陣列首位址 偏移量就可以取到值 linklist 基於link,在記憶體中不連續,每個元素只知道下乙個元素,所以get時候,只能從首元素開始乙個乙個去找,效率相對較慢 增加刪除 arraylist 需要變...

java 資料結構

private void initmap log.d tag,map.tostring log.d tag,weakmap.tostring log.d tag,treemap.tostring log.d tag,hamap.tostring log.d tag,linkmap.tostring ...

java資料結構 佇列

1.用鍊錶實現單向佇列 package com.jzm.stackqueuetree public class linkqueue end constructor private class node end constructor private t getdata private node ge...