首页| 行业标准| 论文文档| 电子资料| 图纸模型
购买积分 购买会员 激活码充值

您现在的位置是:团子下载站 > 其他 > 《数据结构C++语言描述》应用标准摸板库STL(第2版)电子教材免费下载

《数据结构C++语言描述》应用标准摸板库STL(第2版)电子教材免费下载

  • 资源大小:20.82 MB
  • 上传时间:2021-08-05
  • 下载次数:0次
  • 浏览次数:103次
  • 资源积分:1积分
  • 标      签: 数据结构 STL C++

资 源 简 介

很适合初学者学习数据结构和STL应用的一本书!如果你掌握了C++的基本知识(只是基本掌握,这书里面也有很详细的C++知识),强烈推荐看这本书进阶!里面还有N多的习题和项目设计,还带有参考答案。个人用STL去实现最实用的数据结构,绝对没有书出这书之右了!我还为这本书还加上了目录,之前在网上找到的这本书的PDF都是没有目录的,这么大块头没目录怎么行!下载吧,没错的!   本书是ford和topp两位教授于1996年出版的名著data structures with c++的第2版,新版中引入了在ansi c 1998中正式规定的标准模板库(stl)来讲授数据结构,在全球范围内已经有数以万计的学生从中受益。 作者将c++语言作为算法描述语言,应用包含规范化的数据结构的标准模板库,集中讲述了数组、向量、表、关联树容器,以及集合、映射、堆、哈希表和图等数据结构及其算法,重点讨论了如何高效地存储大型数据集合,涵盖了数据结构初级和高级教程的最新内容。书中各章章前提出学习目标,章后附有丰富的练习题、答案以及书面练习和上机编程练习,指导读者迅速、全面地掌握核心知识点和编程技巧。 本书可作为计算机及相关专业数据结构课程的核心教材,对于广大研发人员,也是一本数据结构与面向对象技术完整结合的全新技术参考用书。   第1章 数据结构入门 1   1.1 本书主要内容 1   数据结构和算法 4   1.2 数据结构的抽象形式 4   time24 adt 5   1.3 作为类的adt 6   1.3.1 c++类 6   1.3.2 private 和 public部分 7   1.3.3 封装和信息隐藏 7   1.3.4 TIme24类 7   1.4 实现c++类 10   1.5 声明和使用对象 14   1.6 使用嵌入码实现类 16   1.7 应用程序编程接口(api) 18   1.7.1 随机数 19   1.7.2 randomnumber api 19   1.7.3 应用程序:掷骰子游戏 21   1.8 字符串 23   1.8.1 字符串类 24   1.8.2 附加字符串函数和操作 25   .1.9 本章小结 29   1.10 本章使用的类和库 30   1.11 复习题 31   1.12 书面作业 35   1.13 上机题 41   1.14 项目设计 44   第2章 对象设计技术 46   2.1 软件设计 47   2.1.1 需求和问题分析 48   2.1.2 程序设计 48   2.1.3 设计日历类 49   2.1.4 程序实现 52   2.1.5 实现日历类 52   2.1.6 程序测试与调试 54   2.1.7 程序维护 57   2.2 处理运行时错误 57   2.2.1 终止程序 57   2.2.2 设置标志 58   2.2.3 c++异常 59   2.3 对象复合 62   2.3.1 TImecard类 63   2.3.2 实现TImecard类 64   2.4 运算符重载 68   2.4.1 运算符函数 71   2.4.2 自由函数的运算符重载 72   2.4.3 友元函数的运算符重载 72   2.4.4 重载数据流i/o运算符 75   2.4.5 成员函数重载 78   2.5 本章小结 81   2.6 本章使用的类和库 82   2.7 复习题 82   2.8 书面作业 86   2.9 上机题 90   2.10 项目设计 91   第3章 算法概述 96   3.1 选择排序 97   3.2 简单查找算法 101   3.2.1 顺序查找 101   3.2.2 二分查找 103   3.3 算法分析 108   3.3.1 系统/内存性能标准 108   3.3.2 算法性能标准:时间复杂度分析 108   3.3.3 大ο符号 111   3.3.4 常见数量级 112   3.4 分析查找算法 114   3.4.1 二分查找时间复杂度 114   3.4.2 查找算法比较 115   3.5 算法的通用性 118   3.5.1 模板语法 119   3.5.2 运行时模板扩展 120   3.5.3 基于模板的查找函数 122   3.6 递归的概念 123   3.6.1 实现递归函数 125   3.6.2 递归的工作方式 127   3.6.3 应用:多进制输出 129   3.7 用递归解决问题 131   3.7.1 汉诺塔 131   3.7.2 数论:最大公约数 134   3.7.3 gcd的应用:有理数 136   3.7.4 计算递归式 139   3.8 本章小结 142   3.9 本章使用的类和库 143   3.10 复习题 143   3.11 书面作业 147   3.12 上机题 153   3.13 项目设计 156   第4章 向量容器 157   4.1 stl容器类概述 158   4.2 模板类 161   4.2.1 构造模板类 161   4.2.2 声明模板类对象 163   4.3 向量类 164   4.3.1 向量容器入门 166   4.3.2 向量api 171   4.4 向量应用 173   4.4.1 合并向量 173   4.4.2 插入排序 173   4.5 本章小结 177   4.6 本章使用的类和库 178   4.7 复 习 题 178   4.8 书面作业 181   4.9 上机题 186   4.10 项目设计 187   第5章 指针和动态内存 188   5.1 c++指针 189   5.1.1 声明指针变量 190   5.1.2 指针赋值 190   5.1.3 用指针访问数据 191   5.1.4 数组和指针 192   5.1.5 指针和类类型 194   5.2 动态内存 196   5.2.1 内存分配运算符new 196   5.2.2 动态数组分配 198   5.2.3 内存释放运算符delete 199   5.3 使用动态内存的类 200   5.3.1 dynamicclass类 200   5.3.2 析构函数 202   5.4 赋值和初始化 204   5.4.1 赋值问题 205   5.4.2 重载的赋值运算符 206   5.4.3 指针 this 207   5.4.4 初始化问题 207   5.4.5 创建复制构造函数 208   5.5 minivector类 211   5.5.1 minivector类的设计 212   5.5.2 分配更多的容量 214   5.5.3 minivector的构造函数、析构函数和赋值 215   5.5.4 从minivector对象中增加和删除元素 217   5.5.5 重载下标运算符 220   5.6 矩阵类 222   5.6.1 描述矩阵容器 223   5.6.2 实现矩阵函数 226   5.7 本章小结 227   5.8 本章中的类和库 227   5.9 复习题 228   5.10 书面作业 231   5.11 上机题 238   5.12 项目设计 239   第6章 表容器和迭代器 241   6.1 表容器 242   6.1.1 表 adt 243   6.1.2 表api 245   6.1.3 应用:表回文 246   6.2 迭代器 248   6.2.1 迭代器的概念 248   6.2.2 常量迭代器 251   6.2.3 顺序查找表 252   6.2.4 应用:词的出现频率 255   6.3 表插入和删除操作 258   6.3.1 有序表 260   6.3.2 删除重复项 262   6.3.3 合并两个表 264   6.4 实例研究:毕业生表 265   6.4.1 问题分析 265   6.4.2 程序设计 265   6.4.3 程序实现 266   6.5 本章小结 269   6.6 本章使用的类和库 270   6.7 复习题 270   6.8 书面作业 273   6.9 上机题 276   6.10 项目设计 279   第7章 栈 281   7.1 栈adt 282   7.1.1 多进制输出 285   7.1.2 分解栈元素 288   7.2 递归代码和运行栈 291   7.3 栈 的 实 现 294   7.3.1 ministack类的实现 296   7.3.2 stl stack类的实现(选学) 297   7.4 后缀表达式 298   7.4.1 后缀计算 299   7.4.2 postfixeval类 300   7.5 实例研究:中缀表达式计算 306   7.5.1 中缀表达式的特征 307   7.5.2 中缀到后缀的转换:算法设计 308   7.5.3 中缀转换为后缀:对象设计 311   7.5.3 中缀转换为后缀:对象设计 312   7.5.4 infix2postfix类的实现 314   7.6 本章小结 318   7.7 本章使用的类 319   7.8 复习题 319   7.9 书面作业 323   7.10 上机题 327   7.11 项目设计 328   第8章 队列和优先级队列 330   8.1 队列adt 331   8.2 基数排序 335   8.3 实现miniqueue类 339   8.4 实例研究:时间驱动的模拟 343   8.4.1 模拟程序设计 343   8.4.2 模拟程序的具体实现 344   8.5 用数组实现队列 349   8.5.1 设计有界队列 351   8.5.2 有界队列的实现 353   8.6 优先级队列 354   8.6.1 优先级队列adt 355   8.6.2 优先级队列排序 357   8.6.3 公司内的支持服务 358   8.7 本章小结 362   8.8 本章使用的类和库 363   8.9 复习题 363   8.10 书面作业 367   8.11 上机题 371   8.12 项目设计 373   第9章 链表 376   9.1 链表结点 378   9.1.1 链表结点类 378   9.1.2 添加和删除结点 381   9.2 建立链表 382   9.2.1 定义单向链表 382   9.2.2 在链表表头插入结点 384   9.2.3 在链表表头删除结点 385   9.2.4 删除特定的结点 386   9.3 处理链表表尾 389   9.4 用链表实现队列 393   9.4.1 linkedqueue类 393   9.4.2 实现linkedqueue类 395   9.5 双向链表 398   9.5.1 dnode对象 399   9.5.2 双向循环链表 401   9.6 更新双向链表 403   9.6.1 insert()函数 404   9.6.2 erase()函数 405   9.7 约瑟夫问题 409   9.8 minilist类 411   9.8.1 minilist类的私有成员 412   9.8.2 minilist类的构造函数和析构函数 413   9.8.3 处理表两端元素的函数 414   9.8.4 minilist的迭代器 415   9.8.5 minilist类成员函数begin()和end() 417   9.8.6 minilist类的通用插入函数 418   9.9 选择顺序容器 419   9.10 本 章 小 结 419   9.11 本章使用的类和库 421   9.12 复 习 题 421   复习题答案 425   9.13 书 面 作 业 427   9.14 上 机 题 430   9.15 项 目 设 计 431   第10章 二叉树 434   10.1 树结构 435   10.1.1 术语 436   10.1.2 二叉树 437   10.2 二叉树结点 440   建立二叉树 441   10.3 二叉树遍历算法 443   10.3.1 递归的树遍历 443   10.3.2 迭代层次遍历 446   10.4 使用树遍历算法 450   10.4.1 叶结点计数 450   10.4.2 计算树的深度 450   10.4.3 复制二叉树 453   10.4.4 删除树结点 456   10.4.5 显示二叉树 457   10.5 二叉搜索树 458   10.5.1 二叉搜索树概述 459   10.5.2 创建二叉搜索树 459   10.5.3 二叉搜索树中的数据查找 460   10.5.4 二叉搜索树的删除 461   10.5.5 二叉搜索树类 462   10.5.6 访问和更新操作 463   10.6 二叉搜索树的应用 467   10.6.1 应用:消除重复项 467   10.6.2 应用:录像带商店 469   10.7 stree类的实现 474   10.7.1 stree类数据成员 475   10.7.2 构造函数、析构函数和赋值运算符 475   10.7.3 更新操作 476   10.7.4 二叉搜索树的算法复杂度 483   10.8 stree迭代器(选学) 483   10.9 本章小结 488   10.10 本章使用的类和库 489   10.11 复习题 489   10.12 书面作业 494   10.13 上机题 497   10.14 项目设计 499   第11章 关联容器 503   11.1 关联容器概述 503   11.1.1 关联容器的种类 504   11.1.2 stl关联容器 506   11.1.3 实现关联容器 506   11.2 集合 507   11.2.1 使用迭代器显示容器元素 508   11.2.2 集合的访问和更新函数 508   11.2.3 简单的拼写检查程序 511   11.2.4 应用:埃拉托斯特尼筛法 514   11.2.5 集合运算 517   11.2.6 应用:更新计算机账号 520   11.3 映射 522   11.3.1 map类接口 523   11.3.2 映射的操作函数 525   11.3.3 映射的下标运算符 526   11.3.4 实例学习:单词统计 529   11.4 多重集 534   11.5 实现集合和映射 538   11.5.1 实现miniset的操作函数 539   11.5.2 minimap类 540   11.5.3 实现minimap类 542   11.5.4 minimap的下标运算符 543   11.6 本章小结 543   11.7 本章使用的类和库 544   11.8 复习题 545   11.9 书面作业 548   11.10 上 机 题 551   11.11 项 目 设 计 552   第12章 高级关联结构 555   12.1 哈 希 法 557   使用哈希函数 557   12.2 设计哈希函数 559   12.2.1 函数对象 559   12.2.2 函数对象举例 561   12.2.3 整型哈希函数 563   12.2.4 字符串哈希函数 564   12.2.5 定制哈希函数 565   12.3 哈希表 566   12.3.1 线性探测开放寻址法 566   12.3.2 独立表链地址法 568   12.4 hash类 569   12.4.1 应用:使用哈希表 571   12.4.2 hash类的实现 574   12.4.3 实现哈希迭代器 577   12.4.4 无序关联容器 580   12.5 哈希表的性能 581   12.6 2-3-4树 586   12.6.1 2-3-4树的插入算法 588   12.6.2 2-3-4树操作函数的时间复杂度 591   12.7 红黑树 592   12.7.1 红黑树的属性 593   12.7.2 向红黑树中添加结点 595   12.7.3 构造红黑树 599   12.7.4 查找算法的时间复杂度(选学) 601   12.7.5 从红黑树中删除结点 602   12.8 rbtree类 603   12.8.1 rbtree类的私有部分 606   12.8.2 拆分4-结点 606   12.8.3 insert()操作函数 608   12.9 本章小结 609   12.10 本章用到的类和库 610   12.11 复习题 610   12.12 书面作业 615   12.13 上机题 621   12.14 项目设计 623   第13章 继承和抽象类 625   13.1 c++中的继承 626   13.1.1 声明员工层次关系 628   13.1.2 派生类的构造函数 631   13.1.3 实现成员函数 632   13.2 图形层次 635   13.2.1 circleshape类 637   13.2.2 其他图形类和文本类 639   13.2.3 polyshape类的实现 641   13.3 图形系统 644   13.4 安全向量 647   13.5 有序表 649   13.6 多态属性和虚函数 651   13.6.1 动态绑定 653   13.6.2 应用:用多态性机制编写支付员工薪金的程序 655   13.6.3 c++的多态实现 657   13.6.4 虚函数和析构函数 659   13.7 抽象类 661   13.7.1 抽象类接口 662   13.7.2 栈接口 662   13.8 本章小结 663   13.9 本章使用的类和库 664   13.10 复习题 664   13.11 书面作业 669   13.12 上机题 675   13.13 项目设计 677   第14章 堆、二进制文件和位组 679   14.1 基于数组的二叉树 680   14.2 堆 681   14.2.1 堆的插入操作 682   14.2.2 从堆中删除元素 684   14.2.3 堆排序 688   14.2.4 向量堆化 691   14.3 优先级队列的实现 693   minipq类的实现 695   14.4 二进制文件 696   14.4.1 文件结构 696   14.4.2 直接读写文件 697   14.4.3 读写二进制文件 698   14.4.4 应用:银行账户记录 698   14.5 位组 702   14.5.1 bitvector类 703   14.5.2 实现bitvector类 706   14.6 实例研究:霍夫曼压缩 709   14.6.1 创建霍夫曼树 712   14.6.2 霍夫曼压缩的实现 714   14.6.3 霍夫曼解压缩 720   14.7 本章小结 722   14.8 本章使用的类和库 724   14.9 复习题 724   14.10 书面作业 728   14.11 上机题 735   14.12 项目设计 738   第15章 递归算法 740   15.1 分而治之算法 741   15.1.1 创建标尺 741   15.1.2 归并排序 743   15.1.3 快速排序 750   15.1.4 排序算法的比较 758   15.1.5 应用:搜索第k大的元素 760   15.2 组合学 762   15.2.1 查找所有子集 763   15.2.2 排列 766   15.3 动态编程 769   15.3.1 自顶向下的动态编程 770   15.3.2 应用:组合 772   15.3.3 自底向上动态编程 774   15.3.4 背包问题 775   15.4 回溯法:八皇后问题 782   15.4.1 问题分析 783   15.4.2 程序设计 785   15.4.3 显示棋盘 788   15.4.4 八皇后问题实例分析 789   15.5 本章小结 790   15.6 本章使用的类和库 791   15.7 复习题 792   15.8 书面作业 797   15.9 上机题 800   15.10 项目设计 804   第16章 图 807   16.1 图论术语 808   16.1.1 有向图 809   16.1.2 加权图 810   16.2 图类 810   16.2.1 图的api清单 810   16.2.2 图的表示 815   16.3 图类设计 816   16.3.1 顶点信息表示 817   16.3.2 顶点映射和vinfo表 818   16.3.3 图类声明 821   16.3.4 图类的实现 822   16.4 图的遍历算法 826   16.4.1 广度优先搜索算法 827   16.4.2 深度优先访问算法 830   16.4.3 深度优先搜索 834   16.5 图遍历的应用 835   16.5.1 无环图 835   16.5.2 拓扑排序 838   16.5.3 强连通分量 841   16.6 图的最小化算法 845   16.6.1 最短路径算法 845   16.6.2 dijkstra最小路径算法 849   16.6.3 最小生成树 855   16.7 本章小结 862   16.8 本章使用的类和库 862   16.9 复习题 863   16.10 书面作业 865   16.11 上机题 873   16.12 项目设计 874
VIP VIP