編輯推薦
《算法與數據結構(java語言描述)》係統介紹瞭算法與數據結構方麵的基本知識,重點闡述瞭基本數據結構及算法在程序開發中的應用方法。通過深入地學習和分析,能夠幫助讀者顯著提高軟件開發和設計能力。本書主要內容有:數據結構和算法的基本概念和術語,Java麵嚮對象知識,java語言的數據類型及其算法描述要點,java語言中抽象數據類型的實現;錶、樹和圖數據結構的錶示及基本算法實現和應用實例;查找、排序操作的實現及應用。
《算法與數據結構(java語言描述)》給齣的所有算法和程序采用java語言描述並調試通過;非常注重數據結構的實用性,每個數據結構章節都有工程應用實例;注重教材的可讀性和適用性,書中附有大量的圖錶、程序,使讀者能正確、直觀地理解問題;書中每章有學習要點、習題和上機實習題,既便於教學,又便於自學。
本書的讀者要求具有java 語言基礎,特彆適閤普通高校本專科學生使用,也可作為其他程序類課程輔導教材。
內容簡介
《21世紀高等學校規劃教材·計算機科學與技術·算法與數據結構:Java語言描述》介紹瞭算法與數據結構方麵的基本知識,重點闡述基本數據結構及算法在程序開發中的應用方法。《21世紀高等學校規劃教材·計算機科學與技術·算法與數據結構:Java語言描述》主要內容有數據結構及算法的基本概念和術語、java麵嚮對象知識、java語言的數據類型及其算法描述要點、java語言中抽象數據類型的實現、綫性錶、棧和隊列、樹、查找、排序。
《21世紀高等學校規劃教材·計算機科學與技術·算法與數據結構:Java語言描述》給齣的所有算法和程序采用java語言描述並調試通過。本書注重數據結構的實用性,每個數據結構章節都有工程應用實例;注重可讀性和適用性,書中附有大量的圖錶、程序,使讀者能正確、直觀地理解問題;每章有學習要點、習題和上機實習題,既便於教學,又便於自學。
《21世紀高等學校規劃教材·計算機科學與技術·算法與數據結構:Java語言描述》的讀者要求具有java語言基礎,特彆適閤普通高校本專科學生使用,也可作為其他程序類課程的輔導教材。
目錄
第1章 緒論
1.1 數據結構的基本概念
1.1.1 數據結構的研究對象
1.1.2 數據結構的基本概念和基本術語
1.2 算法與數據結構
1.2.1 算法的概念
1.2.2 描述算法的方法
1.2.3 算法分析
1.3 java麵嚮對象知識
1.3.1 類及類的使用
1.3.2 程序入口及對象的使用
1.3.3 構造方法
1.3.4 抽象類、接口
1.3.5 多態
1.3.6 包和類庫的使用
1.3.7 equals方法、this、super
1.4 java語言的數據類型及其算法描述要點
1.4.1 java語言的基本數據類型概述
1.4.2 java語言的數組和類數據類型
1.4.3 java語言的arraylist
1.4.4 java語言的函數
1.4.5 用java語言驗證算法的方法
1.5 java中adt規格與實現
1.6 一個java應用實例
1.7 學習數據結構的意義和方法
學習要點
習題
上機練習
第2章 綫性錶
2.1 綫性錶的邏輯結構
2.1.1 綫性錶的定義
2.1.2 綫性錶的運算
2.1.3 綫性錶的抽象數據類型定義
2.2 綫性錶的順序存儲結構--順序錶
2.2.1 順序錶的定義
2.2.2 順序存儲結構的優缺點
2.2.3 順序錶上的基本運算
2.3 綫性錶的鏈式存儲結構--鏈錶
2.3.1 單鏈錶的定義
2.3.2 單鏈錶的java錶示
2.3.3 單鏈錶的基本運算
2.3.4 循環鏈錶和雙嚮鏈錶
2.3.5 java對鏈錶的支持
2.4 數組
2.4.1 數組的定義與操作
2.4.2 數組的順序存儲結構
2.4.3 矩陣的壓縮存儲方法
2.5 字符串
2.5.1 字符串的定義與操作
2.5.2 字符串的存儲結構
2.5.3 字符串基本操作的實現
2.6 綫性錶的應用實例
2.7 工程應用實例
學習要點
習題
上機練習
第3章 棧和隊列
3.1 棧
3.1.1 棧的基本概念
3.1.2 棧的抽象數據類型
3.1.3 棧的順序存儲結構
3.1.4 棧的鏈式存儲結構
3.2 棧的應用實例
3.2.1 錶達式求值
3.2.2 棧與函數調用
3.2.3 棧在迴溯法中的應用
3.2.4 java對棧的支持
3.3 隊列
3.3.1 隊列的基本概念
3.3.2 隊列的抽象數據類型
3.3.3 隊列的順序存儲結構
3.3.4 隊列的鏈式存儲結構
3.4 隊列的應用實例
3.4.1 舞伴問題
3.4.2 模擬打印隊列的管理
3.5 工程應用實例
3.5.1 棧的應用
3.5.2 隊列的應用
學習要點
習題
上機練習
第4章 遞歸
4.1 遞歸的概念及設計方法
4.1.1 遞歸模型
4.1.2 遞歸的執行過程
4.1.3 遞歸設計
4.1.4 遞歸到非遞歸的轉換
4.2 遞歸與迴溯
4.3 遞歸技術應用實例
4.3.1 漢諾塔問題
4.3.2 組閤數學:委員會問題
4.4 遞歸評價
4.5 工程應用實例
學習要點
習題
上機練習
第5章 樹
5.1 樹
5.1.1 樹的概念
5.1.2 樹的基本操作
5.2 二叉樹
5.2.1 二叉樹的概念
5.2.2 二叉樹的性質
5.2.3 二叉樹的存儲結構及其實現
5.3 二叉樹的遍曆
5.3.1 遞歸的遍曆算法
5.3.2 二叉樹遍曆操作應用舉例
5.4 綫索二叉樹
5.4.1 綫索二叉樹的定義
5.4.2 遍曆綫索二叉樹
5.5 一般樹的錶示和遍曆
5.5.1 一般樹的錶示
5.5.2 二叉樹與樹之間的轉換
5.5.3 一般樹的遍曆
5.6 哈夫曼樹及其應用
5.6.1 哈夫曼樹
5.6.2 哈夫曼樹的應用
5.7 工程應用實例
學習要點
習題
上機練習
第6章 圖
6.1 圖的定義和術語
6.2 圖的存儲結構
6.2.1 鄰接矩陣
6.2.2 圖的鄰接錶
6.2.3 十字鏈錶
6.2.4 邊集數組
6.3 圖的遍曆
6.3.1 深度優先搜索
6.3.2 廣度優先搜索
6.4 圖的連通性
6.4.1 無嚮圖的連通分量
6.4.2 生成樹和最小代價生成樹
6.5 有嚮無環圖及應用
6.5.1 拓撲排序
6.5.2 關鍵路徑
6.6 最短路徑及應用
6.6.1 單源最短路徑
6.6.2 每個頂點之間的最短路徑
6.7 工程應用實例
學習要點
習題
上機練習
第7章 查找
7.1 基本概念與術語
7.2 靜態查找錶
7.2.1 靜態查找錶結構
7.2.2 順序查找
7.2.3 有序錶的摺半查找
7.2.4 有序錶的插值查找和斐波那契查找
7.2.5 分塊查找
7.3 動態查找錶
7.3.1 二叉排序樹
7.3.2 平衡二叉樹
7.3.3 b-樹和b+樹
7.4 哈希錶查找
7.4.1 哈希錶與哈希方法
7.4.2 常用的哈希函數
7.4.3 處理衝突的方法
7.4.4 哈希錶的查找分析
學習要點
習題
上機練習
第8章 排序
8.1 基本概念
8.2 插入排序
8.2.1 直接插入排序
8.2.2 希爾排序
8.3 交換排序
8.3.1 冒泡排序
8.3.2 快速排序
8.4 選擇排序
8.4.1 簡單選擇排序
8.4.2 堆排序
8.5 歸並排序
8.6 *基數排序
8.7 *外部排序簡介
8.7.1 外存信息的存取
8.7.2 外部排序的基本方法
學習要點
習題
上機練習
參考文獻
前言/序言
關於數據結構
計算機的日益發展,其應用早已不局限於簡單的數值運算,而涉及問題的分析、數據結構框架的設計以及插入、刪除、排序、查找等復雜的非數值處理和操作。數據結構的學習就是為以後利用計算機高效地開發非數值處理的計算機程序打下堅實的理論、方法和技術基礎。
算法與數據結構旨在分析研究計算機加工的數據對象的特性,以便選擇適當的數據結構和存儲結構,從而使建立在其上的解決問題的算法達到最優。
關於結構安排
全書共分為8章,每章主要內容如下。
第1章: 緒論。主要介紹瞭數據結構和算法的基本概念和術語、Java麵嚮對象知識、Java語言的數據類型及其算法描述要點、Java語言驗證算法的方法、Java中抽象數據類型的規格與實現。
第2章: 綫性錶。主要介紹綫性錶的邏輯結構、綫性錶的順序存儲結構和鏈式存儲結構、數組存儲結構、綫性錶的應用實例。
第3章: 棧和隊列。主要介紹棧與隊列的基本概念及存儲結構、棧與隊列的應用實例。
第4章: 遞歸。介紹遞歸的概念及設計方法、遞歸與迴溯、遞歸技術應用實例。
第5章: 樹。主要介紹樹及二叉樹的基本概念及存儲結構、二叉樹的應用——哈夫曼樹及編碼。
第6章: 圖。主要介紹圖的基本概念及存儲結構、圖的遍曆、圖的生成樹和最小生成樹、最短路徑、有嚮無環圖的應用實例。
第7章: 查找。主要介紹靜態查找、動態查找、哈希錶查找。
第8章: 排序。主要介紹插入排序、交換排序、選擇排序、歸並排序、基數排序、外部排序。
本書第1、6章由陳媛教授編寫,第2、5章由何波副教授編寫,第3、4章由盧玲編寫,第7、8章由塗飛編寫。全書由陳媛教授統稿。
本書特點
全書給齣的所有算法和程序采用Java語言描述並調試通過; 非常注重數據結構的實用性,每個數據結構章節都有工程應用實例; 注重教材的可讀性和適用性,書中附有大量的圖錶、程序,使讀者能正確、直觀地理解問題; 書中每章有學習要點、習題和上機實習題,既便於教學,又便於自學。
本書內容和結構體現瞭教學改革成果。全書由重慶市精品課程“數據結構”重慶理工大學課程組的教師集體編寫完成。作者都是長期在高校從事數據結構教學的一綫教師,有豐富的教學經驗和軟件開發能力。作者從多年的教學經驗和多項教研課題的研究成果,構建瞭數據結構概念建立和編程思想培養的框架體係,總結提煉瞭學習本課程的重難點和解決方法,大部分樣例都經過整理和組織,以便更好地理解掌握。
為瞭方便教學,我們開發瞭課程網站和練習係統,使用本書的院校可通過E�瞞ail cy@cqut.edu.cn嚮作者索取練習係統。
本書適用對象
本書的讀者要求具有Java語言基礎; 特彆適閤普通高校本專科學生使用,可作為計算機專業、信息專業及其他相關專業的本專科教材,也是廣大參加自學考試的人員和軟件工作者的參考資料; 本書既可作為數據結構、算法與數據結構等課程的教材,也可作為其他程序類課程輔導教材。
由於水平有限,本書可能會有不盡如人意及錯漏之處,敬請讀者批評指正。
編者
2010年12月
算法與數據結構:Java語言描述/21世紀高等學校規劃教材·計算機科學與技術 下載 mobi epub pdf txt 電子書
評分
☆☆☆☆☆
很基礎,適閤初學者
評分
☆☆☆☆☆
關於java數據結構和算法很好的基礎書籍。
評分
☆☆☆☆☆
要買書,還要買好書能淨化人類的心靈,是我們的知心朋友。
評分
☆☆☆☆☆
小時侯,臨睡覺前,我總會纏著媽媽給我講故事。講瞭一個又一個,直到我睡著為止,那時我覺得這些故事有著不可抗拒的誘惑力,如:<<灰姑娘>>、<<白雪公主>>……那些經典的童話,讓我憎恨繼母,讓我憎恨惡勢力,讓我同情那些可憐的人們,讓我為主人公們美好的迴報而感到快樂。
評分
☆☆☆☆☆
很好好不錯的教材,對於初學者非常適用。
評分
☆☆☆☆☆
《阿爾切斯特》(1767年)和《帕裏德與艾萊娜》(1770年)。
評分
☆☆☆☆☆
嘩啦!
評分
☆☆☆☆☆
書中錯漏有點多,還好不影響閱讀,但是剛開始學就算瞭,還是買C語言版本的去吧
評分
☆☆☆☆☆
東西不錯..................