定 价:38 元
丛书名:21世纪全国高职高专计算机系列实用规划教材
- 作者:陈广 主编
- 出版时间:2014/9/1
- ISBN:9787301247761
- 出 版 社:北京大学出版社
- 中图法分类:TP312C
- 页码:232
- 纸张:胶版纸
- 版次:2
- 开本:16开
《数据结构(附光盘C#语言描述第2版21世纪全国高职高专计算机系列实用规划教材)》使用C#语言及面向对象的方法讲解数据结构的基础知识,并针对数据结构中的难点及关键点制作了配套的视频教程,使用动画加讲解的方式对数据结构及算法进行详细的介绍。
全书共分9章,第l~5章主要介绍线性表、栈、队列、树、图这些基本的数据结构;第6~8章介绍查找和排序算法及哈希表;第9章是综合实训部分,通过实例演示数据结构及算法在程序中的应用。第2~8章的结尾部分均配备了实训指导,以加深读者对各个章节理论知识的理解。配套光盘内容为与本书配套使用的视频教程。
本书体系新颖,层次清晰,特别注重可读性和实用性,并结合数据结构知识深入C#类库进行解析。
全书通俗易懂、由浅入深,不但能使读者了解数据结构知识,而且能使读者对C#语言有更进一步的认识。
本书可以作为高等职业院校计算机及相关专业的教材,也适合作为自学教材以及C#程序开发人员的参考书。
《数据结构(c#语言描述) (第2版)》既可以作为高等职业院校计算机及相关专业的教材,也适合作为自学教材以及C#程序开发人员的参考书。
陈广,广西机电职业技术学院双师型教师,主讲C#程序设计,数据结构等课程,多年来一直从事本领域的职业教育研究和实践,在省级以上刊物发表教学和学术论文8篇。
第1章 绪论 1.1 什么是数据结构 1.1.1 数据结构的产生与发展 1.1.2 数据和数据结构 1.1.3 数据的逻辑结构 1.1.4 数据结构的组成部分 1.1. 第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.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.2 队列 3.2.1 队列的概念及操作 3.2.2 循环队列 3.2.3 System.Collections.Queue 3.3 本章小结 3.4 实训指导:栈和队列的使用 3.5 习题第4章 树 4.1 树的基本概念 4.1.1 树的定义 4.1.2 树的表示 4.1.3 树的基本术语 4.2 二叉树 4.2.1 二叉树的基本概念 4.2.2 二叉树的存储结构 4.3 二叉树的遍历 4.3.1 二叉树的深度优先遍历 4.3.2 二叉树的广度优先遍历 4.4 树和森林 4.4.1 树的存储结构 4.4.2 森林、树、二叉树的 相互转换 4.5 本章小结 4.6 实训指导:二叉树求解四则运算 4.7 习题第5章 图 5.1 图的基本概念和术语 5.2 图的存储结构 5.2.1 邻接矩阵表示法 5.2.2 邻接表表示法 5.3 图的遍历 5.3.1 深度优先搜索遍历 5.3.2 广度优先搜索遍历 5.3.3 非连通图的遍历 5.4 生成树和最小生成树 5.4.1 生成树 5.4.2 最小生成树 5.4.3 普里姆算法 5.4.4 克鲁斯卡尔算法 5.5 最短路径 5.5.1 单源点最短路径 5.5.2 所有顶点之间的最短路径 5.6 本章小结 5.7 实训指导:迷宫最短路径问题 5.8 习题第6章 查找 6.1 查找的基本概念 6.2 顺序查找 6.3 二分查找 6.3.1 二分查找的基本原理 6.3.2 二分查找的算法实现 6.3.3 Array.BinarySearch方法 6.3.4 剖析System.Collections. SortedList 6.4.分块查找 6.5 二叉查找树 6.5.1 二叉查找树的定义 6.5.2 二叉查找树的查找 6.5.3 二叉查找树的插入 6.5.4 二叉查找树的删除 6.6 平衡二叉树 6.6.1 AvL树的平衡 6.6.2 AVL树的构造 6.6.3 AvL树结点的插入 6.6.4 AVL树结点的删除 6.6.5 AvL树的代码实现 6.6 本章小结 6.7 实训指导:Array BinarySearch的 使用 6.8 习题第7章 哈希表 7.1 概念引入 7.2 构造哈希函数的方法 7.3 哈希冲突解决方法 7.3.1 闭散列法 7.3.2 开散列法 7.4 剖析System Collections.Hashtable 7.4.1 Hashtable的实现原理 7.4.2 Hashtable的代码实现 7.5 剖析Dictionary 7.5.1 Dictionary类 实现原理 7.5.2 Dictionary的 代码实现 7.6 本章小结 7.7 实训指导:几种高效查找表的 测试和对比 7.8 习题第8章 排序 8.1 排序的基本概念 8.2 插入排序 8.2.1 直接插入排序 8.2.2 希尔排序 8.3 交换排序 8.3.1 冒泡排序 8.3.2 快速排序 8.4 选择排序 8.4.1 直接选择排序 8.4.2 堆排序 8.5 归并排序 8.5.1 二路归并排序 8.5.2 二路归并排序的实现 8.6 本章小结 8.7 实训指导:使用IComparable和 IComparer接口进行排序 8.8 习题第9章 综合实训——八数码问题 9.1 什么是八数码问题 9.2 八数码问题的解析 9.2.1 从初始状态到达目标状态 是否有解 9.2.2 使用什么方法求解八数码 问题的最优解 9.2.3 如何避免重复访问一个 状态 9.2.4 怎样记录查找路径 9.2.5 使用什么数据结构表示 棋盘状态 9.3 设计目标 9.4 界面设计 9.5 代码编写 9.5.1 MoveDirection.cs 9.5.2 AIResult.cs 9.5.3 HashHelpers.cs 9.5.4 SimpleDictionary.cs 9.5.5 NumSwitch.cs 9.5.6 IEightNumAI.cs 9.5.7 BFS AI.cs 9.5.8 MainForm.cs 9.6 调试运行 9.7 思考与改进参考文献