資料結構和演算法緒論

2021-06-18 05:42:19 字數 1227 閱讀 6911

讓程式設計改變世界

change the world by program

資料結構和演算法這門計算機必修課歷來無論在哪個學校,都是無比乏味和催人入睡的。

因為很多時候,考研玩的不是智商,其實就是乙個人投入的時間而已。

什麼是資料結構?

資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間的關係和操作等相關問題的學科。

這樣的官方陳詞不是小甲魚的風格哈,如果是小甲魚,會告訴你資料結構事實上就是這樣子:

程式設計 = 資料結構 + 演算法

再簡單的來說資料結構就是關係,沒錯,就是資料元素相互之間存在的一種或多種特定關係的集合。

傳統上,我們把資料結構分為邏輯結構和物理結構。

邏輯結構:是指資料物件中資料元素之間的相互關係,也是我們今後最需要關注和討論的問題。

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

集合結構

線性結構

樹形結構

圖形結構

說完邏輯結構,我們再來說說資料的物理結構。

根據物理結構的定義,我們實際上研究的的就是如何把資料元素儲存到計算機的儲存器中。

儲存器主要是針對記憶體而言的,像硬碟、軟盤、光碟等外部儲存器的資料組織通常用檔案結構來描述。

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

例如我們程式語言的陣列結構就是這樣滴。

順序儲存結構

從順序儲存結構我們想到了日常生活中我們的排隊,有木有?但現實生活中,我們發覺也並不完全如此。

例如有人排著排著她內急,她要被迫離開隊伍去上洗手間,還有人不遵守基本基本道德規範他插隊,這些情況會大破儲存儲存結構的基本原則。

面對這樣時常要變化的結構,順序儲存是不科學的,那麼就該讓鏈式儲存結構露面了。

現在如銀行、醫院等地方,都設定了排隊系統。也就是每個人去了,先領乙個號,等著叫號,叫到你的時候就可以去存一百塊給小甲魚或看病。

而在等待的時候,你愛在哪在哪,可以坐著、站著或者四處看看美眉,只要你及時回來就行。

這些情況下,你關注的是前乙個號有沒有被叫到,叫到了,下乙個就該輪到你了。

鏈式儲存結構就是這樣的原理,相比起順序儲存結構就靈活多了。

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

資料結構和演算法緒論

資料是資訊的載體,是描述客觀事物的數 字元,以及所有能輸入到計算機中並被電腦程式識別和處理的符號的集合。資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間的關係和操作等相關問題的學科 簡單來說 程式設計 資料結構 演算法 資料結構研究的就是關係,就是資料元素相互之間存在的一種或多種...

資料結構和演算法緒論

程式設計 資料結構 演算法 資料結構就是關係,沒錯,就是資料元素相互之間存在的一種或多種特定關係的集合。資料型別 是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。原子型別 是不可以再分解的基本型別,包括整型 實型 字元型等。結構型別 自若干個型別組合而戚,是可以再分解的。例,整型陣列是由...

資料結構和演算法緒論

資料結構和演算法緒論 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題 程式設計 資料結構 演算法 簡單說,資料結構就是關係,資料元素相互之間存在的一種 或多種特定關係的集合 資料結構分為 邏輯結構 和物理結構 邏輯結構 是指資料物件中資料元素直接的相互關係...