緒論 資料結構和演算法01

2021-08-18 02:17:48 字數 1157 閱讀 5203

什麼是資料結構?

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

資料結構事實上就是這樣子:

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

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

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

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

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

四大邏輯結構:

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

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

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

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

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

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

順序儲存結構

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

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

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

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

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

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

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

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

很顯然,這樣說的話鏈式儲存結構的資料元素儲存關係並不能反映其邏輯關係,因此需要用乙個指標存放資料元素的位址,這樣子通過位址就可以找到相關聯資料元素的位置。

01 資料結構緒論

資料 data 是客觀事物的符號表示。在電腦科學中指的是所有能輸入到計算機中並被電腦程式處理的符號的總稱。資料元素 data element 是資料的基本單位,在程式中通常作為乙個整體來進行考慮和處理。資料結構 data structure 是指相互之間具有 存在 一定聯絡 關係 的資料元素的集合。...

資料結構和演算法緒論

讓程式設計改變世界 change the world by program 資料結構和演算法這門計算機必修課歷來無論在哪個學校,都是無比乏味和催人入睡的。因為很多時候,考研玩的不是智商,其實就是乙個人投入的時間而已。什麼是資料結構?資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及它們之間...

資料結構和演算法緒論

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