数据结构简明教程(第2版)-微课版
作者:李春葆、蒋林、方颖、喻丹丹、曾平
出版社:清华大学出版社
ISBN:9787302516309
VIP会员免费
(仅需0.8元/天)
¥ 32.18
温馨提示: 价值40000元的1000本电子书,VIP会员随意看哦!
电子书推荐
-
数据结构与算法分析:C++语言描述 中文第四版 高清含书签.pdf版下载 评分:
本版特色如下: *书中的阐述和算法均用C++新标准C++11的代码实现。 *unordered_map两个类模板的简要讨论。 *增加了基数排序和与选择相关问题下界的证明。增加了对AVL树删除算法的实现。使用新的union/find分析同时改进此前各版的较弱的O(Mlog*N)界。
上传时间:2018-12 大小:94.46MB
- 192.99MB
C++数据结构与算法 (第4版)
2019-01-06C++数据结构与算法 (第4版)
- 77B
C++数据结构与算法 第四版
2018-12-18在编写程序之前,必须清楚地了解如何通过程序实现所要完成的任务。因此,在编写代码之前,应列出程序的提纲,包括其需求。项目越大、越复杂,这个提纲就应该越详细。实现的细节应该在项目的后期完成。实现阶段要用到的详细数据结构更不应该在一-开始就指定。 在刚开始的时候,最重要的是每一项任务的输入输出。在开始阶段,应该关心程序需要做什么,而不是如何去做。程序的行为比实现程序的机制更为重要。例如,如果某个项需要完成-些任务,那么应该指定在这个项上进行的操作,而不是指定这个项的内部结构。这些操作是基于这个项的,例如修改项、查找项中的些细节或者对项中的-些内容进行排序。当明确指定这些操作之后,就可以开始实现这个程序了。实现决定应该使用哪种数据结构,从而达到更好的时间以及空间执行效率。指定了操作的项被称为抽象数据类型(ADT)。抽象数据类型不是程序的部分,因为用编程语言编写的程序需要定义数据结构,而不只是数据结构上执行的操作。然而,诸如C+ +之类的面向对象语言(OOL)与抽象数据类型有着直接的联系,这种语言将OOL作为-个类来实现。
- 11.23MB
数据结构与算法:C++描述
2008-11-10本书是关于计算机科学与工程领域的基础性研究科目之一——数据结构与算法的专著。 本书在简要回顾了基本的C++ 程序设计概念的基础上,全面系统地介绍了队列、堆栈、树、图等基本数据结构,以及贪婪算法、分而治之算法、分枝定界算法等多种算法设计方法,为数据结构与算法的继续学习和研究奠定了一个坚实的基础。更为可贵的是,本书不仅仅介绍了理论知识,还提供了50多个应用实例及600多道练习题。 本书内容广博权威,结构清晰合理,是一本全新的有关数据结构与算法的教材,对于计算机科学与工程领域的从业人员也是一本很好的参考书 目 录 译者序 前言 第一部分 预备知识 第1章 C++程序设计 1 1.1 引言 1 1.2 函数与参数 2 1.2.1 传值参数 2 1.2.2 模板函数 3 1.2.3 引用参数 3 1.2.4 常量引用参数 4 1.2.5 返回值 4 1.2.6 递归函数 5 1.3 动态存储分配 9 1.3.1 操作符new 9 1.3.2 一维数组 9 1.3.3 异常处理 10 1.3.4 操作符delete 10 1.3.5 二维数组 10 1.4 类 13 1.4.1 类Currency 13 1.4.2 使用不同的描述方法 18 1.4.3 操作符重载 20 1.4.4 引发异常 22 1.4.5 友元和保护类成员 23 1.4.6 增加#ifndef, #define和#endif语句 24 1.5 测试与调试 24 1.5.1 什么是测试 24 1.5.2 设计测试数据 26 1.5.3 调试 28 1.6 参考及推荐读物 29 第2章 程序性能 30 2.1 引言 30 2.2 空间复杂性 31 2.2.1 空间复杂性的组成 31 2.2.2 举例 35 2.3 时间复杂性 37 2.3.1 时间复杂性的组成 37 2.3.2 操作计数 37 2.3.3 执行步数 44 2.4 渐进符号(O、 健?、 o) 55 2.4.1 大写O符号 56 2.4.2 椒?58 2.4.3 符号 59 2.4.4 小写o符号 60 2.4.5 特性 60 2.4.6 复杂性分析举例 61 2.5 实际复杂性 66 2.6 性能测量 68 2.6.1 选择实例的大小 69 2.6.2 设计测试数据 69 2.6.3 进行实验 69 2.7 参考及推荐读物 74 第二部分 数据结构 第3章 数据描述 75 3.1 引言 75 3.2 线性表 76 3.3 公式化描述 77 3.3.1 基本概念 77 3.3.2 异常类NoMem 79 3.3.3 操作 79 3.3.4 评价 83 3.4 链表描述 86 3.4.1 类ChainNode 和Chain 86 3.4.2 操作 88 3.4.3 扩充类Chain 91 3.4.4 链表遍历器类 92 3.4.5 循环链表 93 3.4.6 与公式化描述方法的比较 94 3.4.7 双向链表 95 3.4.8 小结 96 3.5 间接寻址 99 3.5.1 基本概念 99 3.5.2 操作 100 3.6 模拟指针 102 3.6.1 SimSpace的操作 103 3.6.2 采用模拟指针的链表 106 3.7 描述方法的比较 110 3.8 应用 111 3.8.1 箱子排序 111 3.8.2 基数排序 116 3.8.3 等价类 117 3.8.4 凸包 122 3.9 参考及推荐读物 127 第4章 数组和矩阵 128 4.1 数组 128 4.1.1 抽象数据类型 128 4.1.2 C++数组 129 4.1.3 行主映射和列主映射 129 4.1.4 类Array1D 131 4.1.5 类Array2D 133 4.2 矩阵 137 4.2.1 定义和操作 137 4.2.2 类Matrix 138 4.3 特殊矩阵 141 4.3.1 定义和应用 141 4.3.2 对角矩阵 143 4.3.3 三对角矩阵 144 4.3.4 三角矩阵 145 4.3.5 对称矩阵 146 4.4 稀疏矩阵 149 4.4.1 基本概念 149 4.4.2 数组描述 149 4.4.3 链表描述 154 第5章 堆栈 161 5.1 抽象数据类型 161 5.2 派生类和继承 162 5.3 公式化描述 163 5.3.1 Stack的效率 164 5.3.2 自定义Stack 164 5.4 链表描述 166 5.5 应用 169 5.5.1 括号匹配 169 5.5.2 汉诺塔 170 5.5.3 火车车厢重排 172 5.5.4 开关盒布线 176 5.5.5 离线等价类问题 178 5.5.6 迷宫老鼠 180 5.6 参考及推荐读物 188 第6章 队列 189 6.1 抽象数据类型 189 6.2 公式化描述 190 6.3 链表描述 194 6.4 应用 197 6.4.1 火车车厢重排 197 6.4.2 电路布线 201 6.4.3 识别图元 204 6.4.4 工厂仿真 206 6.5 参考及推荐读物 217 第7章 跳表和散列 218 7.1 字典 218 7.2 线性表描述 219 7.3 跳表描述 222 7.3.1 理想情况 222 7.3.2 插入和删除 223 7.3.3 级的分配 224 7.3.4 类SkipNode 224 7.3.5 类SkipList 225 7.3.6 复杂性 229 7.4 散列表描述 229 7.4.1 理想散列 229 7.4.2 线性开型寻址散列 230 7.4.3 链表散列 234 7.5 应用——文本压缩 238 7.5.1 LZW压缩 239 7.5.2 LZW压缩的实现 239 7.5.3 LZW解压缩 243 7.5.4 LZW解压缩的实现 243 7.6 参考及推荐读物 247 第8章 二叉树和其他树 248 8.1 树 248 8.2 二叉树 251 8.3 二叉树的特性 252 8.4 二叉树描述 253 8.4.1 公式化描述 253 8.4.2 链表描述 254 8.5 二叉树常用操作 256 8.6 二叉树遍历 256 8.7 抽象数据类型BinaryTree 259 8.8 类BinaryTree 260 8.9 抽象数据类型及类的扩充 263 8.9.1 输出 263 8.9.2 删除 264 8.9.3 计算高度 264 8.9.4 统计节点数 265 8.10 应用 265 8.10.1 设置信号放大器 265 8.10.2 在线等价类 268 8.11 参考及推荐读物 275 第9章 优先队列 276 9.1 引言 276 9.2 线性表 277 9.3 堆 278 9.3.1 定义 278 9.3.2 最大堆的插入 279 9.3.3 最大堆的删除 279 9.3.4 最大堆的初始化 280 9.3.5 类MaxHeap 281 9.4 左高树 285 9.4.1 高度与宽度优先的最大及最小 左高树 285 9.4.2 最大HBLT的插入 287 9.4.3 最大HBLT的删除 287 9.4.4 合并两棵最大HBLT 287 9.4.5 初始化最大HBLT 289 9.4.6 类MaxHBLT 289 9.5 应用 293 9.5.1 堆排序 293 9.5.2 机器调度 294 9.5.3 霍夫曼编码 297 9.6 参考及推荐读物 302 第10章 竞?303 10.1 引言 303 10.2 抽象数据类型WinnerTree 306 10.3 类WinnerTree 307 10.3.1 定义 307 10.3.2 类定义 307 10.3.3 构造函数、析构函数及Winner 函数 308 10.3.4 初始化赢者树 308 10.3.5 重新组织比赛 310 10.4 输者树 311 10.5 应用 312 10.5.1 用最先匹配法求解箱子装载 问题 312 10.5.2 用相邻匹配法求解箱子装载 问题 316 第11章 搜索树 319 11.1 二叉搜索树 320 11.1.1 基本概念 320 11.1.2 抽象数据类型BSTree和 IndexedBSTree 321 11.1.3 类BSTree 322 11.1.4 搜索 322 11.1.5 插入 323 11.1.6 删除 324 11.1.7 类DBSTree 326 11.1.8 二叉搜索树的高度 327 11.2 AVL树 328 11.2.1 基本概念 328 11.2.2 AVL树的高度 328 11.2.3 AVL树的描述 329 11.2.4 AVL搜索树的搜索 329 11.2.5 AVL搜索树的插入 329 11.2.6 AVL搜索树的删除 332 11.3 红-黑树 334 11.3.1 基本概念 334 11.3.2 红-黑树的描述 336 11.3.3 红-黑树的搜索 336 11.3.4 红-黑树的插入 336 11.3.5 红-黑树的删除 339 11.3.6 实现细节的考虑及复杂性分析 343 11.4 B-树 344 11.4.1 索引顺序访问方法 344 11.4.2 m 叉搜索树 345 11.4.3 m 序B-树 346 11.4.4 B-树的高度 347 11.4.5 B-树的搜索 348 11.4.6 B-树的插入 348 11.4.7 B-树的删除 350 11.4.8 节点结构 353 11.5 应用 354 11.5.1 直方图 354 11.5.2 用最优匹配法求解箱子装载 问题 357 11.5.3 交叉分布 359 11.6 参考及推荐读物 363 第12章 图 365 12.1 基本概念 365 12.2 应用 366 12.3 特性 368 12.4 抽象数据类型Graph和Digraph 370 12.5 无向图和有向图的描述 371 12.5.1 邻接矩阵 371 12.5.2 邻接压缩表 373 12.5.3 邻接链表 374 12.6 网络描述 375 12.7 类定义 376 12.7.1 不同的类 376 12.7.2 邻接矩阵类 377 12.7.3 扩充Chain类 380 12.7.4 类LinkedBase 381 12.7.5 链接类 382 12.8 图的遍历 386 12.8.1 基本概念 386 12.8.2 邻接矩阵的遍历函数 387 12.8.3 邻接链表的遍历函数 388 12.9 语言特性 389 12.9.1 虚函数和多态性 389 12.9.2 纯虚函数和抽象类 391 12.9.3 虚基类 391 12.9.4 抽象类和抽象数据类型 393 12.10 图的搜索算法 394 12.10.1 宽度优先搜索 394 12.10.2 类Network 395 12.10.3 BFS的实现 395 12.10.4 BFS的复杂性分析 396 12.10.5 深度优先搜索 397 12.11 应用 399 12.11.1 寻找路径 399 12.11.2 连通图及其构件 400 12.11.3 生成树 402 第三部分 算法设计方法 第13章 贪婪算法 405 13.1 最优化问题 405 13.2 算法思想 406 13.3 应用 409 13.3.1 货箱装船 409 13.3.2 0/1背包问题 410 13.3.3 拓扑排序 412 13.3.4 二分覆盖 415 13.3.5 单源最短路径 421 13.3.6 最小耗费生成树 424 13.4 参考及推荐读物 433 第14章 分而治之算法 434 14.1 算法思想 434 14.2 应用 440 14.2.1 残缺棋盘 440 14.2.2 归并排序 443 14.2.3 快速排序 447 14.2.4 选择 452 14.2.5 距离最近的点对 454 14.3 解递归方程 462 14.4 复杂性的下限 463 14.4.1 最小最大问题的下限 464 14.4.2 排序算法的下限 465 第15章 动态规划 467 15.1 算法思想 467 15.2 应用 469 15.2.1 0/1背包问题 469 15.2.2 图像压缩 471 15.2.3 矩阵乘法链 476 15.2.4 最短路径 480 15.2.5 网络的无交叉子集 483 15.2.6 元件折叠 486 15.3 参考及推荐读物 491 第16章 回溯 492 16.1 算法思想 492 16.2 应用 496 16.2.1 货箱装船 496 16.2.2 0/1背包问题 503 16.2.3 最大完备子图 506 16.2.4 旅行商问题 508 16.2.5 电路板排列 510 第17章 分枝定界 516 17.1 算法思想 516 17.2 应用 519 17.2.1 货箱装船 519 17.2.2 0/1背包问题 526 17.2.3 最大完备子图 528 17.2.4 旅行商问题 529 17.2.5 电路板排列 532
- 4.65MB
数据结构与算法分析C++语言描述第四版参考答案
2021-10-13Solution&Code; for Data Structures and Algorithm Analysis in C++, 4E ,教材答案与源码
- 29.23MB
C++数据结构与算法_第4版_Adam.part4.
2017-07-13C++数据结构与算法_第4版_Adam,共4个压缩文件,在我的所有资源里可以找到剩下的三卷。
- 3.10MB
数据结构与算法分析:C++语言描述 第三版 答案
2014-06-25数据结构与算法分析:C++语言描述 第三版 答案
- 4.9MB
[电子教案]算法设计与分析:C++语言描述(第2版).rar
2015-05-13[电子教案]算法设计与分析:C++语言描述(第2版).rar
- 26.82MB
数据结构与算法分析–C++描述(第3版,WEISS著,含习题答案)
2013-06-12数据结构与算法分析–C++描述(第3版,WEISS著)
- 12.41MB
数据结构算法与应用-C++语言描述_Sahni著
2014-12-02数据结构算法与应用-C++语言描述_Sahni著,pdf格式,中文版,附源码。
- 172.76MB
C++数据结构与算法 第四版(带目录)完整版
2019-01-16内含有C++数据结构与算法 第四版(带目录)完整版和C++函数手册两样。
- 3.10MB
数据结构与算法分析C++描述习题答案
2009-03-16数据结构与算法分析C++描述习题答案。 Mark Allerl Weiss教授撰写的数据结构与算法分析方面的著作曾被评为20世纪最佳的30部计算机著作之一,已经成为公认的经典之作,被全球数百所大学采用为教材,广受好评。 本书秉承Weiss著作一贯的严谨风格,同时又突出了实践。书中充分应用了现代C++语言特性,透彻地讲述了数据结构的原理和应用,不仅使学生具备算法分析能力,能够开发高效的程序,而且让学生掌握良好的程序设计技巧。
- 1.96MB
MarkAllenWeiss数据结构与算法分析c++语言描述答案
2018-09-04MarkAllenWeiss数据结构与算法分析c++语言描述答案,第三版答案
- 9.95MB
数据结构与算法.pdf
2019-08-10数据结构与算法 c++实现 结合黑马程序员和浙大数据结构课程
- 13.85MB
数据结构实用教程第一版_徐孝凯
2014-06-11徐孝凯的数据结构,通俗易懂,都是完整实现,方便调试,下载不需要积分,
- 40.0MB
C++数据结构与算法_第4版_Adam.part3
2017-07-13C++数据结构与算法_第4版_Adam,共4个压缩文件,在我的所有资源里可以找到剩下的三卷。
- 282KB
数据结构实用教程(C++版)[程序源代码].
2012-04-22数据结构实用教程(C++版)[万健][程序源代码]
- 192.89MB
C++数据结构与算法 第4版
2018-05-02通俗易懂 数据结构与算法
- 602KB
数据结构各种算法实现(C++模板)
2017-08-02数据结构各种算法实现(C++模板)
- 184.19MB
Algorithm 第四版
2018-03-25算法第4版,Java语言描述,完整版184M,带书签。高清pdf版
- 9.57MB
数据结构教程 第四版
2011-04-05非常实用数据结构教程,我一直都在用,对学习很有帮助。
- 3.10MB
《数据结构与算法分析C++描述第三版》答案
2017-09-03作为数据结构与算法分析C++描述第三版教材的课后习题配套使用。本pdf文档为英文版本,对应教程中每章节后面的课后习题答案。
- 145KB
数据结构算法与应用-C++语言描述目录.pdf-综合文档
2021-05-22数据结构算法与应用-C++语言描述目录.pdf
- 1.4MB
数据结构第二版(李春葆版)课后习题源代码
2009-11-27本资源包含了数据结构第二版(李春葆版)课后习题的所有源代码,并且都在VC++上编译通过。
- 3.89MB
通信的数学理论(中文版)
2009-12-24The mathematical theory of communication ,中文版,全新的翻译。
- 445KB
通信的数学原理
2015-04-25信息论的发端,香农的博士论文,通信人比读文章,没有之一。
- 3.51MB
通信的数学原理中文版.pdf
2021-10-05通信的数学原理中文版.pdf
- 314KB
信息论之父Shannon的经典之作:《通信的数学理论》
2008-10-03信息论之父Shannon的经典之作:《通信的数学理论》
- 5.18MB
数据结构、算法与应用 C++语言描述 原书第2版源码
2019-02-06数据结构、算法与应用 C++语言描述 原书第2版源码。
- 219KB
第十五届蓝桥杯大赛软件赛省赛C++B组题目
2024-04-13资源名称:第十五届蓝桥杯大赛软件赛省赛C++B组题目集 文件格式:PDF 内容概述: 本资源包含了第十五届蓝桥杯大赛软件赛省赛C++B组的全部题目。蓝桥杯大赛作为国内知名的软件编程竞赛,每年都会吸引大量的软件编程爱好者参与。本次大赛的C++B组题目不仅涵盖了基础编程知识,还涉及了算法设计、数据结构等多个方面,对于提升编程能力和拓宽编程视野具有极大的帮助。 资源特色: 题目全面:包含所有C++B组的赛题,方便参赛者进行复习和练习。 解析详尽:每个题目都附带有详细的解析,帮助参赛者理解题目要求和解题思路。 实战性强:题目难度适中,既适合初学者进行基础训练,也适合有一定编程基础的选手进行挑战。 便于学习:PDF格式方便下载和打印,方便参赛者在任何时间、任何地点进行学习。 适用人群: 准备参加蓝桥杯大赛的C++B组选手 对C++编程和算法设计感兴趣的编程爱好者 希望提升编程能力和拓宽编程视野的学生和从业者 资源价值: 本资源不仅可以帮助参赛者更好地备战蓝桥杯大赛,还可以作为编程学习和算法设计的优秀资料,对于提升个人编程能力和拓宽视野具有重要的价值。可以通过学习和练习这些题目。
- 176KB
第十五届蓝桥杯大赛软件赛省赛-C++A组题目
2024-04-13您是否正在为参加蓝桥杯软件赛做准备?您是否想一睹最新的比赛题目,了解赛题风格和难度?这里,我们为您带来了第十五届蓝桥杯大赛软件赛省赛C++A组的题目全集,以PDF格式呈现,方便您随时随地进行查阅和学习。 这份资源包含了完整的赛题内容,不仅有助于您了解比赛的题型和难度,还能为您的备考提供宝贵的参考资料。无论是想提升自己的编程技能,还是想为即将到来的比赛做好充分准备,这份资源都是您不可或缺的学习材料。 内容特点: 完整性:包含第十五届蓝桥杯大赛软件赛省赛C++A组的全部题目,让您无需担心遗漏。 高清版:PDF文件清晰易读,保证您能够准确理解题目要求。 方便性:PDF格式方便下载和打印,支持多种设备和平台,让您随时随地都能进行学习。 实用性:题目难度适中,适合各层次的编程爱好者,无论您是初学者还是有一定经验的选手,都能从中获益。 温馨提示: 在使用本资源时,请您注意保护知识产权,不要将资源用于商业用途或非法传播。同时,也建议您在备考过程中,结合其他学习资料和实际编程练习,全面提升自己的编程能力和解题技巧。 希望这份资源能够为您的蓝桥杯软件赛备考之路提供有力的支持。