基本資料結構整理

2021-09-26 09:12:52 字數 1230 閱讀 7662

基本資料結構

基本定**釋

資料結構

資料結構分為線性結構和非線性結構,其中線性表是典型的線性結構。

儲存結構

對計算機資料儲存的結構描述,一般分為線性結構和非線性結構。

訪問結構

在乙個資料結構上對查詢操作的時間效能的一種描述,一般有隨機儲存結構和順序儲存結構。

隨機儲存結構

乙個資料結構上進行查詢的效能為o(1),即查詢任意元素的時間複雜度為1。(如順序表等)

順序儲存結構

乙個資料結構上進行查詢的時間效能為o(n)。(如單鏈表等)

鍊錶煉表是乙個動態結構,不需要提前分配記憶體。

線性表線性表是乙個靜態的結構,需要提前分配對應的儲存空間,分配之後就不能修改,從邏輯上定義元素是一對一關係。

順序表順序表是使用陣列的方式對線性表的實現,在記憶體中是連續的空間,一旦分配,無法更改。

鍊錶煉表是使用指標的方式實現線性表,在記憶體中可以連續也可以不連續。

鍊錶節點構成

指標域(用於存放指標l->next在左邊時為指標域)、資料域(用於存放資料的)。

鍊錶指標

對應資料的指標位址( l->next在右邊時為指標)。

鍊錶指標域

存放對應指標的區域。

線性表和鍊錶的選擇

首相考慮資料的儲存密度線性線性表為1,鍊錶小於1,順序表的訪問速度快,鍊錶的儲存刪除速度快。

線性表和鍊錶的重點知識

初始化、查詢、插入、刪除、遍歷、逆置、合併、分解等操作。

雙鏈表刪除p指標操作順序

p->next->prev=p->prev;p->prev->next=p->next;free(p);

在非空 雙鏈表q後插入節點p

rlink(p)<-rlink(q);rlink(q)<-p;llink(p)<-q;llink(rlink(p))<-p;其中rlink(p):p的後繼;llink(p):p的前驅。

棧線性表的一種,但是其運算受限。只能在棧頂插入或者刪除元素。並且有著先進後出的特點。

佇列線性表的一種,但其運算受限,只能在隊頭刪除元素,隊尾插入元素。並且有著先進先出的特點。

樹資料結構的一種,非線性結構。樹是由乙個集合以及在該集合上定義的一種關係構成的。集合中的元素稱為樹的結點,所定義的關係稱為父子關係。父子關係在樹的結點之間建立了乙個層次結構。在這種層次結構中有乙個結點具有特殊的地位,這個結點稱為該樹的根結點,或稱為樹根。

二叉樹樹的一種特殊結構,每個節點最多隻包含兩個兒子節點。

opencv基本資料結構

iplimage 首先介紹重要的成員變數 width和height表示了的尺寸。其次是depth和nchannels,depth是指畫素顏色的取值範圍,nchnannels為影象的通道,可以取1,2,3,4 origin變數定義了影象的原點,有兩個取值,分別是ipl origin bl和ipl or...

Python 基本資料結構

列表是python裡的內建的型別之一,可以新增和刪除其中的元素。如 role sam 33 dean 37 可以列表中包含列表,同一列表中包含不同型別的資料。下面介紹列表的一些通用操作,關於list的其他用法,可以通過help list 檢視。a 2,13,12,41,17,23 a 1 列表從0開...

基本資料結構定義

定義 棧是一種只能在一端進行插入或刪除操作的線性表。表中允許進行插入 刪除操作的一端稱為棧頂。棧頂的當前位置是動態的,棧頂的當前位置由乙個稱為棧頂指標的位置指示器指示。表的另一端稱為棧底。當棧中沒有資料元素時,稱為空棧。棧的插入操作通常稱為進棧或入棧,棧的刪除操作通常稱為退棧或出棧。特點 後進先出 ...