資料結構(嚴蔚敏)

2021-09-24 08:27:48 字數 1127 閱讀 7358

說起為什麼重新拿起這本書,著實非常慚愧。是因為面試的時候,第乙個面試官面試完專案之後。第二面試官說我們就當聊聊天,考考資料結構,演算法就好了。結果以乙個問題就把我難住了,這個問題是:雜湊表是什麼?

所以我打算花兩天的時間重新把這本書看一遍,並做下筆記,這次我一定會記住。

​ 目前,計算機已深入到社會生活的各個領域,其應用已不再僅僅侷限於科學計算,而更多的是用於控制,管理及資料處理等非數值計算領域。計算機是一門研究用計算機進行資訊表示和處理的科學。這裡面涉及到兩個問題:資訊的表示,資訊的處理。

​ 資訊的表示和組織又直接關係到處理資訊的程式的效率。隨著應用問題的不斷複雜,導致資訊量劇增與資訊範圍的拓寬,使許多系統程式和應用程式的規模很大,結構又相當複雜。因此,必須分析待處理問題中的物件的特徵及各物件之間存在的關係,這就是資料結構這門課所要研究的問題。

這必須是第乙個問題。

大家有沒有想過,計算機在解決乙個具體問題時需要幾個步驟呢?

從乙個具體問題抽象出來乙個數學模型

設計乙個解決此模型的演算法

編出程式

進行測試

得到答案

下面舉三個例子:

資料結構在計算機中的表示稱為資料結構的物理結構,又稱儲存結構。

資料元素在計算機中的兩種關係

資料型別是乙個值的集合和定義在這個值上一注操作的總稱。例如 c 語言上的整形變數,其值為某個區間上的整數,定義在其上的操作為加減乘除取模等算術運算。

高階語言的資料型別可分為兩類:

1. 原子型別:原子型別的值是不可分割的。

2. 結構型別:結構型別的值由若干結構的某種結構的值組成,因此是可以分解的,並且它的成分可以是結構的,也可以是非結構的。

複製**

抽象資料型別是指乙個數學模型以及定義在該模型上的一組操作。

乙個抽象資料型別的軟體模組通常有定義,表示和實現三個部分組成。

定義可分為三種型別:

後兩種可統稱為結構型別。

抽象資料型別可用以下三元組組成:

(d , s , p)

其中 d 是資料物件,s 是 d 上的關係集,p 是對 d 的基本操作。

本書採用以下格式對應抽象資料型別:

adt 《抽象資料型別名》 adt 《抽象資料型別名》

資料結構 嚴蔚敏

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

嚴蔚敏資料結構習題3 17

3.17 試寫乙個演算法,識別一次讀入的乙個以 為結束符的字串行是否為形如 序列1 序列2 模式的字串行。其中序列1和序列2中都不含字元 且序列2是序列1的逆序列。例如,a b b a 是屬該模式的字串行,而 1 3 3 1 則不是。include include define stack init...

嚴蔚敏資料結構習題3 31

3.31 假設稱正讀和反讀都相同的字串行為 回文 例如,abba 和 abcba 是回文,abcde 和 ababab 則不是回文。試寫乙個演算法判別讀入的乙個以 為結束符的字串行是否是 回文 這題非常簡單,分別入棧和入隊,然後出棧和出佇列比較,相同即可。這種思路我也是靈光一閃想到的。本以為能沾沾自...