出版時間:2011-2 出版社:西安電子科技大學出版社 作者:楊文元 頁數(shù):264
內容概要
楊文元編著的這本《數(shù)據(jù)結構與算法項目化教程》以程序設計語言作為數(shù)據(jù)結構與算法的實現(xiàn)工具,構建了9個學習情境,分別是程序設計語言基礎、認識數(shù)據(jù)結構與算法、線性表、棧和隊列、串、樹和二叉樹、圖、排序、查找與演示項目開發(fā)等。
《數(shù)據(jù)結構與算法項目化教程》的特色是對數(shù)據(jù)結構的操作全部程序化,代碼完全可運行,各個學習情景都可以形成一個項目或多個項目,將枯燥的理論融入有趣的、可運行的程序實現(xiàn),激發(fā)學習者的興趣。本教程圖文并茂,層次分明,邏輯清晰,詳略得當。
本教程可作為高職高專院校電子信息類專業(yè)的教材。內容設置充分考慮了當前學校教學及學生的現(xiàn)狀,對于沒有程序設計語言基礎的學習者,專門設置了有關程序設計語言基礎的學習情境。對于有一定程序設計語言基礎的學習者,可略去此部分內容。
本教程也可作為計算機學習者的參考教材。
書籍目錄
學習情境0 程序設計語言基礎
0.1 任務一 開發(fā)環(huán)境
0.1.1 子任務1 下載開發(fā)軟件
0.1.2 子任務2 JDK的安裝和配置
0.1.3 子任務3 NetBeansIDE的安裝和配置
0.1.4 子任務4 編寫及運行程序
0.2 任務二 編寫程序的基礎
0.2.1 子任務1 創(chuàng)建隨機數(shù)
0.2.2 子任務2 封裝與修飾符
0.2.3 子任務3 Java程序編寫規(guī)范
0.2.4 子任務4 方法的重載和覆蓋
0.3 任務三 構建簡單操作菜單
0.3.1 子任務1 輸入/輸出
0.3.2 子任務2 程序控制
0.3.3 子任務3 異常處理
0.4 任務四 圖形界面與事件處理
0.4.1 子任務1 圖形界面演示
0.4.2 子任務2 圖形演示系統(tǒng)的構建過程
0.4.3 子任務3 按鈕事件處理
0.4.4 子任務4 編寫并運行主程序
0.5 任務五 文件讀/寫操作
0.5.1 子任務1 創(chuàng)建目錄和文件
0.5.2 子任務2 讀取文件內容
學習情境1 認識數(shù)據(jù)結構與算法
1.1 任務一 初識數(shù)據(jù)結構和算法
1.1.1 子任務1 什么是數(shù)據(jù)結構和算法
1.1.2 子任務2 數(shù)據(jù)結構與算法的重要性
1.1.3 子任務3 數(shù)據(jù)結構與算法課程
1.2 任務二 數(shù)據(jù)結構
1.2.1 子任務1 數(shù)據(jù)的處理
1.2.2 子任務2 數(shù)據(jù)結構的分類
1.2.3 子任務3 常用的數(shù)據(jù)結構
1.3 任務三 算法
1.3.1 子任務1 認識算法
1.3.2 子任務2 算法的重要特征
1.3.3 子任務3 算法分析
1.3.4 子任務4 算法設計方法
1.3.5 子任務5 遞歸算法及案例
學習情境2 線性表
2.1 任務一 認識線性表
2.1.1 子任務1 初識線性表
2.1.2 子任務2 認識線性表的存儲結構
2.2 任務二 程序實現(xiàn)線性表的順序存儲結構及操作
2.2.1 子任務1 認識線性表的順序存儲結構
2.2.2 子任務2 線性表順序存儲結構的操作算法
2.2.3 子任務3 程序實現(xiàn)線性表順序存儲結構的操作
2.3 任務三 程序實現(xiàn)線性表的鏈式存儲結構及操作
2.3.1 子任務1 認識線性表的鏈式存儲結構
2.3.2 子任務2 線性表鏈式存儲結構的操作算法
2.3.3 子任務3 程序實現(xiàn)線性表鏈式存儲結構的操作
2.4 任務四 線性表的應用——解決約瑟夫環(huán)問題
2.4.1 子任務1 認識約瑟夫環(huán)
2.4.2 子任務2 約瑟夫環(huán)的程序實現(xiàn)
學習情境3 棧和隊列
3.1 任務一 棧
3.1.1 子任務1 認識棧
3.1.2 子任務2 操作棧的順序存儲結構
3.1.3 子任務3 操作棧的鏈式存儲結構
3.2 任務二隊列
3.2.1 子任務1 認識隊列
3.2.2 子任務2 操作隊列的順序存儲結構
3.2.3 子任務3 操作棧的鏈式存儲結構
3.3 任務三 整合棧和隊列的操作
3.3.1 子任務1 構造主程序
3.3.2 子任務2 構造菜單程序
學習情境4 串
4.1 任務一 認識串
4.1.1 子任務1 初識串
4.1.2 子任務2 串的基本運算
4.2 任務二 串的存儲結構
4.2.1 子任務1 串的順序存儲結構
4.2.2 子任務2 串的鏈式存儲結構
4.3 任務三 程序實現(xiàn)串的操作
4.3.1 子任務1 串的基本操作和算法
4.3.2 子任務2 創(chuàng)建主程序菜單
學習情境5 樹和二叉樹
5.1 任務一 認識樹
5.1.1 子任務1 樹的基礎知識
5.1.2 子任務2 學習樹的術語
5.1.3 子任務3 樹的表示
5.2 任務二 二叉樹
5.2.1 子任務1 認識二叉樹
5.2.2 子任務2 二叉樹的基本性質
5.2.3 子任務3 二叉樹的存儲結構
5.3 任務三 二叉樹操作的程序實現(xiàn)
5.3.1 子任務1 構造二叉樹的程序實現(xiàn)框架
5.3.2 子任務2 二叉樹算法的程序實現(xiàn)
5.4 任務四 哈夫曼(Huffman)樹
5.4.1 子任務1 認識哈夫曼樹和哈夫曼編碼
5.4.2 子任務2 樹的路徑長度
5.4.3 子任務3 哈夫曼編碼的程序實現(xiàn)
學習情境6 圖
6.1 任務一 認識圖
6.1.1 子任務1 初識圖
6.1.2 子任務2 再識圖
6.2 任務二 圖的表示
6.2.1 子任務1 圖的鄰接矩陣表示
6.2.2 子任務2 圖的鄰接表表示
6.3 任務三 圖的遍歷
6.3.1 子任務1 圖的深度優(yōu)先搜索遍歷
6.3.2 子任務2 圖的廣度優(yōu)先搜索遍歷
6.4 任務四 圖的應用
6.4.1 子任務1 最小生成樹
6.4.2 子任務2 最短路徑
6.4.3 子任務3 拓撲排序
6.5 任務五 圖的程序實現(xiàn)
6.5.1 子任務1 構造圖的遍歷抽象類
6.5.2 子任務2 程序實現(xiàn)圖的鄰接矩陣表示
6.5.3 子任務3 程序實現(xiàn)圖的鄰接表表示
6.5.4 子任務4 存儲圖鄰接矩陣的文件讀/寫實現(xiàn)
6.5.5 子任務5 圖的應用的程序實現(xiàn)
學習情境7 排序
7.1 任務一 認識排序
7.1.1 子任務1 學習排序基礎知識
7.1.2 子任務2 排序算法的指標分析
7.1.3 子任務3 程序算法的程序實現(xiàn)基礎
7.2 任務二 插入排序
7.2.1 子任務1 直接插入排序
7.2.2 子任務2 希爾排序
7.3 任務三 交換排序
7.3.1 子任務1 冒泡排序
7.3.2 子任務2 快速排序
7.4 任務四 選擇排序
7.4.1 子任務1 直接選擇排序
7.4.2 子任務2堆排序
7.5 任務五 歸并排序——兩路歸并排序
7.5.1 子任務1 歸并排序
7.5.2 子任務2 歸并排序的程序實現(xiàn)
7.6 任務六 基數(shù)排序
7.6.1 子任務1 認識基數(shù)排序
7.6.2 子任務2 基數(shù)排序程序實現(xiàn)
學習情境8 查找與演示項目開發(fā)
8.1 任務一 認識查找
8.2 任務二 線性表的查找
8.2.1 子任務1 順序查找
8.2.2 子任務2 折半查找
8.2.3 子任務3 分塊索引查找
8.3 任務三 二叉排序樹查找
8.3.1 子任務1 認識二叉排序樹查找
8.3.2 子任務2 二叉排序樹查找的圖形演示項目
8.4 任務四 哈希表
8.4.1 子任務1 認識哈希表
8.4.2 子任務2 哈希函數(shù)的構造
8.4.3 子任務3 沖突及處理
8.4.4 子任務4 哈希表操作演示項目
參考文獻
圖書封面
評論、評分、閱讀與下載