中图网(原中国图书网):网上书店,尾货特色书店,30万种特价书低至2折!

歡迎光臨中圖網 請 | 注冊

包郵 算法與數據結構

出版社:清華大學出版社出版時間:2020-01-01
開本: 26cm 頁數: 10,315頁
本類榜單:教材銷量榜
中 圖 價:¥38.2(6.5折) 定價  ¥59.0 登錄后可看到會員價
加入購物車 收藏
開年大促, 全場包郵
?新疆、西藏除外
本類五星書更多>

算法與數據結構 版權信息

算法與數據結構 本書特色

全書系統介紹了算法與數據結構方面的基本知識,重點闡述了基本數據結構及算法在程序開發中的應用方法。通過深入地學習和分析,能夠幫助讀者極大地提高軟件開發和設計能力。

算法與數據結構 內容簡介

本書主要內容有: 數據結構和算法的基本概念和術語; 線性表、樹和圖的邏輯結構、存儲結構及應用實例, 包括與隊列數組與字符串等特殊線性表:查找與排序操作的常用算法; 蠻力算法、分治算法、動態規劃算法、貪心算法、回溯算法及分枝限界算法等常用算法設計技術。

算法與數據結構 目錄

第1章 緒論
1.1 數據結構的基本概念與學習方法
1.1.1 數據結構的研究對象
1.1.2 數據結構的基本概念和基本術語
1.2 算法與數據結構
1.2.1 算法的概念
1.2.2 描述算法的方法
1.2.3 算法分析
1.3 學習算法與數據結構的意義和方法
1.4 C語言的數據類型及其算法描述
1.4.1 C語言的基本數據類型概述
1.4.2 C語言的數組和結構體數據類型
1.4.3 C語言的指針類型概述
1.4.4 C語言的函數
1.4.5 用C語言驗證算法的方法
1.5 從C語言到C++語言
1.5.1 C++語言的類和抽象數據類型
1.5.2 C++語言驗證算法的方法
1.5.3 C++語言與C語言程序的區別
1.5.4 C++語言的重要特性
習題1
上機練習1

第2章 線性表
2.1 線性表的邏輯結構
2.1.1 線性表的定義
2.1.2 線性表的運算
2.2 線性表的順序存儲結構——順序表
2.2.1 順序表
2.2.2 順序存儲結構的優缺點
2.2.3 順序表上的基本運算
2.3 線性表的鏈式存儲結構——鏈表
2.3.1 單鏈表
2.3.2 循環鏈表和雙向鏈表
2.4 線性表的應用示例
2.5 C++中的線性表
2.5.1 C++中線性表抽象數據類型
2.5.2 C++中線性表的順序存儲
2.5.3 C++中線性表的鏈式存儲
習題2
上機練習2

第3章 棧和隊列
3.1 棧
3.1.1 棧的基本概念
3.1.2 棧的順序存儲結構
3.1.3 棧的鏈式存儲結構
3.2 棧的應用實例
3.2.1 表達式求值
3.2.2 棧與函數調用
3.2.3 棧在回溯法中的應用
3.3 隊列
3.3.1 隊列的基本概念
3.3.2 隊列的順序存儲結構
3.3.3 隊列的鏈式存儲結構
3.4 隊列的應用實例
3.4.1 舞伴問題
3.4.2 打印隊列的模擬管理
3.5 遞歸
3.5.1 遞歸的定義及遞歸模型
3.5.2 遞歸的實現
3.5.3 遞歸設計
3.5.4 遞歸到非遞歸的轉換
3.6 C++中的棧和隊列
3.6.1 C++中的棧
3.6.2 C++中的隊列
習題3
上機練習3

第4章 數組和字符串
4.1 數組
4.1.1 數組的定義與操作
4.1.2 數組的順序存儲結構
4.1.3 矩陣的壓縮存儲方法
4.2 字符串
4.2.1 字符串的定義與操作
4.2.2 字符串的存儲結構
4.2.3 字符串基本操作的實現
4.2.4 字符串的應用舉例
4.3 C++中的數組和字符串
4.3.1 C++中的數組
4.3.2 C++中的字符串
習題4
上機練習4

第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 C++中的樹
5.7.1 C++中的二叉樹結點類
5.7.2 C++中的二叉樹類
5.7.3 C++中二叉樹的非遞歸遍歷
習題5
上機練習5

第6章 圖
6.1 圖的概念與操作
6.1.1 圖的定義
6.1.2 圖的基本術語
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 C++中的圖
6.7.1 C++中的圖類
6.7.2 圖的鄰接表的C++程序
6.7.3 圖的遍歷的C++程序
6.7.4 圖的*小生成樹的C++程序
習題6
上機練習6

第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 哈希表的查找分析
7.5 C++中的查找
7.5.1 靜態查找的C++程序
7.5.2 動態查找的C++程序
習題7
上機練習7

第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.8 C++中的排序
習題8
上機練習8

第9章 常用算法設計技術
9.1 蠻力算法
9.1.1 蠻力算法思想
9.1.2 蠻力算法應用實例——*近對問題
9.2 分治算法
9.2.1 分治算法思想
9.2.2 分治算法設計
9.2.3 分治算法設計應用實例——棋盤覆蓋問題
9.3 動態規劃算法
9.3.1 動態規劃算法思想及設計
9.3.2 動態規劃算法應用實例——0/1背包問題
9.4 貪心算法
9.4.1 貪心算法技術思想
9.4.2 貪心算法設計
9.4.3 貪心算法應用實例——背包問題
9.5 回溯算法
9.5.1 回溯算法有關概念
9.5.2 回溯算法思想
9.5.3 回溯算法設計
9.5.4 回溯算法應用實例——裝載問題
9.6 分支限界算法
9.6.1 分支限界算法思想
9.6.2 分支限界算法設計
9.6.3 分支限界算法應用實例——任務分配問題
習題9
上機練習9

第10章 標準模板庫
10.1 STL簡介
10.1.1 容器
10.1.2 迭代器
10.1.3 算法
10.2 STL應用實例
10.2.1 雙向鏈表操作的STL實現
10.2.2 STL測試程序
習題10
上機練習10
參考文獻

展開全部

算法與數據結構 節選

第3章棧和隊列 本章學習要點 (1) 掌握棧和隊列這兩種數據結構的特點,了解在什么問題中應該使用哪種結構。 (2) 熟悉棧(隊列)和線性表的關系、順序棧(順序隊列)和順序表的關系、鏈棧(鏈隊列)和鏈表的關系。 (3) 重點掌握在順序棧和鏈棧上實現的棧的7種基本運算,特別注意棧滿和棧空的條件及它們的描述。 (4) 重點掌握在循環隊列和鏈隊列上實現的7種基本運算,應特別注意隊滿和隊空的描述方法。 (5) 熟悉棧和隊列的下溢和上溢的概念; 順序隊列中產生假上溢的原因; 循環隊列消除假上溢的方法。 (6) 了解遞歸算法執行過程中工作記錄的變化情況。 棧和隊列與線性表有著密切的聯系,一方面,棧和隊列的邏輯結構也是線性結構; 另一方面,棧和隊列的基本操作是線性表操作的子集,因此,可將棧和隊列看成兩種特殊的線性表。 3.1棧 3.1.1棧的基本概念 日常生活中有不少類似于棧(如圖3.1(a)所示)的例子。假設有一個很窄的死胡同,其寬度只能容納一輛車,現有5輛車,分別編號為①~⑤,按編號順序依次進入此胡同,若要退出④,必須先退出⑤; 若要退出①必須將⑤、④、③、②依次都退出才行。這個死胡同就是一個棧,如圖3.1(b)所示。 圖3.1棧及其示例 棧(stack)是允許僅在表的一端進行插入和刪除操作的線性表。允許進行插入和刪除的一端稱為棧頂(top),不允許插入和刪除的一端稱為棧底(bottom)。不含元素的空表稱為空棧。 假設棧S=(a1,a2,…,an),如圖3.1(a)所示,a1為棧底元素,an為棧頂元素。棧中元素按a1,a2,…,an的次序進棧,退棧的**個元素應為棧頂元素。也就是說,棧的特點是后進先出(last in first out,LIFO),因此,棧又稱為后進先出的線性表,簡稱LIFO線性表。 在已知棧的邏輯結構和確定常用運算后,就可以定義棧的抽象數據類型。 ADT3.1是棧的抽象數據類型描述,其中包含*常見的棧運算。 ADT3.1棧ADT ADT stack{ 數據對象: D={ai|ai∈元素集合,i=1,2,…,n,n≥0} 數據關系: R1={〈ai-1,ai〉|ai-1,ai∈D,i=2,…,n},約定an端為棧頂,a1為棧底。 基本操作: InitStack(): 創建一個空棧。 Destroy(): 撤銷一個棧。 StackEmpty(): 若棧空,則返回1,否則返回0。 StackFull(): 若棧滿,則返回1,否則返回0。 Top(x): 在x中返回棧頂元素。若操作成功,則返回1,否則返回0。 Push(): 在棧頂插入元素x(入棧)。若操作成功,則返回1,否則返回0。 Pop(): 從棧中刪除棧頂元素(出棧)。若操作成功,則返回1,否則返回0。 Clear(): 清除棧中全部元素。 }ADT stack 圖3.2十進制數35轉換成 二進制數的過程 棧的應用非常廣泛,例如進位記數制之間的轉換問題。在將十進制數轉換成二進制數時,常采用除法。用初始十進制數除以2,把余數記錄下來,若商不為0,則再用商去除以2,直到商為0,這時把所有的余數按出現的逆序排列起來(先出現的余數排在后面,后出現的余數排在前面)就得到了相應的二進制數。例如把十進制數35轉換成二進制數的過程如圖3.2所示。 根據上述操作的描述,可以采用一個棧來保存所有的余數,當商為0時讓棧中的所有余數出棧,這樣就得到了正確的二進制數。 算法3.1十進制數轉換成二進制數算法。 void conversion() { Stack S; int n; InitStack(&S); printf("Input a number to convert:\n"); scanf("%d",&n); if(n<0) { printf("\nThe number must be over 0."); return 0; } if(n==0) Push(&S,0); while(n!=0) { Push(&S,n%2); n=n/2; } printf("the result is: "); while(!StackEmpty(&S)) { printf("%d", Pop(&S)); } }

算法與數據結構 作者簡介

主編先后主講數據結構、算法設計與分析、程序設計基礎、計算機組成原理等課程,同時悉心指導課程設計和畢業設計,積極指導學生課外科技活動。在教學中形成了獨特的教學風格,教學經驗豐富,受到師生好評,在教學質量排名中一直位居前20%;作為重慶理工大學精品課程《數據結構》負責人,對課程建設作了大量工作。 主編始終站在教學、科研一線,積極參加教育教學改革和科學研究,主編出版《算法與數據結構》等教材4部,參編4部;在國內外學術期刊和國際會議上公開發表論文40余篇,其中被EI、ISTP檢索7篇;主持并完成“光通訊網絡互連技術研究”等省部級科研項目4項,參與20余項;主持并完成“地方高校程序設計系列課程改革研究與實踐”、“地方高校專業學位研究生算法設計案例庫的建設研究”等教研項目4項;獲重慶市自然科學三等獎1項、重慶市教學成果三等獎1項、校優秀教學成果2項;多次獲得校“教學工作優秀教師”等獎項。

商品評論(0條)
暫無評論……
書友推薦
本類暢銷
返回頂部
中圖網
在線客服
主站蜘蛛池模板: 细石混凝土泵_厂家_价格-烟台九达机械有限公司 | 窖井盖锯圆机_锯圆机金刚石锯片-无锡茂达金刚石有限公司 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 章丘丰源机械有限公司 - 三叶罗茨风机,罗茨鼓风机,罗茨风机 | 沈阳庭院景观设计_私家花园_别墅庭院设计_阳台楼顶花园设计施工公司-【沈阳现代时园艺景观工程有限公司】 | 别墅图纸超市|别墅设计图纸|农村房屋设计图|农村自建房|别墅设计图纸及效果图大全 | 卫生纸复卷机|抽纸机|卫生纸加工设备|做卫生纸机器|小型卫生纸加工需要什么设备|卫生纸机器设备多少钱一台|许昌恒源纸品机械有限公司 | 编织人生 - 权威手工编织网站,编织爱好者学习毛衣编织的门户网站,织毛衣就上编织人生网-编织人生 | 合肥抖音SEO网站优化-网站建设-网络推广营销公司-百度爱采购-安徽企匠科技 | 华禹护栏|锌钢护栏_阳台护栏_护栏厂家-华禹专注阳台护栏、楼梯栏杆、百叶窗、空调架、基坑护栏、道路护栏等锌钢护栏产品的生产销售。 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 便携式XPDM露点仪-在线式防爆露点仪-增强型烟气分析仪-约克仪器 冰雕-冰雪世界-大型冰雕展制作公司-赛北冰雕官网 | 长沙广告公司_制作,长沙喷绘_发光字_招牌制作_长沙泓润广告官网 长城人品牌官网 | 威海防火彩钢板,威海岩棉复合板,威海彩钢瓦-文登区九龙岩棉复合板厂 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 流量卡中心-流量卡套餐查询系统_移动电信联通流量卡套餐大全 | 不锈钢发酵罐_水果酒发酵罐_谷物发酵罐_山东誉诚不锈钢制品有限公司 | 24位ADC|8位MCU-芯易德科技有限公司 | 艾默生变频器,艾默生ct,变频器,ct驱动器,广州艾默生变频器,供水专用变频器,风机变频器,电梯变频器,艾默生变频器代理-广州市盟雄贸易有限公司官方网站-艾默生变频器应用解决方案服务商 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 烽火安全网_加密软件、神盾软件官网 | 螺纹三通快插接头-弯通快插接头-宁波舜驰气动科技有限公司 | 工业插头-工业插头插座【厂家】-温州罗曼电气| 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 天津蒸汽/热水锅炉-电锅炉安装维修直销厂家-天津鑫淼暖通设备有限公司 | 搜活动房网—活动房_集装箱活动房_集成房屋_活动房屋 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 活性氧化铝|无烟煤滤料|活性氧化铝厂家|锰砂滤料厂家-河南新泰净水材料有限公司 | 扬尘在线监测系统_工地噪声扬尘检测仪_扬尘监测系统_贝塔射线扬尘监测设备「风途物联网科技」 | 北京环球北美考试院【官方网站】|北京托福培训班|北京托福培训 | 实体店商新零售|微赢|波后|波后合作|微赢集团| 【直乐】河北石家庄脊柱侧弯医院_治疗椎间盘突出哪家医院好_骨科脊柱外科专业医院_治疗抽动症/关节病骨伤权威医院|排行-直乐矫形中医医院 | 无尘烘箱_洁净烤箱_真空无氧烤箱_半导体烤箱_电子防潮柜-深圳市怡和兴机电 | 道康宁消泡剂-瓦克-大川进口消泡剂供应商 | 聚合甘油__盐城市飞龙油脂有限公司 | 南京试剂|化学试剂|分析试剂|实验试剂|cas号查询-专业60年试剂销售企业 | 电液推杆生产厂家|电动推杆|液压推杆-扬州唯升机械有限公司 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 恒温振荡混匀器-微孔板振荡器厂家-多管涡旋混匀器厂家-合肥艾本森(www.17world.net) |