基于MFC的可视化数据结构

基于MFC的可视化数据结构

连远锋, 李国和, 张秀美, 赵旭霞, 吴双元, 编著

出版社:清华大学出版社

年代:2014

定价:39.0

书籍简介:

本书介绍了在Visual C++环境下,利用MFC,对数据结构的相关知识和算法进行可视化实现,使得原本抽象的知识实现可视化,大大方便了读者的理解和掌握,非常适合各个层次的读者的学习。

书籍目录:

第1章认识Visual C++/

1.1Visual C++概述

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

1.1.2Visual C++优势

1.2代码编辑器使用技巧

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

1.2.2代码对齐

1.2.3显示函数参数

1.2.4完全取词功能不可用

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

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

1.2.7从其他文件中抓取资源

1.2.8Visual C++中命名规则

1.2.9Workspace和Project之间的关系

1.2.10在编辑状态下发现成员变量或函数不能显示提示

时如何打开显示功能

1.2.11如何清楚所有的断点

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

1.3Visual C++调试技术

1.3.1调试环境的建立

1.3.2调试的一般过程

1.3.3如何设置断点

1.3.4控制程序运行

1.3.5查看工具的使用

1.4高级调试技术

1.4.1TRACE宏

1.4.2ASSERT宏

1.4.3ASSERT_VALID宏

1.4.4VERIFY宏

1.4.5对象的Dump函数的利用17基于MFC的可视化数据结构

1.4.6检查内存泄露问题

1.4.7MFC跟踪

第2章MFC编程基础/

2.1MFC简介

2.2MFC的常用类

2.2.1字符串类

2.2.2MFC的集合类

2.2.3系统日期、时间类

2.2.4定时器

2.3设备环境

2.3.1设备环境概念

2.3.2设备环境类

2.3.3图形设备模式

2.4基本绘图工具

2.4.1画笔

2.4.2CPen类

2.4.3画刷

2.4.4CBrush类

2.4.5图形绘制

2.5文本字体

2.5.1文本输出

2.5.2字体

2.5.3字体对话框

2.6多线程

2.6.1多线程概述

2.6.2Win32多线程编程

2.6.3MFC对多线程编程的支持

2.6.4线程间通信

2.6.5临界区

2.6.6互斥量

2.6.7信号量

第3章框架与窗口/

3.1MFC框架结构

3.2窗口分割

3.2.1静态分割和动态分割

3.2.2CSplitterWnd类

3.2.3分割窗口中的通信机制

3.3MFC控件

3.3.1静态文本控件

3.3.2编辑框控件

3.3.3按钮控件

3.3.4列表框控件

3.3.5组合框控件

3.3.6列表视图控件

3.3.7树视图控件

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

3.4.1基本分割视图实现

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

3.4.3树视图控件添加结点

3.4.4树视图控件添加消息

第4章可视化线性结构/

4.1线性表定义及特点

4.1.1线性表的定义

4.1.2线性表的特点

4.2线性表的抽象数据类型

4.3线性表顺序存储结构

4.3.1顺序表的定义

4.3.2顺序表的特点

4.4线性表链式存储结构

4.4.1单链表的类定义

4.4.2单链表基本操作实现

4.5双向链表

4.6栈

4.6.1栈的定义及基本操作

4.6.2顺序栈

4.6.3链式栈

4.7队列

4.7.1队列的定义及基本操作

4.7.2顺序队列

4.7.3循环队列

4.7.4链式队列

4.7.5双端队列

4.8单链表的可视化实现

4.8.1单链表类的创建

4.8.2可视化链表基础功能

4.8.3链表添加结点功能

4.8.4链表插入结点功能

4.8.5链表删除结点功能

4.8.6链表结点查找功能

4.9循环队列的可视化实现

4.9.1循环队列类的创建

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

4.9.3循环队列入队功能

4.9.4循环队列出队功能

4.10双端队列的可视化实现

4.10.1双端队列类的创建

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

4.10.3双端队列前端入队功能

4.10.4双端队列前端出队功能

4.10.5双端队列尾端入队功能

4.10.6双端队列尾端出队功能

第5章可视化树结构/

5.1树的基本概念和术语

5.1.1树的基本概念

5.1.2树的基本术语

5.2树的抽象数据类型

5.3树的存储结构

5.3.1双亲表示法

5.3.2孩子表示法

5.3.3孩子兄弟表示法

5.4二叉树

5.4.1定义及主要特性

5.4.2二叉树的存储结构

5.5二叉树的遍历

5.5.1二叉树遍历的递归算法

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

5.6线索二叉树

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

5.6.2先序与后序线索二叉树

5.6.3由遍历序列恢复二叉树

5.7二叉排序树

5.7.1二叉排序的插入操作

5.7.2二叉排序的删除操作

5.8平衡二叉树

5.8.1平衡二叉树插入操作

5.8.2平衡二叉树的删除操作

5.9哈夫曼树

5.9.1基本概念

5.9.2哈夫曼算法

5.9.3哈夫曼编码

5.10堆

5.11B树的概念

5.11.1B树上的查找

5.11.2B树上的插入

5.11.3B树上的删除

5.12B+树的概念

5.12.1B+树的定义

5.12.2B+树上的查找

5.12.3B+树上的插入

5.12.4B+树上的删除

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

5.13.1二叉排序树类的创建

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

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

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

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

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

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

5.14.1平衡二叉树类的创建

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

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

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

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

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

5.15B树的可视化实现

5.15.1B树类的创建

5.15.2可视化B树基础功能

5.15.3B树设置阶数功能

5.15.4B树添加结点功能

5.15.5B树删除结点功能

5.15.6B树查找结点功能

5.15.7B树清空结点功能

5.15.8B树可视化实现结果

第6章可视化图结构/

6.1图的基本概念和术语

6.2图的抽象数据类型

6.3图的存储结构

6.3.1邻接矩阵

6.3.2邻接表

6.3.3有向图十字链表表示

6.3.4无向图邻接多重表表示

6.4图的遍历

6.4.1深度优先遍历

6.4.2广度优先遍历

6.5最小生成树

6.5.1Prim算法

6.5.2Kruskal算法

6.6拓扑排序

6.7关键路径

6.8最短路径

6.8.1Dijkstra算法

6.8.2Floyd算法

6.9可视化图基础功能

6.9.1可视化图工具栏

6.9.2打开图功能

6.9.3保存图功能

6.9.4清空图功能

6.9.5新增顶点功能

6.9.6删除顶点功能

6.9.7顶点信息功能

6.9.8新增边功能

6.9.9删除边功能

6.9.10设置权值功能

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

6.10.1可视化无向图类

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

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

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

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

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

6.11.1可视化有向图类

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

6.11.3有向图Dijkstra算法执行功能

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

第7章可视化排序/

7.1排序的基本概念和术语

7.2插入排序

7.2.1直接插入排序

7.2.2希尔排序

7.3交换排序

7.3.1冒泡排序

7.3.2快速排序

7.4选择排序

7.5归并排序

7.6排序可视化实现

7.6.1可视化排序类

7.6.2可视化排序基础功能

7.6.3手动输入数据功能

7.6.4随机输入数据功能

7.6.5清空数据功能

7.6.6开始排序功能

7.6.7暂停排序功能

7.6.8结束排序功能

7.6.9排序可视化实现结果

第1章概述/

§1.1C++语言的发展简况及其特点

1.1.1C++语言的发展简况

1.1.2C++语言的特点

§1.2C++语言程序组成及其结构

§1.3关键字和标识符

1.3.1关键字

1.3.2标识符

§1.4几个特殊的C++语句

1.4.1空语句

1.4.2复合语句

1.4.3注释语句

§1.5简单的输入输出

1.5.1格式化输入输出函数

1.5.2I/O流

§1.6数制与编码

1.6.1二进制、八进制和十六进制

1.6.2二进制、八进制、十六进制和十进制之间的转换

1.6.3原码、反码和补码

1.6.4编码

思考与练习题

第2章数据与运算/

§2.1基本数据类型

2.1.1类型bool

2.1.2类型char

2.1.3类型short

2.1.4类型int

2.1.5类型long

2.1.6浮点类型27〖1〗C++程序设计基础目录[3]〖3〗§2.2常量

2.2.1整型常量

2.2.2浮点常量

2.2.3字符常量

2.2.4字符串常量

2.2.5标识常量

2.2.6换码序列

§2.3变量

2.3.1变量和变量的地址

2.3.2C++存储类型

2.3.3变量使用范围

2.3.4变量的初始化和赋值

2.3.5强制数据类型的转换

2.3.6常量化的变量

§2.4数组

2.4.1一维数据

2.4.2字符数组

2.4.3多维数组

§2.5运算符及其运算

2.5.1算术运算符

2.5.2关系运算符和逻辑运算符

2.5.3位运算符

2.5.4赋值运算符与赋值复合运算符

2.5.5C++语言的特殊运算符

2.5.6C++运算符的优先级

思考与练习题

第3章控制语句/

§3.1程序设计方法与程序结构

3.1.1结构化程序设计

3.1.2面向对象的程序设计

§3.2分支语句

3.2.1单分支语句--if语句

3.2.2双分支语句--if~else语句

3.2.3多分支语句--else if语句

3.2.4嵌套结构及其分析

3.2.5switch语句

§3.3循环语句

3.3.1for循环语句

3.3.2while循环语句

3.3.3do~while循环语句

3.3.4循环语句使用的注意事项

3.3.5循环语句的嵌套

§3.4辅助控制语句

3.4.1break语句--中途退出语句

3.4.2continue语句--截流语句

3.4.3return语句

3.4.4goto语句

思考与练习题

第4章指针/

§4.1指针变量

§4.2指针变量的声明与初始化

4.2.1指针变量的声明

4.2.2指针的初始化

§4.3指针运算

4.3.1指针的算术运算

4.3.2指针的关系运算

4.3.3指针的赋值运算

§4.4指针与数组

§4.5字符指针与字符串

§4.6指针数组

§4.7多级指针

§4.8new和delete运算符

4.8.1new运算符

4.8.2delete运算符

§4.9引用

4.9.1普通变量的引用

4.9.2数组的引用

§4.10const型指针和void型指针

4.10.1常量化的指针变量

4.10.2void型指针变量

思考与练习题

第5章函数与宏/

§5.1自定义函数的定义、声明和使用

5.1.1函数的定义

5.1.2函数的声明

5.1.3函数的使用

§5.2函数之间的参数传递

5.2.1复制传递方式

5.2.2地址传递方式

5.2.3引用方式

5.2.4全局变量

5.2.5默认参数值的函数

§5.3函数与数组

5.3.1复制传递方式

5.3.2地址传递方式

5.3.3引用方式

5.3.4多维数组与函数

§5.4指针函数

§5.5函数指针与函数指针数组

5.5.1函数指针

5.5.2函数指针数组

§5.6函数重载

§5.7内联函数

§5.8递归函数

§5.9标准函数

§5.10宏和其他预编译语句

5.10.1宏定义语句#define

5.10.2包括语句

5.10.3条件编译

思考与练习题

第6章自定义数据类型/

§6.1结构体的定义及其声明

6.1.1结构体的定义

6.1.2结构体的声明

6.1.3结构体的使用

6.1.4结构体的初始化

6.1.5匿名结构体

§6.2结构体数组与结构体指针

6.2.1结构体数组

6.2.2结构体指针

§6.3结构体与函数

6.3.1结构体在函数体间的传递

6.3.2结构体函数

6.3.3结构体指针函数

§6.4结构体嵌套

§6.5位字段结构体简介

§6.6联合体

§6.7枚举类型

6.7.1枚举类型的定义

6.7.2枚举变量的声明与使用

§6.8typedef语句

思考与练习题

第7章类与对象/

§7.1面向对象技术与C++类类型

7.1.1传统开发方法存在的问题

7.1.2面向对象技术

7.1.3C++语言的三种类类型

7.1.4class类类型

§7.2类的定义

§7.3对象的声明和使用

§7.4对象数组和对象指针

7.4.1对象数组

7.4.2对象指针

§7.5构造函数和析构函数

7.5.1构造函数

7.5.2析构函数

7.5.3默认构造函数和默认析构函数

7.5.4复制构造函数

7.5.5浅复制和深复制

§7.6对象在函数间的传递

7.6.1对象的复制传递方式

7.6.2对象的地址传递方式

7.6.3对象的引用方式

§7.7this指针

§7.8常对象与常成员函数

7.8.1常对象

7.8.2常成员函数

思考与练习题

第8章派生与继承/

§8.1类的程序结构

§8.2基类与派生类

8.2.1派生类的定义

8.2.2派生类的继承方式

8.2.3基类与派生类之间的关系

8.2.4基类指针与派生类指针

§8.3单继承、多继承与继承链

§8.4派生类与基类之间的内在关系

8.4.1派生类的构造函数和析构函数

8.4.2构造函数和析构函数的执行顺序

8.4.3子类型

8.4.4类型适应

8.4.5对象的内存占用情况

§8.5二义性与虚基类

8.5.1二义性问题

8.5.2虚基类

8.5.3虚基类的构造函数

§8.6类层次中的访问规则

思考与练习题

第9章友元与静态成员/

§9.1友元

9.1.1友元函数

......

内容摘要:

本书首先简要介绍MFC程序设计的基础知识,然后系统地介绍线性表、栈与队列、树与二叉树以及图等数据结构,阐述了各种数据结构的逻辑关系、存储表示,并采用面向对象语言Visual C++的MFC平台,详细阐述可视化线性结构、可视化树结构、可视化图结构和可视化排序的设计思想和实现方法,使读者循序渐进地理解数据抽象、面向对象思想和可视化程序设计等现代化软件设计风格,理解并掌握数据结构知识体系,提高应用Visual C++解决实际问题的能力。本书内容丰富,重点突出,概念讲解清楚,表达严谨,逻辑性强,文字通俗易懂。书中插图结合简练的叙述,代码配合详尽而简洁的注释,使得深奥抽象的概念和过程具体化并便于理解和记忆。本书示例源代码等可以从www.tup.com.cn下载。

书籍规格:

书籍详细信息
书名基于MFC的可视化数据结构站内查询相似图书
9787302369479
如需购买下载《基于MFC的可视化数据结构》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位清华大学出版社
版次1版印次1
定价(元)39.0语种简体中文
尺寸26 × 19装帧平装
页数印数 3000

书籍信息归属:

基于MFC的可视化数据结构是清华大学出版社于2014.出版的中图分类号为 TP312 ,TP311.12 的主题关于 C语言-程序设计-高等学校-教材 ,数据结构-高等学校-教材 的书籍。