Java建立部分資料結構

2021-08-08 03:26:48 字數 1229 閱讀 6371

資料結構:

①陣列 (array)

在程式設計中,為了處理方便, 把具有相同型別的若干變數按有序的形式組織起來。這些按序排列的同類數

據元素的集合稱為陣列。在c語言中, 陣列屬於構造資料型別。乙個陣列可以分解為多個陣列元素,這些陣列

元素可以是基本資料型別或是構造型別。因此按陣列元素的型別不同,陣列又可分為數值陣列、字元陣列、指

針陣列、結構陣列等各種類別。

②棧 (stack)

棧是只能在某一端插入和刪除的特殊線性表。它按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後

的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後乙個資料被第乙個讀出來)。

③佇列 (queue)

一種特殊的線性表,它只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。進行

插入操作的端稱為隊尾,進行刪除操作的端稱為隊頭。佇列中沒有元素時,稱為空佇列。

④鍊錶 (linked list)

一種物理儲存單元上非連續、非順序的儲存結構,資料元素的邏輯順序是通過鍊錶中的指標鏈結次序實現的。

鍊錶由一系列結點(鍊錶中每乙個元素稱為結點)組成,結點可以在執行時動態生成。每個結點包括兩個部分:

乙個是儲存資料元素的資料域,另乙個是儲存下乙個結點位址的指標域。

⑤樹 (tree)

樹是包含n(n>0)個結點的有窮集合k,且在k中定義了乙個關係n,n滿足 以下條件:

(1)有且僅有乙個結點 k0,他對於關係n來說沒有前驅,稱k0為樹的根結點。簡稱為根(root)

(2)除k0外,k中的每個結點,對於關係n來說有且僅有乙個前驅。

(3)k中各結點,對關係n來說可以有m個後繼(m>=0)。

⑥堆 (heap)

在電腦科學中,堆是一種特殊的樹形資料結構,每個結點都有乙個值。通常我們所說的堆的資料結構,是指

二叉堆。堆的特點是根結點的值最小(或最大),且根結點的兩個子樹也是乙個堆。

⑦圖 (graph)

圖是由結點的有窮集合v和邊的集合e組成。其中,為了與樹形結構加以區別,在圖結構中常常將結點稱為頂點,

邊是頂點的有序偶對,若兩個頂點之間存在一條邊,就表示這兩個頂點具有相鄰關係。

⑧雜湊表 (hash)

若結構中存在關鍵字和k相等的記錄,則必定在f(k)的儲存位置上。由此,不需比較便可直接取得所查記錄。稱

這個對應關係f為雜湊函式(hash function),按這個思想建立的表為雜湊表。

AS2實現部分資料結構

url 介紹 資料結構部分實現 as2描述 這裡是部分資料結構的實現,二分堆,紅黑樹,splay樹,圖,set,collection 還有很多未完成.之後有時間的話繼續完成其他資料結構實現,並實現一些經典演算法.比如回溯,動態規劃,貪心演算法,分治策略 作為對資料結構和演算法的複習.是一本非常非常好...

演算法與資料結構 資料結構部分

1.資料結構基本概念 資料結構的基本概念 資料 資料元素 資料結構 資料的邏輯結構 物理結構 演算法等。資料 是對資訊的一種符號表示,是所有能輸入到計算機中並被電腦程式處理的符號的總稱 資料元素 是資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理。有時稱為 元素,節點,頂點,記錄等 資料結...

Java資料結構

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