电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子教材>《数据结构C++语言描述》应用标准摸板库STL(第2版)电子教材免费下载

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

2018-08-27 | pdf | 0.00 MB | 次下载 | 免费

资料介绍

  很适合初学者学习数据结构和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

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1490次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  92次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  10次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7蓝牙设备在嵌入式领域的广泛应用
  14. 0.63 MB  |  3次下载  |  免费
  15. 89天练会电子电路识图
  16. 5.91 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30320次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费