当前位置:首页 > 工业技术
基于MFC的可视化数据结构
基于MFC的可视化数据结构

基于MFC的可视化数据结构PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:连远锋等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302369479
  • 页数:453 页
图书介绍:本书介绍了在Visual C++环境下,利用MFC,对数据结构的相关知识和算法进行可视化实现,使得原本抽象的知识实现可视化,大大方便了读者的理解和掌握,非常适合各个层次的读者的学习。
《基于MFC的可视化数据结构》目录

第1章 认识Visual C++ 1

1.1 Visual C++概述 1

1.1.1 Visual C++简介及发展历程 1

1.1.2 Visual C++优势 1

1.2 代码编辑器使用技巧 2

1.2.1 检测代码中的括号是否匹配 2

1.2.2 代码对齐 2

1.2.3 显示函数参数 2

1.2.4 完全取词功能不可用 2

1.2.5 快速删除项目下Debug文件夹中的临时文件 2

1.2.6 如何彻底地从工程中删除一个类 3

1.2.7 从其他文件中抓取资源 3

1.2.8 Visual C++中命名规则 3

1.2.9 Workspace和Project之间的关系 3

1.2.10 在编辑状态下发现成员变量或函数不能显示提示时如何打开显示功能 3

1.2.11 如何清楚所有的断点 4

1.2.12 如何添加Lib文件到当前工程 4

1.3 Visual C++调试技术 4

1.3.1 调试环境的建立 5

1.3.2 调试的一般过程 6

1.3.3 如何设置断点 7

1.3.4 控制程序运行 11

1.3.5 查看工具的使用 12

1.4 高级调试技术 15

1.4.1 TRACE宏 15

1.4.2 ASSERT宏 16

1.4.3 ASSERT_ VALID宏 16

1.4.4 VERIFY宏 16

1.4.5 对象的Dump函数的利用 17

1.4.6 检查内存泄露问题 17

1.4.7 MFC跟踪 19

第2章 MFC编程基础 21

2.1 MFC简介 21

2.2 MFC的常用类 21

2.2.1 字符串类 21

2.2.2 MFC的集合类 27

2.2.3 系统日期、时间类 34

2.2.4 定时器 38

2.3 设备环境 41

2.3.1 设备环境概念 41

2.3.2 设备环境类 42

2.3.3 图形设备模式 43

2.4 基本绘图工具 43

2.4.1 画笔 44

2.4.2 CPen类 44

2.4.3 画刷 45

2.4.4 CBrush类 45

2.4.5 图形绘制 45

2.5 文本字体 50

2.5.1 文本输出 50

2.5.2 字体 52

2.5.3 字体对话框 54

2.6 多线程 55

2.6.1 多线程概述 55

2.6.2 Win32多线程编程 55

2.6.3 MFC对多线程编程的支持 58

2.6.4 线程间通信 59

2.6.5 临界区 61

2.6.6 互斥量 61

2.6.7 信号量 63

第3章 框架与窗口 65

3.1 MFC框架结构 65

3.2 窗口分割 67

3.2.1 静态分割和动态分割 67

3.2.2 CSplitterWnd类 68

3.2.3 分割窗口中的通信机制 71

3.3 MFC控件 73

3.3.1 静态文本控件 73

3.3.2 编辑框控件 74

3.3.3 按钮控件 75

3.3.4 列表框控件 76

3.3.5 组合框控件 77

3.3.6 列表视图控件 78

3.3.7 树视图控件 81

3.4 可视化数据结构分割窗口实例 87

3.4.1 基本分割视图实现 87

3.4.2 树视图控件的位置和大小控制 105

3.4.3 树视图控件添加结点 109

3.4.4 树视图控件添加消息 112

第4章 可视化线性结构 116

4.1 线性表定义及特点 116

4.1.1 线性表的定义 116

4.1.2 线性表的特点 116

4.2 线性表的抽象数据类型 117

4.3 线性表顺序存储结构 118

4.3.1 顺序表的定义 118

4.3.2 顺序表的特点 118

4.4 线性表链式存储结构 119

4.4.1 单链表的类定义 119

4.4.2 单链表基本操作实现 120

4.5 双向链表 124

4.6 栈 125

4.6.1 栈的定义及基本操作 125

4.6.2 顺序栈 126

4.6.3 链式栈 129

4.7 队列 131

4.7.1 队列的定义及基本操作 131

4.7.2 顺序队列 132

4.7.3 循环队列 134

4.7.4 链式队列 137

4.7.5 双端队列 139

4.8 单链表的可视化实现 142

4.8.1 单链表类的创建 142

4.8.2 可视化链表基础功能 146

4.8.3 链表添加结点功能 157

4.8.4 链表插入结点功能 158

4.8.5 链表删除结点功能 160

4.8.6 链表结点查找功能 162

4.9 循环队列的可视化实现 164

4.9.1 循环队列类的创建 164

4.9.2 可视化循环队列基础功能 169

4.9.3 循环队列入队功能 176

4.9.4 循环队列出队功能 178

4.10 双端队列的可视化实现 178

4.10.1 双端队列类的创建 178

4.10.2 可视化双端队列基础功能 180

4.10.3 双端队列前端入队功能 188

4.10.4 双端队列前端出队功能 189

4.10.5 双端队列尾端入队功能 189

4.10.6 双端队列尾端出队功能 190

第5章 可视化树结构 191

5.1 树的基本概念和术语 191

5.1.1 树的基本概念 191

5.1.2 树的基本术语 192

5.2 树的抽象数据类型 192

5.3 树的存储结构 193

5.3.1 双亲表示法 194

5.3.2 孩子表示法 194

5.3.3 孩子-兄弟表示法 195

5.4 二叉树 196

5.4.1 定义及主要特性 196

5.4.2 二叉树的存储结构 198

5.5 二叉树的遍历 202

5.5.1 二叉树遍历的递归算法 202

5.5.2 二叉树遍历的非递归算法 204

5.6 线索二叉树 208

5.6.1 中序线索二叉树的建立和遍历 211

5.6.2 先序与后序线索二叉树 211

5.6.3 由遍历序列恢复二叉树 212

5.7 二叉排序树 213

5.7.1 二叉排序的插入操作 213

5.7.2 二叉排序的删除操作 215

5.8 平衡二叉树 215

5.8.1 平衡二叉树插入操作 216

5.8.2 平衡二叉树的删除操作 222

5.9 哈夫曼树 226

5.9.1 基本概念 226

5.9.2 哈夫曼算法 227

5.9.3 哈夫曼编码 227

5.10 堆 230

5.11 B-树的概念 233

5.11.1 B-树上的查找 234

5.11.2 B-树上的插入 236

5.11.3 B-树上的删除 236

5.12 B+树的概念 240

5.12.1 B+树的定义 240

5.12.2 B+树上的查找 240

5.12.3 B+树上的插入 241

5.12.4 B+树上的删除 241

5.13 二叉排序树的可视化实现 241

5.13.1 二叉排序树类的创建 241

5.13.2 可视化二叉排序树基础功能 250

5.13.3 二叉排序树添加结点功能 257

5.13.4 二叉排序树删除结点功能 258

5.13.5 二叉排序树查找结点功能 259

5.13.6 二叉排序树可视化实现结果 260

5.14 平衡二叉树的可视化实现 261

5.14.1 平衡二叉树类的创建 261

5.14.2 可视化平衡二叉树基础功能 274

5.14.3 平衡二叉树添加结点功能 280

5.14.4 平衡二叉树删除结点功能 281

5.14.5 平衡二叉树查找结点功能 282

5.14.6 平衡二叉树可视化实现结果 283

5.15 B-树的可视化实现 284

5.15.1 B-树类的创建 284

5.15.2 可视化B-树基础功能 302

5.15.3 B-树设置阶数功能 309

5.15.4 B-树添加结点功能 310

5.15.5 B-树删除结点功能 311

5.15.6 B-树查找结点功能 312

5.15.7 B-树清空结点功能 313

5.15.8 B-树可视化实现结果 313

第6章 可视化图结构 315

6.1 图的基本概念和术语 315

6.2 图的抽象数据类型 317

6.3 图的存储结构 318

6.3.1 邻接矩阵 318

6.3.2 邻接表 319

6.3.3 有向图十字链表表示 320

6.3.4 无向图邻接多重表表示 321

6.4 图的遍历 323

6.4.1 深度优先遍历 323

6.4.2 广度优先遍历 324

6.5 最小生成树 325

6.5.1 Prim算法 326

6.5.2 Kruskal算法 326

6.6 拓扑排序 329

6.7 关键路径 331

6.8 最短路径 333

6.8.1 Dijkstra算法 333

6.8.2 Floyd算法 335

6.9 可视化图基础功能 335

6.9.1 可视化图工具栏 335

6.9.2 打开图功能 342

6.9.3 保存图功能 342

6.9.4 清空图功能 342

6.9.5 新增顶点功能 343

6.9.6 删除顶点功能 343

6.9.7 顶点信息功能 344

6.9.8 新增边功能 345

6.9.9 删除边功能 345

6.9.10 设置权值功能 346

6.10 无向图深度优先遍历可视化实现 349

6.10.1 可视化无向图类 349

6.10.2 可视化无向图深度优先遍历基础功能 362

6.10.3 无向图深度优先遍历执行功能 382

6.10.4 无向图深度优先遍历下个结点功能 383

6.10.5 无向图深度优先遍历可视化实现结果 383

6.11 有向图Dijkstra算法可视化实现 384

6.11.1 可视化有向图类 384

6.11.2 可视化有向图单源最短路径Dijkstra算法基础功能 400

6.11.3 有向图Dijkstra算法执行功能 418

6.11.4 有向图Dijkstra可视化实现结果 419

第7章 可视化排序 420

7.1 排序的基本概念和术语 420

7.2 插入排序 421

7.2.1 直接插入排序 421

7.2.2 希尔排序 422

7.3 交换排序 423

7.3.1 冒泡排序 423

7.3.2 快速排序 424

7.4 选择排序 426

7.5 归并排序 427

7.6 排序可视化实现 428

7.6.1 可视化排序类 428

7.6.2 可视化排序基础功能 439

7.6.3 手动输入数据功能 449

7.6.4 随机输入数据功能 450

7.6.5 清空数据功能 450

7.6.6 开始排序功能 451

7.6.7 暂停排序功能 451

7.6.8 结束排序功能 452

7.6.9 排序可视化实现结果 452

相关图书
作者其它书籍
返回顶部