数据结构:C#语言描述[编辑]
目录
第1章 绪论
1.1 什么是数据结构
1.1.1 数据结构的产生与发展
1.1.2 数据和数据结构
1.1.3 数据的逻辑结构
1.1.4 数据的存储结构
1.1.5 数据类型
1.2 算法与算法分析
1.2.1 算法
1.2.2 算法设计的目标
1.2.3 算法的时间复杂度
1.2.4 算法的空间复杂度
1.3 本章小结
1.4 习题
第2章 线性表
2.1 线性表的定义
2.2 线性表的顺序存储结构——顺序表
2.2.1 顺序表的特点
2.2.2 数组
2.2.3 System.Collections.ArrayList
2.2.4 类型安全
2.3 线性表的链式存储结构——链表
2.3.1 单向链表
2.3.2 循环链表
2.3.3 双向链表
2.4 本章小结
2.5 实训指导:虚拟线性表
2.6 习题
第3章 栈和队列
3.1 栈
3.1.1 栈的概念及操作
3.1.2 System.Collections.Stack
3.1.3 栈的应用
3.1.4 双向栈
3.2 队列
3.2.1 队列的概念及操作
3.2.2 循环队列
3.2.3 System.Collections.Queue
3.3 本章小结
3.4 实训指导:虚拟循环队列
3.5 习题
第4章 串
4.1 串的基本概念
4.2 Strin9
4.3 System.Text.StringBuilder
4.4 串的模式匹配
4.4.1 Brute.Force算法
4.4.2 KMP算法
4.5 本章小结
4.6 实训指导:求最长公共子串
4.7 习题
第5章 树
5.1 树的基本概念
5.1.1 树的定义
5.1.2 树的表示
5.1.3 树的基本术语
5.2 二叉树
5.2.1 二叉树的基本概念
5.2.2 二叉树的存储结构
5.3 二叉树的遍历
5.3.1 二叉树的深度优先遍历
5.3.2 二叉树的广度优先遍历
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.6.4 实现可绘制二叉树
5.7 二叉树画树算法
5.7.1 满二叉树画法
5.7.2 界内画法
5.7.3 最小面积画法
5.8 本章小结
5.9 实训指导:虚拟二叉树
5.10 习题
第6章 图
6.1 基本概念和术语
6.2 图的存储结构
6.2.1 邻接矩阵表示法
6.2.2 邻接表表示法
6.3 图的遍历
6.3.1 深度优先搜索遍历
6.3.2 广度优先搜索遍历
6.3.3 非连通图的遍历
6.4 生成树和最小生成树
6.4.1 生成树
6.4.2 最小生成树
6.4.3 普里姆算法
6.4.4 克鲁斯卡尔算法
6.5 最短路径
6.5.1 单源点最短路径
6.5.2 所有顶点之间的最短路径
6.6 本章小结
6.7 实训指导:迷宫最短路径问题
6.8 习题
第7章 查找
7.1 查找的基本概念
7.2 顺序查找
7.3 二分查找
7.3.1 二分查找的基本原理
7.3.2 二分查找的算法实现
7.3.3 Array. Binary Search方法
7.3.4 剖析System. Collections. SortedList
7.4 分块查找
7.5 二叉查找树
7.5.1 二叉查找树的定义
7.5.2 二叉查找树的查找
7.5.3 二又查找树的插入
7.5.4 二叉查找树的删除
7.5.5 二叉查找树的代码实现
7.6 本章小结
7.7 实训指导:Array.BinarySearch的使用
7.8 习题
第8章 哈希表
8.1 概念引入
8.2 构造哈希函数的方法
8.2.1 直接定址法
8.2.2 数字分析法
8.2.3 除留余数法
8.3 哈希冲突解决方法
8.3.1 闭散列法(开放地址法)
8.3.2 开散列法(链地址法)
8.4 剖析System. Collections. Hashtable
8.4.1 Hashtable的实现原理
8.4.2 Hashtable的代码实现
8.5 剖析Dictionary
8.5.1 Dictionary〈TKey,TValue>类实现原理
8.5.2 Dictionary的代码实现
8.6 本章小结
8.7 实训指导:虚拟哈希表
8.8 习题
第9章 排序
9.1 排序的基本概念
9.2 插入排序
9.2.1 直接插入排序
9.2.2 希尔排序
9.3 交换排序
9.3.1 冒泡排序
9.3.2 快速排序
9.4 选择排序
9.4.1 直接选择排序
9.4.2 堆排序
9.5 归并排序
9.5.1 二路归并排序
9.5.2 二路归并排序的实现
9.6 本章小结
9.7 实训指导:使用IComparer接口进行排序
9.8 习题
第10章 综合实训——八数码问题
10.1 什么是八数码问题
10.2 八数码问题的解析
10.2.1 从初始状态到达目标状态是否有解
10.2.2 使用什么方法求解八数码问题的最优解
10.2.3 如何避免重复访问一个状态
10.2.4 怎样记录查找路径
10.2.5 使用什么数据结构表示棋盘状态
10.3 设计目标
10.4 界面设计
10.5 代码编写
10.5.1 Move Direction.cs
10.5.2 AIResult.cs
10.5.3 Hash Helpers.cs
10.5.4 Simple Dictitonary.cs
10.5.5 Num Switch.cs
10.5.6 IEiglat NumAI.cs
10.5.7 BFS_AI.cs
10.5.8 Main Form.cs
10.6 调试运行
10.7 思考与改进
参考文献
网络营销词典内容均由网友提供,仅供参考。如发现词条内容有问题,请发邮件至info # wm23.com。