考研資料結構筆記 資料結構和演算法的基本概念

2021-09-26 04:26:31 字數 1966 閱讀 7904

資料

資料是對客觀事物的符合表示,在電腦科學中是指所有能輸入到計算機中並且被電腦程式處理的符合的總稱。例如,整數、實數和字串都是資料。

資料元素

資料元素時資料的基本單位,在電腦程式中通常將其作為乙個整體進行考慮或處理。乙個資料元素可以由若干個資料項組成。

資料項

資料項是資料結構中討論的最小單位,是資料記錄中最基本的、不可分的資料單位。

資料物件

資料物件是性質相同的資料元素的集合,是資料的乙個子集。

資料結構

資料結構是指相互之間存在的一種或多種特定關係的資料元素的集合。資料結構包含3方面的內容:邏輯結構、儲存結構和對資料的運算。

資料的邏輯結構

資料的邏輯結構是對資料之間關係的描述,它與資料的儲存結構無關,同一種邏輯結構可以有多種儲存結構。

資料的邏輯結構主要有以下兩類:

線性結構是乙個資料元素的有序集合,主要有以下四個基本特徵:

資料結構中,線性結構是指資料元素之間存在著「一對一」的線性關係的資料結構

與線性結構不同,非線性結構中結點存在著一對多的關係,它又可以細分為樹形結構和圖形結構。

資料的物理結構

也就是儲存結構,是資料的邏輯結構在計算機中的表示(又稱映像)。它包含資料元素的表示和關係的表示。當資料元素時由若干資料項構成的時候,資料項的表示稱為資料域。

資料元素之間的關係在計算機中有兩種不同的表示方法:順序映像和非順序映像。對應兩種不同的儲存結構分別是順序儲存結構和鏈式儲存結構。

在資料結構中有以下四種常用的儲存方法:

演算法

演算法可以理解為由基本運算及規定的運算順序所組成的完整的解題步驟,或者是看成按照要求設計好的有限的確切的計算序列。

演算法的特性

演算法的設計目標

正確性、可讀性、健壯性和演算法效率

程式

程式是演算法用某種程式語言的具體實現。程式可以不滿足演算法的有限性。

演算法複雜度是演算法執行所需要的計算機資源的量,需要時間資源的量稱為時間複雜度,需要的空間資源的量為空間複雜性

影響演算法執行時間的因素

時間複雜度

一般情況下,演算法中基本操作重複執行的次數是問題規模n的某個函式,用t(n)表示,若有某個輔助函式f(n),使得當n趨近於無窮大時,t(n)/f(n)的極限值為不等於零的常數,則稱f(n)是t(n)的同數量級函式,記作t(n)=o(f(n)),它稱為演算法的漸進時間複雜度,簡稱時間複雜度

將演算法中基本操作執行的次數作為演算法時間複雜度的度量。

常用時間複雜度的比較關係:

o(1)<=o(log2(n))<=o(n)<=o(nlog2(n))<=o(n2)<=o(n3)<=···<=o(nk)<=o(2n)

求解演算法時間複雜度的步驟

演算法的空間複雜度

演算法的空間複雜度指演算法在執行時所需儲存空間的度量,主要考慮在演算法執行過程中臨時占用的儲存空間的大小。

資料結構考研筆記 資料型別

資料型別 1 結構型 結構體是系統提供給程式設計師製作新的資料型別的一種機制。eg 製作乙個由不同型別的變數組成的陣列 typedef struct typea typea a 定義了乙個陣列,a.a a.b a.c分別對應於結構體變數a的第一第二第三個元素的值 typea a 3 定義了乙個二維陣...

筆記 資料結構

解釋經典例題 計算給定多項式在給定點x處的值。f x a0 a1 x a n 1 x n 1 a n x n 方法一 double num int n,double array,double x 改進方法 double num int n,double array,double x clock 捕捉...

演算法筆記 資料結構 堆

堆是一棵完全二叉樹,樹中每個結點的值都不小於 或者不大於 其左右孩子結點的值 對於給定初始序列,如何建堆?給定陣列 85,55,82,57,68,92,99,98,66,56 建堆過程如下 利用陣列來儲存完全二叉樹,這樣結點就按層序儲存與陣列中,其中第乙個結點將儲存於陣列的1號位,並且陣列i號位表示...