本课程专注于数据结构和算法的内容,使用Java来进行代码示例,不空洞的讲解概念和理论,重点放在代码的实现和示例上。从零开始、全面系统、成体系的讲解数据结构和基本算法,循序渐进的讲述构建软件系统所常见的数据结构和算法。
技术要点:
1:数据结构:数组、栈、队列、链表、二叉树、红黑树、2-3-4树、B树、堆、哈希表、图
2:常见算法:递归算法、分治算法、二分法查找、冒泡排序、选择排序、插入法排序、希尔排序、快速排序、基数排序、对象排序、归并排序、哈夫曼算法、Warshall算法、普里姆算法、迪杰斯特拉算法、 弗洛伊德算法等等
一:数组
有序和无序数组的操作、二分法查找、存放对象、大O表示法
二:栈
线形表、栈、栈的操作、栈的实例、后缀表达式(包括转换和计算)
三:队列
队列、队列的实现、循环队列、双端队列、优先级队列
四:链表
链表、单链表、双端链表、用链表实现栈和队列、有序链表、双向链表
五:递归算法
递归、阶乘、分治算法、斐波那契数列、汉诺塔、背包问题、归并排序
六:排序算法
冒泡、选择、插入法、希尔、快速、基数、对象排序
七:二叉树
二叉树概念和性质、二叉树的实现、哈夫曼编码、哈夫曼树、哈夫曼算法、使用哈夫曼算法来实现压缩和解压的功能
八:红黑树
概念和特征、红黑树的规则和修正、红黑树的旋转、红黑树的实现
九:2-3-4树
概念和规则、2-3-4树的实现、2-3-4树和红黑树的关系和转换规则
十:B树
概念和特性、B树的高度、B树的实现、B树的变形
十一:堆
概念和特点、堆的实现、堆排序
十二:哈希表
概念和优缺点、Hash函数的构建、冲突解决(开放地址法和链地址法)、Hash化字符串
十三:图
概念和基本术语、深度和广度搜索、最小生成树、有向图的拓扑、有向图的连通、 Warshall算法、带权图的最小生成树、普里姆算法、最短路径问题、迪杰斯特拉算法、 弗洛伊德算法
第01节课:整体课程内容概览
第02节课:数组是什么、无序数组的操作
第03节课:有序数组操作、二分法查找、存放对象、大O表示法
第04节课:冒泡排序、选择排序
第05节课:插入法排序、对象排序
第06节课:线性表和栈的概念、栈的基本操作、栈的基本实现
第07节课:栈的应用实例,包括:字符串倒序、括号(小、中、大)匹配;把中缀表达式转换成后缀表达式的概念理解
第08节课:把中缀表达式转换成后缀表达式的代码示例
第09节课:计算后缀表达式求值
第10节课:什么是队列、队列的基本操作、循环队列、队列的基本实现
第11节课:双端队列、优先级队列及其实现
第12节课:什么是链表、链表的基本操作、单链表的实现
第13节课:双端链表及其实现、使用链表来实现栈和队列
第14节课:有序链表及其实现、使用有序链表来实现插入排序
第15节课:双向链表及其实现
第16节课:什么是递归、阶乘、理解递归:调用顺序、和循环的关系、理解分治算法
第17节课:斐波那契数列、汉诺塔(河内塔)问题
第18节课:背包问题
第19节课:归并排序
第20节课:希尔排序
第21节课:快速排序
第22节课:基数排序
第23节课:树的基本知识、二叉树的概念和理解、二叉树的性质
第24节课:二叉搜索树的查找、插入、遍历、查找最大最小值的实现
第25节课:二叉搜索树的删除操作的实现
第26节课:哈夫曼编码和哈夫曼树的基本知识、哈夫曼算法
第27节课:使用哈夫曼算法来实现压缩功能-1
第28节课:使用哈夫曼算法来实现压缩功能-2
第29节课:使用哈夫曼算法来实现压缩功能-3
第30节课:使用哈夫曼算法来实现解压的功能-1
第31节课:使用哈夫曼算法来实现解压的功能-2
第32节课:平衡与非平衡树、红黑树是什么以及特征、红黑树的规则和修正手段、红黑树的旋转
第33节课:红黑树的节点插入实现-1
第34节课:红黑树的节点插入实现-2
第35节课:红黑树的节点删除实现-1
第36节课:红黑树的节点删除实现-2
第37节课:多叉树、2-3-4树是什么、2-3-4树的数据组织规则
第38节课:2-3-4树的代码实现-1
第39节课:2-3-4树的代码实现-2
第40节课:2-3-4树的代码实现-3,2-3-4树和红黑树的关系和转换规则,2-3-4树的效率
第41节课:B树是什么、回忆磁盘存取数据的知识、B树的特性、B树的高度
第42节课:B树的搜索和新增实现-1
第43节课:B树的搜索和新增实现-2
第44节课:B树的删除实现-1
第45节课:B树的删除实现-2
第46节课:B树的删除实现-3,了解B+树
第47节课:Hash表是什么、优缺点、什么是Hash化、Hash函数的过程以及构建、Hash冲突及其解决
第48节课:代码演示线性探测法 和 再哈希法
第49节课:代码演示链地址法,Hash化字符串、Hash化的效率、了解Hash的应用
第50节课:堆是什么、堆的特点、堆操作的代码示例-1
第51节课:堆操作代码示例-2,堆排序代码示例
第52节课:图是什么、基本术语、在程序中表示图、图的搜索
第53节课:代码示例深度优先搜索
第54节课:代码示例广度优先搜索、代码示例最小生成树
第55节课:代码示例有向图的拓扑排序
第56节课:代码示例有向图的连通性、代码示例Warshall算法
第57节课:什么是权、带权图的最小生成树,代码示例普里姆算法-1
第58节课:代码示例普里姆算法-2
第59节课:最短路径问题,代码示例迪杰斯特拉算法-1
第60节课:代码示例迪杰斯特拉算法-2,代码示例弗洛伊德算法,稀疏图和稠密图,图的效率
登录后才能获取具体下载信息,请点击前往登录
您的账号信息不全,需完善信息才能获取具体下载信息,请点击前往完善信息
点击查看下载信息