資料結構 嚴蔚敏版 緒論

2021-08-15 05:57:13 字數 1716 閱讀 3314

資料:所有能被輸入到計算機中,且能被計算機處理的符號的集合。

資料元素:資料中的乙個"個體",資料結構中討論的基本單位。

資料結構:帶結構的資料元素的集合。

資料的邏輯結構可以分為:

1.集合結構(資料元素關係:結構之間的元素同屬於乙個集合體)

2.線性結構(資料元素關係:結構之間的元素存在一對一的關係)

3.樹形結構(資料元素關係:結構之間的元素存在一對多的關係)

4.圖狀結構(資料元素關係:結構之間的元素存在多對多的關係)

資料的儲存結構:資料結構在儲存結構中的映像

兩種關係映像:順序映像與非順序映像

順序映像:借助元素在儲存器的相對位置來表示資料元素之間的邏輯關係。

非順序映像(鏈式映像):借助元素儲存位址的指標表示資料元素之間的邏輯關係。

資料型別:是乙個值的集合與定義在這個值集上的一組操作型別的總稱。

抽象資料型別:是乙個資料模型以及定義在此資料模型上的一組操作(兩個特徵)

資料抽象:用抽象資料型別描述現實世界實體時,強調的是它本質的特徵、其所能完成的功能以及它和外部的介面

資料封裝:將實體的外部特性和內部實現細節分離,並且對外部使用者隱藏其內部實現的細節

演算法:演算法是為了解決某類問題而規定的乙個有限長的操作序列,且需要滿足5個特徵

①.有窮性(兩點。一.對於任意演算法,執行步驟必須是有限的;二.對於每乙個步驟必須在有限時間(合理時間)內完成)

②.確定性(在任何條件下,演算法都只有一條執行路徑,無二義性)

③.可行性(演算法的操作簡潔易懂,足夠基本)

④.有輸入⑤.

有輸出演算法設計要求:

①.正確性②.可讀性③.健壯性(針對非法資料輸入時,有有效的處理機制)④.效率與低儲存量需求(高效率低儲存)

時間複雜度

:隨著問題規模n的增長,演算法執行時間的增長率和f(n)的增長率相同,可記為t(n)=o(f(n)),稱t(n)為演算法的(漸進)時間複雜度。 頻度

:指的是該語句重複執行的次數。

空間複雜度

:與時間複雜度類似,n為問題規模大小,記作:s(n)=o(f(n))。

資料結構 嚴蔚敏

最近一直想找一本純資料結構的書來學習,找來找去都沒有找到一本合適的書籍,相比之下國內的書籍之中,嚴蔚敏和吳偉民的還算是經典版了,很多國內其他資料結構教材都參考這本書的。但缺點是很多都是偽 對程式設計初學者來說有一些難度,甚至有些考研的同學來看這本書有很多還看不懂,並且裡面也有些容易迷惑人的地方。出於...

資料結構(嚴蔚敏)

說起為什麼重新拿起這本書,著實非常慚愧。是因為面試的時候,第乙個面試官面試完專案之後。第二面試官說我們就當聊聊天,考考資料結構,演算法就好了。結果以乙個問題就把我難住了,這個問題是 雜湊表是什麼?所以我打算花兩天的時間重新把這本書看一遍,並做下筆記,這次我一定會記住。目前,計算機已深入到社會生活的各...

嚴蔚敏版資料結構 演算法2 4

嚴版資料結構 p23 演算法 2.4 include include include f c kind project datastruct privacy privacy.h intmain for i 1 i 11 i if listinsert sq l,i,i 10 1 i 1 while ...