- 002-几个经典的算法面试题(2)
- 003-内容介绍和授课方式
- 004-数据结构和算法的关系
- 005-编程中实际遇到的几个问题
- 006-线性结构和非线性结构
- 007-稀疏数组的应用场景
- 008-稀疏数组转换的思路分析
- 009-稀疏数组的代码实现
- 010-队列的应用场景和介绍
- 011-数组模拟队列的思路分析
- 012-数组模拟队列代码实现(1)
- 013-数组模拟队列代码实现(2)
- 014-数组模拟环形队列思路分析图
- 015-数组模拟环形队列实现
- 016-单链表介绍和内存布局
- 017-单链表创建和遍历的分析实现
- 018-单链表按顺序插入节点
- 019-单链表节点的修改
- 020-单链表节点的删除和小结
- 021-单链表新浪面试题
- 022-单链表腾讯面试题
- 023-单链表百度面试题
- 024-双向链表增删改查分析图解
- 025-双向链表增删改查代码实现
- 026-双向链表功能测试和小结
- 027-环形链表介绍和约瑟夫问题
- 028-约瑟夫问题分析图解和实现(1)
- 029-约瑟夫问题分析图解和实现(2)
- 030-栈的应用场景和介绍
- 031-栈的思路分析和代码实现
- 032-栈的功能测试和小结
- 033-栈实现综合计算器-思路分析(1)
- 034-栈实现综合计算器-代码实现(2)
- 035-栈实现综合计算器-代码实现(3)
- 036-前缀 中缀 后缀表达式规则
- 037-逆波兰计算器分析和实现(1)
- 038-逆波兰计算器分析和实现(2)
- 039-中缀转后缀表达式思路分析
- 040-中缀转后缀表达式代码实现(1)
- 041-中缀转后缀表达式代码实现(2)
- 042-完整版逆波兰计算器和小结
- 043-递归应用场景和调用机制
- 044-递归能解决的问题和规则
- 045-迷宫回溯问题分析和实现(1)
- 046-迷宫回溯问题分析和实现(2)
- 047-八皇后问题分析和实现(1)
- 048-八皇后问题分析和实现(2)
- 049-八皇后问题分析和实现(3)
- 050-排序算法介绍和分类
- 051-时间频度介绍和特点
- 052-时间复杂度计算和举例说明
- 053-平均和最坏时间复杂度介绍
- 054-冒泡排序算法思路图解
- 055-冒泡排序算法代码实现
- 056-冒泡排序算法优化和总结
- 057-选择排序算法思路图解
- 058-选择排序算法代码实现
- 059-选择排序算法速度测试
- 060-插入排序算法思路图解
- 061-插入排序算法代码实现
- 062-插入排序算法速度测试
- 063-希尔排序算法思路图解
- 064-希尔排序[交换式]算法实现
- 065-希尔排序[移位式]算法实现
- 066-快速排序算法思路图解
- 067-快速排序算法代码实现
- 068-快速排序算法速度测试
- 069-归并排序算法思路图解
- 070-归并排序算法代码实现
- 071-归并排序算法速度测试
- 072-基数排序算法思路图解
- 073-基数排序算法代码实现(1)
- 074-基数排序算法代码实现(2)
- 075-基数排序算法注意事项
- 076-排序算法时间复杂度比较
- 077-线性查找分析和实现
- 078-二分查找算法思路图解
- 079-二分查找算法代码实现
- 080-二分查找算法功能完善
- 081-插值查找算法工作原理
- 082-插值查找算法代码实现
- 083-斐波那契查找算法原理
- 084-斐波那契查找代码实现
- 085-斐波那契查找算法小结
- 086-哈希表的介绍和内存布局
- 087-哈希表实现思路图解
- 088-哈希表代码实现(1)
- 089-哈希表代码实现(2)
- 090-数组 链表 树存储方式分析
- 091-二叉树的概念和常用术语
- 092-前序中序后序遍历二叉树图解
- 093-前序中序后序遍历代码实现(1)
- 094-前序中序后序遍历代码实现(2)
- 095-前序中序后序查找思路图解
- 096-前序中序后序查找代码实现(1)
- 097-前序中序后序查找代码实现(2)
- 098-二叉树删除结点思路图解
- 099-二叉树删除结点代码实现
- 100-顺序存储二叉树思路图解
- 101-顺序存储二叉树代码实现
- 102-线索化二叉树的介绍
- 103-线索化二叉树思路图解
- 104-线索化二叉树代码实现1
- 105-线索化二叉树代码实现2
- 106-遍历线索化二叉树实现
- 107-大顶堆和小顶堆图解说明
- 108-堆排序的思路图解
- 109-堆排序的代码实现1
- 110-堆排序的代码实现2
- 111-堆排序的速度测试和小结
- 112-赫夫曼树的基本介绍
- 113-赫夫曼树创建步骤图解
- 114-赫夫曼树创建代码实现
- 115-变长编码的举例说明
- 116-赫夫曼编码的原理图解
- 117-数据压缩-创建赫夫曼树思路
- 118-数据压缩-创建赫夫曼树实现
- 119-数据压缩-生成赫夫曼编码表
- 120-数据压缩-赫夫曼编码字节数组
- 121-数据压缩-赫夫曼字节数组封装
- 122-数据解压-字节转二进制字符串
- 123-数据解压-赫夫曼解码
- 124-使用赫夫曼编码压缩文件
- 125-使用赫夫曼编码解压文件
- 126-赫夫曼编码注意事项
- 127-二叉排序树(BST)的介绍
- 128-二叉排序树(BST)创建和遍历
- 129-二叉排序树删除结点思路图解
- 130-二叉排序树删除叶子结点(1)
- 131-二叉排序树删除叶子结点(2)
- 132-BST删除有一颗子树的结点
- 133-BST删除有二颗子树的结点
- 134-BST删除结点的注意事项
- 135-平衡二叉树(AVL树)介绍
- 136-AVL树左旋转思路图解
- 137-AVL树高度求解
- 138-AVL树左旋转代码实现
- 139-AVL树右旋转图解和实现
- 140-AVL树双旋转图解和实现
- 141-平衡二叉树(AVL树)小结
- 142-多叉树原理图解
- 143-2-3树原理图解
- 144-B树和B加树原理图解
- 145-B星树和多路查找树小结
- 146-图的基本介绍和存储形式
- 147-图的创建图解和代码实现
- 148-图的深度优先(DFS)算法图解
- 149-图的深度优先(DFS)代码实现
- 150-图的广度优先(BFS)算法图解
- 151-图的广度优先(BFS)代码实现
- 152-DFS和BFS比较及图小结
- 153-二分查找非递归算法分析实现
- 154-分治算法的设计模式
- 155-分治算法解决汉诺塔问题
- 156-动态规划算法基本介绍
- 157-动态规划算法解决背包问题1
- 158-动态规划算法解决背包问题2
- 159-动态规划算法解决背包问题3
- 160-暴力匹配算法解决字串匹配问题
- 161-KMP算法解决字串匹配思路图解
- 162-KMP算法解决字串匹配代码实现
- 163-动态规划算法和KMP算法小结
- 164-贪心算法的基本介绍
- 165-贪心算法解决集合覆盖思路图解
- 166-贪心算法解决集合覆盖代码实现
- 167-贪心算法解决集合覆盖注意事项
- 168-普利姆算法(Prim)和MST介绍
- 169-Prim算法解决修路问题思路图解
- 170-Prim算法解决修路问题生成图
- 171-Prim算法解决修路问题代码实现
- 172-克鲁斯卡尔((Kruskal)算法图解
- 173-Kruskal算法解决公交问题(1)
- 174-Kruskal算法解决公交问题(2)
- 175-Kruskal算法解决公交问题(3)
- 176-Kruskal算法解决公交问题(4)
- 177-Kruskal算法解决公交问题小结
- 178-迪杰斯特拉(Dijkstra)算法基本介绍
- 179-Dijkstra算法思路图解
- 180-Dijkstra算法解决最短路径问题(1)
- 181-Dijkstra算法解决最短路径问题(2)
- 182-Dijkstra算法解决最短路径问题(3)
- 183-Dijkstra算法解决最短路径问题(4)
- 184-Dijkstra算法解决最短路径问题(5)
- 185-弗洛伊德(Floyd)算法基本介绍
- 186-弗洛伊德(Floyd)算法思路图解
- 187-Floyd算法解决最短路径问题(1)
- 188-Floyd算法解决最短路径问题(2)
- 189-骑士周游问题和游戏说明
- 190-骑士周游问题思路图解
- 191-骑士周游回溯算法代码实现(1)
- 192-骑士周游回溯算法代码实现(2)
- 193-骑士周游回溯算法代码实现(3)
- 194-骑士周游回溯算法用贪心算法优化
- 195-结束语(卖油翁和老黄牛)
从数据结构基础到二叉树、红黑树、哈希表,bobo老师精心设计本课程从底层到实践,构建属于自己的数据结构知识网络,完成蜕变从此课开始从小白、在校学生到职场人士,只要想学习数据结构,这门课就能帮到你。从最基础出发讲解,深度剖析算法的求解思路,适合想打好基础与提升自身高度的同学侧重实验,反复比较算法的性能,直观观测到每 一次算法优化的结果所有的代码实例都是完整的,帮你理清代码的前后逻辑。