資料結構在程式設計中的作用
資料結構是計算機專業教學計畫中的核心課程,也是計算機及相關專業考研和水平等級考試的必考科目。要從事和電腦科學與技術相關的工作,尤其是計算機應用領域的開發和研製工作,必須具備堅實基礎。
資料結構是計算機儲存、組織資料的方式。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。
資料結構的基本內容
一、線性表(一)線性表的定義和基本操作
(二) 線性表的實現1. 順序儲存結構
2. 鏈式儲存結構
3. 線性表的應用二、棧、佇列和陣列
(一)棧和佇列的基本概念
(二)棧和佇列的順序儲存結構
(三)棧和佇列的鏈式儲存結構
(四)棧和佇列的應用
(五)特殊矩陣的壓縮儲存三、樹與二叉樹
(一)樹的概念(二)二叉樹
1. 二叉樹的定義及其主要特徵
2. 二叉樹的順序儲存結構和鏈式儲存結構
3. 二叉樹的遍歷
4. 線索二叉樹的基本概念和構造
5. 二叉排序樹
6. 平衡二叉樹
(三)樹、森林
1. 書的儲存結構
2. 森林與二叉樹的轉換
3. 樹和森林的遍歷
(四)樹的應用
1. 等價類問題
2. 哈夫曼(huffman)樹和哈夫曼編碼四、 圖
(一) 圖的概念
(二) 圖的儲存及基本操作
1. 鄰接矩陣法
2. 鄰接表法
(三) 圖的遍歷
1. 深度優先搜尋
2. 廣度優先搜尋
(四) 圖的基本應用及其複雜度分析
1. 最小(代價)生成樹
2. 最短路徑
3. 拓撲排序
4. 關鍵路徑五、 查詢
(一) 查詢的基本概念
(二) 順序查詢法
(三) 折半查詢法
(四) b-樹
(五) 雜湊(hash)表及其查詢
(六) 查詢演算法的分析及應用六、 內部排序
(一) 排序的基本概念
(二) 插入排序
1. 直接插入排序
2. 折半插入排序
(三) 氣泡排序(bubble sort)
(四) 簡單選擇排序
(五) 希爾排序(shell sort)
(六) 快速排序
(七) 堆排序
(八) 二路歸併排序(merge sort)
(九) 基數排序
(十) 各種內部排序演算法的比較
(十一) 內部排序演算法的應用
演算法及演算法分析
乙個演算法應該具有以下五個重要的特徵:
演算法的有窮性是指演算法必須能在執行有限個步驟之後終止;
演算法的每一步驟必須有確切的定義;
乙個演算法有0個或多個輸入,以刻畫運算物件的初始情況,所謂0個輸入是指演算法本身定出了初始條件;
乙個演算法有乙個或多個輸出,以反映對輸入資料加工後的結果。沒有輸出的演算法是毫無意義的;
演算法中執行的任何計算步驟都是可以被分解為基本的可執行的操作步,即每個計算步都可以在有限時間內完成(也稱之為有效性)。
資料結構 資料結構緒論
資料結構是相互間存在一種或多種特定關係的資料元素的集合。程式設計 資料結構 演算法 資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。資料元素是組成資料的 有一定意義的基本單位,是計算機中通常作為整體處理,也被稱為記錄。乙個資料元素可以由若干個資料項組...
資料結構 緒論
程式 資料結構 演算法 資料 對客觀事物的符號表示。資料元素 資料的基本單位,由若干個資料項組成。資料項是資料不可分割的最小單位。資料物件 性質相同的資料元素的集合,使資料的乙個子集。資料元素是相互之間存在一種或多種特定關係的資料元素的集合。預定義常量型別 函式結果狀態嗎 define true 1...
資料結構緒論
資料結構是一種抽象資料的過程,這種能力是任何工具都無法代替的。學習資料結構的目的 資料結構是計算機專業的基礎,它為幾乎所有的軟體設計的基礎。同時他也培養求解複雜問題的能力。那麼,什麼是資料結構呢,這個概念是很重要的,人月神話上有一段話,說人們往往喜歡將問題分解開來處理,但是這樣一來造成了對整個問題的...