第一章——数据结构之绪论
1.1 什么是數據結構
1.2 基本概念和術語
1.3 抽象數據類型的表示與實現
1.4 算法和算法分析
1.4.1 算法
1.4.2 算法設計的要求
1.4.3 算法效率的度量
1.4.4 算法的存儲
?
?
1.1 什么是數據結構
一般來說,用計算機解決一個具體的問題時,大致需要經過下列幾個步驟:
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是該對象中各數據元素之間的關系的有限集)
?
轉載于:https://www.cnblogs.com/sanqiansi/p/11290603.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的第一章——数据结构之绪论的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 最新 主流笔记本cpu列表
- 下一篇: Core 定时任务之HangFire