出版時(shí)間:2008-7 出版社:電子工業(yè)出版社 作者:葉核亞 頁數(shù):304
Tag標(biāo)簽:無
內(nèi)容概要
《普通高等教育“十一五”國家級(jí)規(guī)劃教材·高等學(xué)校計(jì)算機(jī)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(Java版)(第2版)》為普通高等教育“十一五”國家級(jí)規(guī)劃教材?! 镀胀ǜ叩冉逃笆晃濉眹壹?jí)規(guī)劃教材·高等學(xué)校計(jì)算機(jī)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(Java版)(第2版)》全面系統(tǒng)地介紹數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)理論和算法設(shè)計(jì)方法,包括線性表、樹、圖等數(shù)據(jù)結(jié)構(gòu)以及查找和排序算法。《普通高等教育“十一五”國家級(jí)規(guī)劃教材·高等學(xué)校計(jì)算機(jī)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(Java版)(第2版)》采用Java語言以面向?qū)ο蠓椒ㄔO(shè)計(jì)并實(shí)現(xiàn)了全部的數(shù)據(jù)結(jié)構(gòu)及算法。《普通高等教育“十一五”國家級(jí)規(guī)劃教材·高等學(xué)校計(jì)算機(jī)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(Java版)(第2版)》精選基礎(chǔ)理論內(nèi)容,重點(diǎn)是數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和算法設(shè)計(jì),通過降低理論難度和抽象性,加強(qiáng)實(shí)踐環(huán)節(jié)等措施,力求增強(qiáng)學(xué)生的理解能力和應(yīng)用能力。內(nèi)容涉及的廣度和深度符合本科培養(yǎng)目標(biāo)的要求?! 镀胀ǜ叩冉逃笆晃濉眹壹?jí)規(guī)劃教材·高等學(xué)校計(jì)算機(jī)規(guī)劃教材:數(shù)據(jù)結(jié)構(gòu)(Java版)(第2版)》可作為普通高等學(xué)校計(jì)算機(jī)及相近專業(yè)本科生的數(shù)據(jù)結(jié)構(gòu)課程教材,也可作為從事計(jì)算機(jī)軟件開發(fā)和工程應(yīng)用人員的參考書。
書籍目錄
第0章 Java程序設(shè)計(jì)基礎(chǔ)0.1 Java的特點(diǎn)和優(yōu)勢(shì)0.2 Java語言基礎(chǔ)0.2.1 語言成分0.2.2 流程控制語句0.2.3 數(shù)組0.2.4 字符串0.3 面向?qū)ο蟪绦蛟O(shè)計(jì)0.3.1 類和對(duì)象0.3.2 類的封裝性0.3.3 類的繼承性0.3.4 類的多態(tài)性0.3.5 抽象類和最終類0.3.6 接口0.3.7 內(nèi)部類0.3.8 包0.4 異常處理0.4.1 Java的錯(cuò)誤和異常0.4.2 拋出和處理異常0.5 Java的標(biāo)準(zhǔn)輸入/輸出習(xí)題0實(shí)驗(yàn)0 Java程序設(shè)計(jì)基礎(chǔ)第1章 緒論1.1 數(shù)據(jù)結(jié)構(gòu)的基本概念1.1.1 為什么要學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)1.1.2 什么是數(shù)據(jù)結(jié)構(gòu)1.1.3 數(shù)據(jù)的邏輯結(jié)構(gòu)1.1.4 數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)1.1.5 數(shù)據(jù)操作1.1.6 用Java語言描述數(shù)據(jù)結(jié)構(gòu)1.2 算法1.2.1 什么是算法1.2.2 算法分析1.2.3 算法設(shè)計(jì)實(shí)例1.2.4 遞歸算法習(xí)題1實(shí)驗(yàn)1 算法設(shè)計(jì)第2章 線性表2.1 線性表抽象數(shù)據(jù)類型2.2 線性表的順序表示和實(shí)現(xiàn)2.3 線性表的鏈?zhǔn)奖硎竞蛯?shí)現(xiàn)2.3.1 線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)2.3.2 單鏈表2.3.3 雙鏈表2.4 迭代器2.4.1 迭代接口2.4.2 基于迭代器的操作2.4.3 提供迭代器對(duì)象習(xí)題2實(shí)驗(yàn)2 線性表的基本操作第3章 棧和隊(duì)列3.1 棧3.1.1 棧抽象數(shù)據(jù)類型3.1.2 順序棧3.1.3 鏈?zhǔn)綏?.1.4 棧的應(yīng)用3.2 隊(duì)列3.2.1 隊(duì)列抽象數(shù)據(jù)類型3.2.2 順序隊(duì)列3.2.3 鏈?zhǔn)疥?duì)列3.2.4 隊(duì)列的應(yīng)用習(xí)題3實(shí)驗(yàn)3 棧和隊(duì)列及其應(yīng)用第4章 串4.1 串抽象數(shù)據(jù)類型4.1.1 串的基本概念4.1.2 串抽象數(shù)據(jù)類型4.2 串的表示和實(shí)現(xiàn)4.2.1 串的存儲(chǔ)結(jié)構(gòu)4.2.2 字符串類String4.2.3 字符串類StringBuffer4.3 串的模式匹配4.3.1 樸素的模式匹配(Brute-Force)算法4.3.2 無回溯的模式匹配(KMP)算法習(xí)題4實(shí)驗(yàn)4 串的基本操作及模式匹配應(yīng)用第5章 數(shù)組和廣義表5.1 數(shù)組5.1.1 一維數(shù)組5.1.2 多維數(shù)組5.2 特殊矩陣的壓縮存儲(chǔ)5.2.1 對(duì)稱(三角)矩陣的存儲(chǔ)5.2.2 稀疏矩陣的壓縮存儲(chǔ)5.3 廣義表5.3.1 廣義表抽象數(shù)據(jù)類型5.3.2 廣義表的存儲(chǔ)結(jié)構(gòu)習(xí)題5實(shí)驗(yàn)5 特殊矩陣和廣義表的存儲(chǔ)和運(yùn)算第6章 樹和二叉樹6.1 樹及其抽象數(shù)據(jù)類型6.1.1 樹定義6.1.2 樹的術(shù)語6.1.3 樹的表示法6.1.4 樹抽象數(shù)據(jù)類型6.2 二叉樹及其抽象數(shù)據(jù)類型6.2.1 二叉樹定義6.2.2 二叉樹性質(zhì)6.2.3 二叉樹抽象數(shù)據(jù)類型6.3 二叉樹的表示和實(shí)現(xiàn)6.3.1 二叉樹的存儲(chǔ)結(jié)構(gòu)6.3.2 二叉樹的二叉鏈表實(shí)現(xiàn)6.3.3 二叉樹的遍歷6.3.4 構(gòu)造二叉樹6.3.5 二叉樹的插入和刪除操作6.3.6 二叉樹遍歷的非遞歸算法6.3.7 二叉樹的層次遍歷6.4 線索二叉樹6.4.1 線索二叉樹定義6.4.2 中序線索二叉樹6.5 哈夫曼編碼與哈夫曼樹6.5.1 哈夫曼編碼6.5.2 哈夫曼樹6.6 樹的表示6.6.1 樹的存儲(chǔ)結(jié)構(gòu)6.6.2 樹的遍歷習(xí)題6實(shí)驗(yàn)6 二叉樹的基本操作第7章 圖7.1 圖及其抽象數(shù)據(jù)類型7.1.1 圖的基本概念7.1.2 圖抽象數(shù)據(jù)類型7.2 圖的表示和實(shí)現(xiàn)7.2.1 圖的鄰接矩陣表示7.2.2 圖的鄰接表表示7.3 圖的遍歷7.3.1 圖的深度優(yōu)先搜索遍歷7.3.2 圖的廣度優(yōu)先搜索遍歷7.4 最小生成樹7.4.1 生成樹7.4.2 最小生成樹的構(gòu)造算法7.5 最短路徑習(xí)題7實(shí)驗(yàn)7 圖的表示和操作第8章 查找8.1 查找的基本概念8.2 基于線性表的查找8.2.1 順序查找8.2.2 基于有序順序表的折半查找8.2.3 基于索引順序表的分塊查找8.3 樹結(jié)構(gòu)的查找8.3.1 二叉排序樹及其查找8.3.2 平衡二叉樹8.4 散列8.4.1 散列表8.4.2 散列函數(shù)8.4.3 處理沖突8.4.4 構(gòu)造鏈地址法的散列表習(xí)題8實(shí)驗(yàn)8 查找算法及其效率分析第9章 排序9.1 排序的基本概念9.2 插入排序9.2.1 直接插入排序和折半插入排序9.2.2 希爾排序9.3 交換排序9.3.1 冒泡排序9.3.2 快速排序9.4 選擇排序9.4.1 直接選擇排序9.4.2 堆排序9.5 歸并排序習(xí)題9實(shí)驗(yàn)9 排序算法設(shè)計(jì)及分析第10章 綜合應(yīng)用設(shè)計(jì)10.1 Java集合框架10.1.1 數(shù)組10.1.2 集合10.2 使用復(fù)雜的Swing組件10.2.1 列表框JList10.2.2 表格JTable10.2.3 樹JTree10.3 課程設(shè)計(jì)的實(shí)例和選題10.3.1 用預(yù)見算法解騎士游歷問題10.3.2 課程設(shè)計(jì)選題第11章 Java開發(fā)運(yùn)行環(huán)境11.1 JDK11.1.1 JDK的安裝與設(shè)置11.1.2 運(yùn)行Java Application程序11.1.3 查看Java類庫與包等級(jí)11.1.4 創(chuàng)建、聲明和導(dǎo)入包11.2 使用JCreator11.2.1 JCreator集成開發(fā)環(huán)境11.2.2 創(chuàng)建、編譯并運(yùn)行一個(gè)項(xiàng)目11.2.3 一個(gè)工作區(qū)包含多個(gè)項(xiàng)目11.2.4 配置JDK11.2.5 程序調(diào)試技術(shù)附錄A ASCII字符與Unicode值附錄B Java關(guān)鍵字附錄C Java基本數(shù)據(jù)類型附錄D Java運(yùn)算符及其優(yōu)先級(jí)附錄E java.lang語言包部分類庫附錄F JCreator 4.5常用菜單命令附錄G 本書數(shù)據(jù)結(jié)構(gòu)包說明
章節(jié)摘錄
第O章 Java程序設(shè)計(jì)基礎(chǔ) 本章概述Java語言的基礎(chǔ)知識(shí)和面向?qū)ο蟪绦蛟O(shè)計(jì)思想,以“夠用必需為度”原則,介紹描述數(shù)據(jù)結(jié)構(gòu)和算法所需要的面向?qū)ο蠹夹g(shù),為后續(xù)章節(jié)做準(zhǔn)備。有Java語言基礎(chǔ)的讀者可跳過本章?! ”菊陆榻BJava語言的基本語法,包括數(shù)據(jù)類型的特點(diǎn)、使用數(shù)組和字符串的方法等;介紹面向?qū)ο蟮幕靖拍詈皖惖脑O(shè)計(jì)方法,包括類的封裝、繼承和多態(tài)原則,接口、內(nèi)部類和包的作用及使用;介紹異常處理和標(biāo)準(zhǔn)輸入/輸出方法?! ?.1 Java的特點(diǎn)和優(yōu)勢(shì) 物競(jìng)天擇,適者生存。同自然界的進(jìn)化規(guī)律一樣,程序設(shè)計(jì)語言、程序設(shè)計(jì)思想的變化和發(fā)展也是隨著實(shí)際應(yīng)用需要而變化和發(fā)展的。我們今天所看到、所使用的程序設(shè)計(jì)語言,經(jīng)歷了一系列競(jìng)爭(zhēng)和淘汰之后仍然存在,說明它們有存在的道理,它們必定各有所長(zhǎng)。這是一種自然選擇的結(jié)果。 1995年,作為一種完全面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,Java以一種全新的面貌問世。至今短短的十余年間,憑借其平臺(tái)無關(guān)、健壯、安全、高效這些適應(yīng)網(wǎng)絡(luò)運(yùn)行需要的特點(diǎn),Java快速成長(zhǎng),不僅在Internet上游刃有余,而且通過J2ME、J2SE、J2EE三大平臺(tái),其應(yīng)用領(lǐng)域全面覆蓋了嵌入式應(yīng)用、桌面應(yīng)用和企業(yè)級(jí)應(yīng)用,所表現(xiàn)出的強(qiáng)大的應(yīng)用系統(tǒng)設(shè)計(jì)能力,使Java無處不在?! un公司于1995年發(fā)布JDK(Java Development Kit,Java開發(fā)工具包)1.0,宣告Java語言誕生。1998年,發(fā)布JDK 1.2,自稱Java 2平臺(tái)。1999年,發(fā)布JDK 1.3,將Java平臺(tái)劃分為J2ME(嵌入式)、J2SE(標(biāo)準(zhǔn))、J2EE(企業(yè)級(jí)),使Java技術(shù)獲得了最廣泛的應(yīng)用。2006年,發(fā)布JDK 1.6。 ……
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
數(shù)據(jù)結(jié)構(gòu) PDF格式下載