資料結構筆記

2021-09-12 12:14:36 字數 2256 閱讀 3109

線性表

線性表順序儲存結構:

線性表順序儲存結構的定義:

線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。

線性表順序儲存結構的優缺點:

線性表的順序儲存結構,在存,讀資料時,不管是哪個位置,時間複雜度都是o(1);而在插入或刪除時,時間複雜度都是o(n)。

這就說明它比較適合元素個數比較穩定,不經常插入和刪除元素,而更多的操作是訪問資料的應用。

優點:無須為表示表中元素之間的邏輯關係而增加額外的儲存空間。

可以快速地訪問表中任意位置的元素。

缺點:插入和刪除操作需要移動大量元素,耗費時間。

當線性表長度變化較大時,難以確定儲存空間的容量。

容易造成儲存空間的「碎片」,因為申請的時候是一大塊一大塊的導致小的空間被浪費。

為什麼當插入和刪除時,就要移動大量的元素?

原因就在於相鄰兩元素的儲存位置也具有鄰居關係,它們在記憶體中的位置是緊挨著的,中間沒有間隙,當然就無法快速插入和刪除。

線性表鏈式儲存結構:

線性表鏈式儲存結構的定義:

線性表的鏈式儲存結構的特點是用一組任意的儲存單元儲存線性表的資料元素,這組儲存單元可以存在記憶體中未被占用的任意位置。

比起順序儲存結構每個資料元素只需要儲存乙個位置就可以了,現在鏈式儲存結構中,除了要儲存資料元素資訊外,還要儲存它的後繼元素的儲存位址(指標)。

也就是說除了儲存其本身的資訊外,還需儲存乙個指示其直接後繼的儲存位置的資訊。

我們把儲存資料元素資訊的域稱為資料域,把儲存直接後繼位置的域稱為指標域。指標域中儲存的資訊稱為指標或鏈。這兩部分資訊組成資料元素稱為儲存映像,稱為節點(node)。

n個節點鏈結成乙個鍊錶,即為線性表(a1,a2,a3,...,an)的鏈式儲存結構。

因為此鍊錶的每個節點中只包含乙個指標域,所以叫做單鏈表。

乙份試卷:

資料結構中,與所使用的計算機無關的是資料的邏輯結構。

下屬各類表中可以隨機訪問的是順序表。

在乙個長度為n的順序表中為了刪除第5個元素,從前到後依次移動了15個元素。則原順序表的長度為20。

元素2,4,6按順序依次進棧,則該棧的不可能的輸出序列是6,2,4。

串函式strcmp(「d」,「d」)的值為-1。

在乙個單鏈表中,p、q分別指向表中兩個相鄰的結點,且q所指結點是p所指結點的直接後繼,現要刪除q所指結點,可用語句p->next = q->next;

設一顆哈夫曼樹共有n個非葉結點,則該樹一共有2*n+1個結點。

對如圖所示二叉樹進行中序遍歷,結果是dfebagc

任何乙個無向連通圖的最小生成樹至少有一棵

一組記錄的關鍵字序列為(37,70,47,29,31,85),利用快速排序,以第乙個關鍵字為分割元素,經過一次劃分後結果為32,29,37,47,70,85。

對n個元素進行氣泡排序,要求按公升序排列,程式中設定某一趟冒泡沒有出現元素交換,就結束排序過程。對某n個元素的排序共進行了3n-6次元素間的比較就完成了排序,則(對序列只進行了3趟冒泡)

在乙個棧頂指標為top的鏈棧中刪除乙個節點時,用x儲存被刪除的結點,應執行(x=top->data;top=top->next;)

串函式strcat(a,b)的功能是進行串連線

在乙個單向鍊錶中p所指節點之後插入乙個s所指的新結點,應執行s->next=p->next;和p->next=s;。

根據資料元素間關係的不同特性,通常可分為集合、線性、樹形、圖狀四類基本結構。

在乙個鏈隊中,設f和r分別為隊頭和隊尾指標,則刪除乙個結點的操作為f=f->next;

如圖所示的二叉樹,其中序遍歷序列為dgbaechif

對稀疏矩陣進行壓縮儲存,矩陣中每個非零元素所對應的三元組包括該元素的行號、列號、元素值。

圖的深度優先搜尋和廣度優先搜尋序列不是唯一的,此斷言是正確的。

雜湊法既是一種儲存方法,又是一種查詢方法。

棧和佇列的操作特點分別是先進後出和先進先出。

資料結構筆記

程式效率與組織方式有關 圖書館擺書 二分查詢 程式效率與操作有關 迴圈和遞迴 遞迴雖簡單不過耗費大量空間 程式效率與演算法有關 多項式求和 秦九韶要比普通演算法快乙個數量級 測試兩種演算法的 include include include define max 101 define maxl 1e7...

資料結構筆記

一 鄰接矩陣 鄰接矩陣儲存使用2個陣列儲存圖的資訊 1個以為陣列儲存頂點,乙個二維陣列儲存邊的資訊 1 二維陣列中的對角線為0,以為不存在頂點到自身的邊 2 要知道某個點的出度,就是頂點vi在第i行的元素之和,入度就是該頂點所在列的元素之和 3 頂點vi的所有鄰接點就是吧矩陣中第i行元素掃瞄一遍 4...

資料結構筆記

二叉樹的遍歷操作 二叉樹的遍歷是指從根結點出發,按照某種次序 訪問二叉樹中的所有結點,使得每個結點被訪問一 次且僅被訪問一次。抽象操作,可以是對結點進行的各種 處理,這裡簡化為輸出結點的資料。前序遍歷 中序遍歷 後序遍歷 層序遍歷 查詢的基本概念 靜態查詢適用於 查詢集合一經生成,便只對其進行 查詢...