資料結構與演算法(C語言)之開頭篇

2021-06-29 07:47:06 字數 1262 閱讀 8964

1.什麼是資料結構

資料結構是

計算機儲存、組織

資料的方式。資料結構是指相互之間存在一種或多種特定關係的

資料元素

的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存

效率。資料結構往往同高效的檢索演算法和

索引技術有關

2.資料結構的分類

資料結構分為邏輯結構和物理結構。

邏輯結構:資料物件中資料元素之間的相互關係。

邏輯結構包括:集合結構、線性結構、樹形結構、圖形結構

物理結構:資料的邏輯結構在計算機中的儲存形式。

資料元素的儲存結構形式:順序儲存和鏈式儲存

順序儲存結構:把資料元素存放在位址連續的儲存單元裡,其資料間的邏輯和物理關係是一致的。

鏈式儲存結構:把資料元素存放在任意的儲存單元裡,這組儲存單元可以是連續的,也可以是非連續的。

鏈式儲存結構中有乙個儲存下一元素位址的指標。

.什麼是演算法

演算法是解決特定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。

3.演算法的五個基本特徵:

輸入、輸出、有窮性、確定性和可行性

4.演算法設計的要求

正確性、可讀性、健壯性、時間效率高和儲存量低

5.演算法的度量方法

事後統計方法

事前分析估算方法

函式漸進增長:給定兩個函式f(n)和g(n),如果存在乙個整數n,使得對於所有的n>n,f (n)總是比g(n)大,那麼,我們說f(n)的整張漸進快於g(n).

推導大o階:

用常數1取代執行時間中的所有假髮常數

在修改後的執行次數函式中,只保留最高端項

如果最高項存在且不是1,則去除與這個項相乘的常數

執行所耗時間取決於:演算法採用的策略,編譯產生的**質量,問題的輸入規模,機器執行指令的速度

演算法的時間複雜度(在進行演算法分析時,語句總的執行次數t(n)是關於問題規模n的函式進而分析t(n)隨n的變化情況並確定t(n)的數量級)和

空間複雜度

演算法空間複雜度的計算公式記作:s(n)=o(f(n)),其中,n為問題的規模,f(n)為語句關於n所佔儲存空間的函式。

時間複雜度來之執行時間的需求,使用空間複雜度指空間需求

資料結構與演算法 基於c語言篇

學習資料結構與演算法走向深藍之路 第一章 資料結構與演算法概念型 資料結構 資料之間的相互關係,即是資料的組織形式.基本組成 其結構形式有四種 1,集合結構 2,線性結構.3,樹形結構 4,圖形結構 在計算機中的儲存有量中形式 順序儲存 陣列形式 和非順序儲存 鏈式儲存結構 1.1抽象資料型別 指的...

資料結構 C語言 之樹

所謂二叉樹就是只具有0,1,2三種度的一顆樹 前序遍歷首先訪問根結點然後遍歷左子樹,最後遍歷右子樹。在遍歷左 右子樹時,仍然先訪問根結點,然後遍歷左子樹,最後遍歷右子樹。若二叉樹為空則結束返回,否則 1 訪問根結點。2 前序遍歷左子樹。3 前序遍歷右子樹 需要注意的是 遍歷左右子樹時仍然採用前序遍歷...

C語言之常用資料結構

目錄 一 順序表 二 單鏈表 三 雙向鍊錶 三 順序棧 四 迴圈佇列 五 二叉樹 順序表是線性表的順序儲存,通過一組位址連續的儲存單元依次儲存線性表中的資料元素,從而使得邏輯上相鄰的兩個元素在物理位置上也相鄰。假定線性表的元素型別為elemtype,則線性表的順序儲存型別描述為 靜態分配 defin...