數據結構緒論

前言:

 在學數據結構過程中,我們都會產生這樣的想法:我們爲什麼學習數據結構,學數據結構有什麼作用?這些有關數據結構的算法不都有人封裝好了,我們可以直接調用,學了數據結構還不知道它的用途,等等這樣的想法。
 在這裏我用一個不恰當的比喻:比如項目經理找你優化系統中的排序算法,而此時你會無重下手,因爲該算法你是調用別人的,底層的實現一點不懂,此時只能加班看書,而如果你學了數據結構,你就會知道多種排序算法,根據實際問題尋找最優的算法,也省了加班的時間。
 上述例子可以體現到數據結構的用處,如果你當時感覺不到它的用處,別灰心隨着你職位的提高,接觸底層的東西,你就會發現它的魅力。現在就讓我們一起去見見數據結構的世界。

數據結構的定義

定義:數據結構是一門研究非數值計算的程序設計問題中的操作對象,以及它們之間的關係和操作等相關問題的學科。


基本概念和術語

概念圖:

數據結構緒論
數據:是描述客觀事物的符號,是計算機中可以操作的對象,是能被計算機識別,並輸入給計算機處理的符號集合。比如:整型,實型等數據類型,還包括字符及聲音,圖像,視頻等非數值類型。
數據元素:是組成數據的,有一定意義的基本單位,在計算機中通常作爲整體處理。也被稱爲記錄。比如:人類的數據元素是人,禽類的數據元素如雞,牛,羊等
數據項:一個數據元素可以由若干個數據項組成。比如人這個數據元素中 鼻口耳眼睛等就是組成人的數據項。
數據對象:性質相同的數據元素的集合,是數據的子集。
(估計看到這樣的概念很頭疼是不?其實我也頭疼,沒辦法也的記啊!)


數據結構

圖解
數據結構緒論


邏輯結構:是指數據對象中數據元素之間的相互關係:
1集合結構: 集合結構中的數據元素除了同屬於一個集合外,它們之間沒有其他關係。(平等,同屬於一個集合)
圖1:
數據結構緒論
2 線性結構:線性結構中的數據元素之間是一對一的關係
圖2:
數據結構緒論
3 樹形結構:樹形結構中數據元素之間存在一種一對多的層此關係
圖3:
數據結構緒論
4圖形結構:圖形結構中數據元素是多對多的關係
圖4:
數據結構緒論
物理結構: 是指數據的邏輯結構在計算機中的存儲形式
順序結構:是把數據元素存放在地址連續的存儲單元裏,其數據間的邏輯關係和物理關係是一致的
圖解:
數據結構緒論
鏈式存儲結構:是把數據元素存放在任意的存儲單元裏,這組存儲單元可以是連續的,也可以時不連續的。
圖解:
數據結構緒論


現在我們瞭解數據結構的基本概念和術語,現在真正講解抽象數據類型:

抽象數據類型(ADT)

學抽象數據類型之前我們先了解一下數據類型:
數據類型: 是指一組性質相同的值的集合及定義在此集合上的一些操作的總稱。比如基本數據類型等
抽象是什麼?
抽象是指抽取事物具有的普遍性的本質,它是抽出問題的特徵而忽略非本質的細節,是對具體事物的一個概括。
抽象數據類型(ADT)(Abstract Data Type):是指一個數學模型及定義在該模型上的一組操作。
描述抽象數據類型的標準格式:
數據結構緒論


總結:

 學數據結構要一步一個腳印的走,不可投機取巧,否則,時間花費了到頭來什麼也沒收穫。

參考文獻

大話數據結構
嚴蔚敏的數據結構(c語言版)

謝謝!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章