您好,欢迎来到聚文网。 登录 免费注册
面向算法设计的数据结构(C++语言版)(第2版)

面向算法设计的数据结构(C++语言版)(第2版)

  • 字数: 481000
  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 出版日期: 2021-12-01
  • 商品条码: 9787302590774
  • 版次: 2
  • 开本: 16开
  • 页数: 316
  • 出版年份: 2021
定价:¥59 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
编辑推荐
以算法分析为导向,以算法效率为准绳,着墨于抽象数据类型的选择、使用和组合,从而实现提升算法性能的终极目标,凸显“数据结构要为算法服务”的特色
内容简介
本书以算法分析为导向,以算法效率为准绳,着墨于抽象数据类型的选择、使用和组合,从而实现提升算法性能的终极目标,凸显“数据结构要为算法服务”的特色。本书基于抽象数据类型的观点来讲解数据结构,力图让读者学会以“积木式”组件方案快速、便捷、高效地构建程序,并在此基础上以迭代器和区间表示动态集合,给出更具一般性的泛型算法。本书代码采用简洁明晰的现代C++语言描述,尽量吸收近期新语言标准,力求紧跟程序设计语言的时代脉搏,并提供了便于维护的在线形式。全书内容组织以标准模板库(STL)为纲,涵盖了常见的数据结构,并给出实际场景中的案例,真正体现学以致用。此外,本书还特别论及各种容器和泛型算法的时空性能,方便读者对设计方案给出渐近分析。本书可作为高等学校计算机科学与技术等本科专业的“数据结构”课程教材,也可供相关专业的工程技术人员参考。
作者简介
"姓名:谢勰 单位:西安邮电大学 职务、职称:副教授 性别:男 年龄:39 主要从事算法与数据结构相关课程的教学,多年以来承担《信息安全算法设计》、《信息论基础》和《现代编码技术》等多门课程。作为副主编所编写教材《离散信息论基础》获陕西普通高等学校优秀教材一等奖并入选“十二五”普通高等教育本科重量规划教材,翻译出版了算法设计领域的经典著作《算法设计指南》(The Algorithm Design Manual),以信息安全专业为试点编写了较为新颖的《面向算法设计数据结构(C++语言版)》。积极将算法与数学理论成果实用化,带队多次荣获美国大学生数学建模竞赛(MCM)一等奖。"
目录
第1章 算法
1.1 概述
1.2 [实例]二分查找
1.3 程序性能与算法分析
1.3.1 运行时间
1.3.2 占用空间
1.4 渐近记号
1.5 [技巧]阶的快速比较*
1.5.1 加和型无穷大量阶的比较
1.5.2 乘积型无穷大量阶的比较
1.5.3 对数型无穷大量阶的比较
1.6 习题
第2章 抽象数据类型
2.1 概述
2.2 [实例]查找问题
2.2.1 缺点一:长度受
2.2.2 缺点二:有序则难变
2.2.3 缺点三:查变难两全
2.2.4 抽象数据类型视角
2.3 集合
2.4 功能与实现
2.4.1 向量简介
2.4.2 有序向量实现
2.4.3 无序向量实现
2.4.4 对比
2.5 [技巧]组装使用
2.6 STL容器一览
2.7 设计模式
2.7.1 迭代器
2.7.2 适配器
2.7.3 组合
2.8 习题
第3章 向量
3.1 概述
3.2 [使用]vector
3.3 vector的实现原理
3.4 加倍技术
3.5 [技巧]物理存储与进制换算
3.5.1 一维数组
3.5.2 二维数组
3.5.3 多维向量
3.6 [技巧]自然数映射与下标
3.7 [实例]矩阵的向量实现
3.7.1 矩阵的简易实现
3.7.2 稀疏矩阵
3.8 习题
第4章 递归
4.1 概述
4.2 [技巧]递归设计与归纳证明
4.3 递归与进程模型
4.4 递归算法性能分析
4.5 [实例]排列生成器
4.5.1 利用vector传值实现
4.5.2 利用vector引用实现
4.6 [实例]乐高铺砖
4.7 习题
第5章 栈
5.1 概述
5.2 [使用]stack
5.3 stack的实现原理
5.4 [实例]括号匹配
5.5 [实例]路径搜索
5.6 习题
第6章 队列
6.1 概述
6.2 [使用]queue
6.3 [技巧]循环向量设计
6.3.1 使用两个位置指示
6.3.2 使用计数信息
6.3.3 缓冲区
6.4 queue的实现原理
6.5 [实例]贾宪三角
6.6 [技巧]排队组织与内蕴次序
6.7 习题
第7章 链
7.1 概述
7.2 [使用]1ist
7.3 [技巧]用于链接的指针
7.3.1 利用指针实现链接功能
7.3.2 使用真实链首元素指针
7.3.3 使用哑结点解决空链判断问题
7.4 链的变种
7.4.1 单链
7.4.2 单循环链
7.4.3 双循环链
7.5 1ist的实现原理
7.6 [技巧]基于归纳的初始条件选取
7.7 [实例]归并排序
7.8 习题
第8章 二叉树
8.1 概述
8.2 二叉树与树
8.3 [技巧]二叉树遍历
8.4 [技巧]递归处理二叉树
8.5 [实例]二叉查找树
8.5.1 特性
8.5.2 查找
8.5.3 插入
8.5.4 删除
8.5.5 迭代器
8.5.6 效率
8.6 习题
第9章 集合
9.1 概述
9.2 [使用]set与multiset
9.3 [使用]unordered_set与unordered_multiset
9.4 [实例]寻找宝藏
9.5 [技巧]哨兵
9.5.1 线性查找中的哨兵
9.5.2 二叉查找树中的哨兵
9.6 [技巧]集合与序关系
9.6.1 排序
9.6.2 中位数
9.7 [技巧]不相交集
9.8 习题
第10章 优先级队列
10.1 概述
10.2 [使用]priority_queue
10.3 [技巧]维护优选元
10.4 priority_queue的实现原理
10.5 [实例]堆排序
10.5.1 数据组织与排序
10.5.2 建堆算法
10.6 [实例]Huffman编码
10.7 习题
第11章 图
11.1 概述
11.2 图的表示
11.2.1 邻接矩阵
11.2.2 邻接表
11.2.3 选用
11.3 图类
11.4 [技巧]编号与反向映射
11.5 [技巧]DFS和BFS
11.5.1 深度优先搜索
11.5.2 广度优先搜索
11.5.3 若干应用
11.6 [实例]最短路径*
11.6.1 Dijkstra算法
11.6.2 Bellman-Ford-Moore算法
11.6.3 Floyd-Warshall算法
11.7 [实例]最小生成树
11.7.1 Kruskal算法
11.7.2 Prim算法
11.8 习题
第12章 实验
12.1 多维求和
12.1.1 一维部分和
12.1.2 实验要求
12.1.3 评注与引申
12.2 幻方计数
12.2.1 排列
12.2.2 实验要求
12.2.3 评注与引申
12.3 随机行走
12.3.1 伪随机数生成
12.3.2 实验要求
12.3.3 评注与引申
12.4 纸牌游戏
12.4.1 可数集
12.4.2 实验要求
12.4.3 评注与引申
12.5 迷宫生成
12.5.1 隔板型迷宫
12.5.2 实验要求
12.5.3 评注与引申
12.6 数据压缩
12.6.1 存储数据
12.6.2 实验要求
12.6.3 评注与引申
12.7 会场安排
12.7.1 时间格式
12.7.2 实验要求
12.7.3 评注与引申
12.8 排序测试
12.8.1 随机置换
12.8.2 实验要求
12.8.3 评注与引申
12.9 大数运算
12.9.1 GMP
12.9.2 实验要求
12.9.3 评注与引申
附录A 编程技巧
……

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网