C語言學習總結(四) 資料結構

2021-07-24 06:52:15 字數 1079 閱讀 6116

資料元素和資料元素之間的關係,也可稱之為資料的組織形式,包括3方面

邏輯結構:

集合 線性結構 1:1

層次結構(樹形結構)1:n

圖形結構(網狀結構)n:n

儲存結構:

順序儲存:講資料元素按照邏輯上的先後次序儲存到一片連續的記憶體中(一般用陣列實現)

鏈式儲存:講資料元素儲存在記憶體的不同位置(每個資料元素單獨存),利用指標來建立元素之間的聯絡(用指標)

索引儲存

雜湊儲存

運算:增刪改查等

順序表

特點:邏輯結構和儲存結構一致,儲存密度高,但是插入和刪除等運算複雜度較高,且要求系統提供連續的空間進行儲存。

常見:陣列

鍊錶特點:一種物理儲存單元上非連續、非順序的儲存結構,儲存密度低,插入和刪除的時間複雜度低。

定義乙個單鏈表節點(link_list)

typedef int typedate;

typedef struct node

linknode;

此時定義的僅僅只是鍊錶的乙個節點

單鏈表

最常見的鍊錶,有頭有尾。

單迴圈鍊錶

鍊錶的尾端指向鍊錶的頭。

雙迴圈鍊錶

鍊錶節點中有兩個指標,可以雙向尋找。

typedef struct dulnode

dulnode,*dulinklist;

特點:僅允許在表的一端進行插入和刪除運算。這一端被稱為棧頂,相對地,把另一端稱為棧底。

佇列特點:只允許在表的前端(front)進行刪除操作,而在表的後端(rear)進行插入操作。 樹

由n(n>=1)個有限節點組成乙個具有層次關係的集合。把它叫做「樹」是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點:

圖 由有窮、非空點集和邊集合組成,簡寫成g(v,e).

衡量演算法的標準:

C語言學習(十一) 資料結構體學習

include include 結構體關鍵字 struct 1.結構體的定義與使用 2.如何訪問結構體 目標,內部的變數 struct student 自定義型別 結構體右括號後面加 intmain 直接賦值 printf a d n a printf 結構體 socre d name s n st...

資料結構(C語言)學習之路(1) 緒論

小白學習資料結構,從基礎知識開始整理起。1.資料結構是什麼?2.資料結構在 用?3.資料結構怎麼用?小白在開始學習資料結構,提出了這三個問題,希望到學習完成之後可以解決這三個問題。小白從 大話資料結構 這本書開始學習。資料 是描述客觀事物的符號,是計算機中可以操作的物件,是能被計算機識別,並輸入給計...

C語言學習 資料結構(棧的實現)

c語言學習 資料結構 棧的實現 1 棧的簡述 棧是一種資料結構,它可以用來存放數字,一次只能存放乙個數字。一次只能向棧裡加入乙個數字。可以棧裡獲得乙個數字,一次只能獲得乙個數字。棧裡的數字有前後順序,先進入的數字在前,後進入的數字在後。每次從棧裡獲得數字必須是最後放進去的數字。這種使用規則叫後進先出...