第一章——數據結構之緒論

1.1 什麼是數據結構算法

1.2 基本概念和術語數據結構

1.3 抽象數據類型的表示與實現測試

1.4 算法和算法分析編碼

  1.4.1 算法設計

  1.4.2 算法設計的要求對象

  1.4.3 算法效率的度量element

  1.4.4 算法的存儲字符串

 

 

1.1 什麼是數據結構數學

  通常來講,用計算機解決一個具體的問題時,大體須要通過下列幾個步驟:it

    1.首先要從具體問題抽象出一個適當的數學模型

    2.而後設計一個解此數學模型的算法

    3.最後編出程序,進行測試,調整直至獲得最終解答

  尋求數學模型的實質是分析問題,從中提取操做的對象,並找出這些操做對象之間含有的關係,而後用數學的語言加以描述。

 

 

  1968年美國唐·歐·克努特教授開創了「數據結構」的最初體系,他所著的《計算機設計技巧》第一卷《基本算法》是第一本較系統地闡述數據的邏輯結構和存儲結構及其操做的著做。從20世紀60年代末到70年代初,出現了大型程序,軟件也相對獨立,結構程序設計成爲程序設計方法學的主要內容,人們就愈來愈重視「數據結構」,認爲程序設計的實質是對肯定的問題選擇一種好的結構,加上設計一種好的算法。

        數據結構+算法=程序

 

   

 

1.2 基本概念和術語

  數據(data)是對客觀事物的符號的總稱。在計算機科學中是指全部能輸入到計算機中並被計算機程序處理的符號的總稱(信息的載體)。它是計算機程序加工的「原料」。例如,一個利用數值分析方法解代數方程的程序,其處理對象是整數和實數;一個編譯程序或文字處理程序的處理對象是字符串。所以,對計算機科學而言,數據的含義極爲普遍,如圖像、聲音等都是能夠經過編碼而歸之於數據的範疇。

  數據元素(data element)是數據的基本單位,在計算機程序中一般做爲一個總體進行考慮和處理。有時,一個數據元素可由若干個數據項(data item)組成,例如,一本書的書目信息爲一個數據元素,而書目信息中的每一項(如書名、做者名等)爲一個數據項數據項是數據不可分割的最小單位(具備獨立含義)。

  數據對象(data object)是性質相同的數據元素的集合,是數據的一個子集。例如,整數數據對象是集合N={0,±1,±2,...},字母字符數據對象是集合C={‘A’,‘B’,...,'Z'}。

  數據結構(data structure)是相互之間存在一種或多種特定關係的數據元素的集合。在任何問題中,數據元素都不是孤立存在的,而是在他們之間存在着某種關係,這種數據元素相互之間的關係稱爲結構(structure)。根據數據元素之間關係的不一樣特性,一般有下列4類基本結構:

    (1)集合  結構中的數據元素之間除了「同屬於一個集合」的關係外,別無其餘關係;

    (2)線性結構  結構中的數據元素之間存在一個對一個的關係;(元素間的關係是1:1)

    (3)樹形結構  結構中數據元素之間存在一個對多個的關係;

    (4)圖狀結構網狀結構  結構中數據元素之間存在多個對多個的關係。

數據結構的形式定義爲:數據結構是一個二元組

  Data_Structure=(D,S)

其中,D是數據元素的有限集,S是D上關係的有限集。(D是數據對象,S是該對象中各數據元素之間的關係的有限集)

相關文章
相關標籤/搜索