目錄1.2 基本概念和術語
1.3抽象資料型別的表示與實現
1.4 演算法和演算法分析
早期,主要用於數值計算
現在越來越多的被用於非數值的計算,如
是能輸入計算機且能被計算機處理的各種符號的集合。
資訊的載體
是對客觀事物符號化的表示
能夠被計算機識別,儲存和加工
資料的基本單位,在電腦程式中通常作為乙個整體進行考慮和處理,也簡稱為元素,或稱為記錄、結點或頂點。
資料項:構成資料元素的不可分割的最小單位。
資料、資料元素、資料項三者之間的關係:資料》資料元素》資料項
是性質相同的資料元素的集合,是資料的乙個子集。
例如:整數的資料物件是集合n=
字母字元資料物件是集合c=
表1也可看作乙個資料物件(由若干個學生資訊組成)
資料元素與資料物件
相互之間存在一種或多種特定關係的資料元素的集合
資料結構是帶 」結構" 的資料元素的集合, 「結構」 就是指資料元素之間存在的關係。
資料結構包括邏輯結構和儲存結構兩個層次。
1.邏輯結構:是從邏輯關係上描述資料
兩個要素:
一是資料元素
二是關係(資料元素間的邏輯關係)
(1) 集合結構
資料元素之間除了 「屬於同一集合」 的關係外,別無其他關係。
(2) 線性結構
資料元素之間存在一對一的關係。
(3) 樹結構
資料元素之間存在一對多的關係。
(4) 圖結構或網狀結構
資料元素之間存在多對多的關係。
*非線性結構:集合結構、樹結構和圖結構
2. 儲存結構
資料物件在計算機中的儲存表示稱為資料的儲存結構,也稱為物理結構。
兩種基本的儲存結構:順序儲存結構和鏈式儲存結構。
(1)順序儲存結構
借助元素在儲存器中的相對位置來表示資料元素之間的邏輯關係,通常借助程式語言的陣列型別來描述。
(2) 鏈式儲存結構
要求所有的元素依次存放在一片連續的儲存空間中,鏈式儲存結構通常借助於程式語言的指標型別來描述
3.資料型別:
是乙個值的集合和定義在這個值集上的一組操作的總稱。
一般指使用者定義的、表示應用問題的數學模型,以及定義在這個模型上的一組操作的總稱,包含三部分:資料物件,資料物件上關係的集合以及對資料物件的基本操作的集合抽象資料型別的定義格式如下:
adt 抽象資料型別名 adt 抽象資料型別名
2.基本操作定義格式
基本操作名(參數列)1.演算法的定義和特性初始條件:(初始條件描述〉
操作結果
(1)有窮性2.評價演算法優劣的基本標準(2)確定性
(3)可行性
(4)輸入(零個或多個)
(5)輸出(乙個或多個)
(1)正確性3.演算法的時間複雜度(2)可讀性
(3)健壯性
(4)高效性
衡量演算法效率的方法主要有兩類:事後統計法和事前分析估算法。
語句頻度:一條語句的重複執行次數
問題規模:是演算法求解問題輸入量的多少,是問題大小的本質表示,一般用整數n表示。問題規模n對不同的問題含義不同。
它表示隨問題規模n的增大, 演算法執行時間的增長率和f(n)的增長率相同, 稱做演算法的漸近時間複雜度, 簡稱時間複雜度
4.演算法的空問複雜度
關於演算法的儲存空間需求,類似於演算法的時間複雜度,我們採用漸近空間複雜度演算法所需儲存空間的量度,簡稱空間複雜度
第一章 緒論
1.16 void print descending int x,int y,int z 按從大到小順序輸出三個數 print descending 1.17 status fib int k,int m,int f 求k階斐波那契序列的第m項的值f gender char schoolname 校...
第一章 緒論
本 題目源於粵電集團科研專案 沙角a電廠優化排程輔助決策系統 沙角a電廠電網排程已由原來對互不聯絡的單機排程方式發展為對全廠整體總負荷的經濟排程方式,現有五颱發電機組 其中210mw機組三颱,300mw機組二台 的主要工作如下 1.實時資料採集及預處理 機組效能計算和能損分析建立在準確獲取現場資料的...
第一章 緒論
1.1 資料結構在程式設計中的作用 a 問題 資料模型 基本思路 想法 資料表示 資料處理 演算法 程式語言 程式設計環境 設計方法 程式 b 著名公式 資料結構 演算法 程式 1.2 本書討論的主要內容 a 問題一般分為 數值問題 非數值問題 a 數值問題抽象出的資料模型通常是數學方程 b 非數值...