课程介绍
1.算法是程序的灵魂,优秀的程序在对海量数据处理时,依然保持高速计算,就需要高效的数据结构和算法支撑。
2.网上数据结构和算法的课程不少,但存在两个问题:
1)授课方式单一,大多是照着代码念一遍,数据结构和算法本身就比较难理解,对基础好的学员来说,还好一点,对基础不好的学生来说,基本上就是听天书了
2)说是讲数据结构和算法,但大多是挂羊头卖狗肉,算法讲的很少。 本课程针对上述问题,有针对性的进行了升级
3)授课方式采用图解+算法游戏的方式,让课程生动有趣好理解
4)系统全面的讲解了数据结构和算法, 除常用数据结构和算法外,还包括程序员常用10大算法:二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法、马踏棋盘算法。可以解决面试遇到的最短路径、最小生成树、最小连通图、动态规划等问题及衍生出的面试题,让你秒杀其他面试小伙伴
3.如果你不想永远都是代码工人,就需要花时间来研究下数据结构和算法。
教程内容:
本教程是使用Java来讲解数据结构和算法,考虑到数据结构和算法较难,授课采用图解加算法游戏的方式。内容包括: 稀疏数组、单向队列、环形队列、单向链表、双向链表、环形链表、约瑟夫问题、栈、前缀、中缀、后缀表达式、中缀表达式转换为后缀表达式、递归与回溯、迷宫问题、八皇后问题、算法的时间复杂度、冒泡排序、选择排序、插入排序、快速排序、归并排序、希尔排序、基数排序(桶排序)、堆排序、排序速度分析、二分查找、插值查找、斐波那契查找、散列、哈希表、二叉树、二叉树与数组转换、二叉排序树(BST)、AVL树、线索二叉树、赫夫曼树、赫夫曼编码、多路查找树(B树B+树和B*树)、图、图的DFS算法和BFS、程序员常用10大算法、二分查找算法(非递归)、分治算法、动态规划算法、KMP算法、贪心算法、普里姆算法、克鲁斯卡尔算法、迪杰斯特拉算法、弗洛伊德算法马踏棋盘算法。
学习目标:
通过学习,学员能掌握主流数据结构和算法的实现机制,开阔编程思路,提高优化程序的能力。
视频目录
- 001.尚硅谷_图解Java数据结构和算法_几个经典的算法面试题(1)
- 002.尚硅谷_图解Java数据结构和算法_几个经典的算法面试题(2)
- 003.尚硅谷_图解Java数据结构和算法_内容介绍和授课方式
- 004.尚硅谷_图解Java数据结构和算法_数据结构和算法的关系
- 005.尚硅谷_图解Java数据结构和算法_编程中实际遇到的几个问题
- 006.尚硅谷_图解Java数据结构和算法_线性结构和非线性结构
- 007.尚硅谷_图解Java数据结构和算法_稀疏数组的应用场景
- 008.尚硅谷_图解Java数据结构和算法_稀疏数组转换的思路分析
- 009.尚硅谷_图解Java数据结构和算法_稀疏数组的代码实现
- 010.尚硅谷_图解Java数据结构和算法_队列的应用场景和介绍
- 011.尚硅谷_图解Java数据结构和算法_数组模拟队列的思路分析
- 012.尚硅谷_图解Java数据结构和算法_数组模拟队列代码实现(1)
- 013.尚硅谷_图解Java数据结构和算法_数组模拟队列代码实现(2)
- 014.尚硅谷_图解Java数据结构和算法_数组模拟环形队列思路分析图
- 015.尚硅谷_图解Java数据结构和算法_数组模拟环形队列实现
- 016.尚硅谷_图解Java数据结构和算法_单链表介绍和内存布局
- 017.尚硅谷_图解Java数据结构和算法_单链表创建和遍历的分析实现
- 018.尚硅谷_图解Java数据结构和算法_单链表按顺序插入节点
- 019.尚硅谷_图解Java数据结构和算法_单链表节点的修改
- 020.尚硅谷_图解Java数据结构和算法_单链表节点的删除和小结
- 021.尚硅谷_图解Java数据结构和算法_单链表新浪面试题
- 022.尚硅谷_图解Java数据结构和算法_单链表腾讯面试题
- 023.尚硅谷_图解Java数据结构和算法_单链表百度面试题
- 024.尚硅谷_图解Java数据结构和算法_双向链表增删改查分析图解
- 025.尚硅谷_图解Java数据结构和算法_双向链表增删改查代码实现
- 026.尚硅谷_图解Java数据结构和算法_双向链表功能测试和小结
- 027.尚硅谷_图解Java数据结构和算法_环形链表介绍和约瑟夫问题
- 028.尚硅谷_图解Java数据结构和算法_约瑟夫问题分析图解和实现(1)
- 029.尚硅谷_图解Java数据结构和算法_约瑟夫问题分析图解和实现(2)
- 030.尚硅谷_图解Java数据结构和算法_栈的应用场景和介绍
- 031.尚硅谷_图解Java数据结构和算法_栈的思路分析和代码实现
- 032.尚硅谷_图解Java数据结构和算法_栈的功能测试和小结
- 033.尚硅谷_图解Java数据结构和算法_栈实现综合计算器-思路分析(1)
- 034.尚硅谷_图解Java数据结构和算法_栈实现综合计算器-代码实现(2)
- 035.尚硅谷_图解Java数据结构和算法_栈实现综合计算器-代码实现(3)
- 036.尚硅谷_图解Java数据结构和算法_前缀 中缀 后缀表达式规则
- 037.尚硅谷_图解Java数据结构和算法_逆波兰计算器分析和实现(1)
- 038.尚硅谷_图解Java数据结构和算法_逆波兰计算器分析和实现(2)
- 039.尚硅谷_图解Java数据结构和算法_中缀转后缀表达式思路分析
- 040.尚硅谷_图解Java数据结构和算法_中缀转后缀表达式代码实现(1)
- 041.尚硅谷_图解Java数据结构和算法_中缀转后缀表达式代码实现(2)
- 042.尚硅谷_图解Java数据结构和算法_完整版逆波兰计算器和小结
- 043.尚硅谷_图解Java数据结构和算法_递归应用场景和调用机制
- 044.尚硅谷_图解Java数据结构和算法_递归能解决的问题和规则
- 045.尚硅谷_图解Java数据结构和算法_迷宫回溯问题分析和实现(1)
- 046.尚硅谷_图解Java数据结构和算法_迷宫回溯问题分析和实现(2)
- 047.尚硅谷_图解Java数据结构和算法_八皇后问题分析和实现(1)
- 048.尚硅谷_图解Java数据结构和算法_八皇后问题分析和实现(2)
- 049.尚硅谷_图解Java数据结构和算法_八皇后问题分析和实现(3)
- 050.尚硅谷_图解Java数据结构和算法_排序算法介绍和分类
- 051.尚硅谷_图解Java数据结构和算法_时间频度介绍和特点
- 052.尚硅谷_图解Java数据结构和算法_时间复杂度计算和举例说明
- 053.尚硅谷_图解Java数据结构和算法_平均和最坏时间复杂度介绍
- 054.尚硅谷_图解Java数据结构和算法_冒泡排序算法思路图解
- 055.尚硅谷_图解Java数据结构和算法_冒泡排序算法代码实现
- 056.尚硅谷_图解Java数据结构和算法_冒泡排序算法优化和总结
- 057.尚硅谷_图解Java数据结构和算法_选择排序算法思路图解
- 058.尚硅谷_图解Java数据结构和算法_选择排序算法代码实现
- 059.尚硅谷_图解Java数据结构和算法_选择排序算法速度测试
- 060.尚硅谷_图解Java数据结构和算法_插入排序算法思路图解
- 061.尚硅谷_图解Java数据结构和算法_插入排序算法代码实现
- 062.尚硅谷_图解Java数据结构和算法_插入排序算法速度测试
- 063.尚硅谷_图解Java数据结构和算法_希尔排序算法思路图解
- 064.尚硅谷_图解Java数据结构和算法_希尔排序[交换式]算法实现
- 065.尚硅谷_图解Java数据结构和算法_希尔排序[移位式]算法实现
- 066.尚硅谷_图解Java数据结构和算法_快速排序算法思路图解
- 067.尚硅谷_图解Java数据结构和算法_快速排序算法代码实现
- 068.尚硅谷_图解Java数据结构和算法_快速排序算法速度测试
- 069.尚硅谷_图解Java数据结构和算法_归并排序算法思路图解
- 070.尚硅谷_图解Java数据结构和算法_归并排序算法代码实现
- 071.尚硅谷_图解Java数据结构和算法_归并排序算法速度测试
- 072.尚硅谷_图解Java数据结构和算法_基数排序算法思路图解
- 073.尚硅谷_图解Java数据结构和算法_基数排序算法代码实现(1)
- 074.尚硅谷_图解Java数据结构和算法_基数排序算法代码实现(2)
- 075.尚硅谷_图解Java数据结构和算法_基数排序算法注意事项
- 076.尚硅谷_图解Java数据结构和算法_排序算法时间复杂度比较
- 077.尚硅谷_图解Java数据结构和算法_线性查找分析和实现
- 078.尚硅谷_图解Java数据结构和算法_二分查找算法思路图解
- 079.尚硅谷_图解Java数据结构和算法_二分查找算法代码实现
- 080.尚硅谷_图解Java数据结构和算法_二分查找算法功能完善
- 081.尚硅谷_图解Java数据结构和算法_插值查找算法工作原理
- 082.尚硅谷_图解Java数据结构和算法_插值查找算法代码实现
- 083.尚硅谷_图解Java数据结构和算法_斐波那契查找算法原理
- 084.尚硅谷_图解Java数据结构和算法_斐波那契查找代码实现
- 085.尚硅谷_图解Java数据结构和算法_斐波那契查找算法小结
- 086.尚硅谷_图解Java数据结构和算法_哈希表的介绍和内存布局
- 087.尚硅谷_图解Java数据结构和算法_哈希表实现思路图解
- 088.尚硅谷_图解Java数据结构和算法_哈希表代码实现(1)
- 089.尚硅谷_图解Java数据结构和算法_哈希表代码实现(2)
- 090.尚硅谷_图解Java数据结构和算法_数组 链表 树存储方式分析
- 091.尚硅谷_图解Java数据结构和算法_二叉树的概念和常用术语
- 092.尚硅谷_图解Java数据结构和算法_前序中序后序遍历二叉树图解
- 093.尚硅谷_图解Java数据结构和算法_前序中序后序遍历代码实现(1)
- 094.尚硅谷_图解Java数据结构和算法_前序中序后序遍历代码实现(2)
- 095.尚硅谷_图解Java数据结构和算法_前序中序后序查找思路图解
- 096.尚硅谷_图解Java数据结构和算法_前序中序后序查找代码实现(1)
- 097.尚硅谷_图解Java数据结构和算法_前序中序后序查找代码实现(2)
- 098.尚硅谷_图解Java数据结构和算法_二叉树删除结点思路图解
- 099.尚硅谷_图解Java数据结构和算法_二叉树删除结点代码实现
- 100.尚硅谷_图解Java数据结构和算法_顺序存储二叉树思路图解
- 101.尚硅谷_图解Java数据结构和算法_顺序存储二叉树代码实现
- 102.尚硅谷_图解Java数据结构和算法_线索化二叉树的介绍
- 103.尚硅谷_图解Java数据结构和算法_线索化二叉树思路图解
- 104.尚硅谷_图解Java数据结构和算法_线索化二叉树代码实现1
- 105.尚硅谷_图解Java数据结构和算法_线索化二叉树代码实现2
- 106.尚硅谷_图解Java数据结构和算法_遍历线索化二叉树实现
- 107.尚硅谷_图解Java数据结构和算法_大顶堆和小顶堆图解说明
- 108.尚硅谷_图解Java数据结构和算法_堆排序的思路图解
- 109.尚硅谷_图解Java数据结构和算法_堆排序的代码实现1
- 110.尚硅谷_图解Java数据结构和算法_堆排序的代码实现2
- 111.尚硅谷_图解Java数据结构和算法_堆排序的速度测试和小结
- 112.尚硅谷_图解Java数据结构和算法_赫夫曼树的基本介绍
- 113.尚硅谷_图解Java数据结构和算法_赫夫曼树创建步骤图解
- 114.尚硅谷_图解Java数据结构和算法_赫夫曼树创建代码实现
- 115.尚硅谷_图解Java数据结构和算法_变长编码的举例说明
- 116.尚硅谷_图解Java数据结构和算法_赫夫曼编码的原理图解
- 117.尚硅谷_图解Java数据结构和算法_数据压缩-创建赫夫曼树思路
- 118.尚硅谷_图解Java数据结构和算法_数据压缩-创建赫夫曼树实现
- 119.尚硅谷_图解Java数据结构和算法_数据压缩-生成赫夫曼编码表
- 120.尚硅谷_图解Java数据结构和算法_数据压缩-赫夫曼编码字节数组
- 121.尚硅谷_图解Java数据结构和算法_数据压缩-赫夫曼字节数组封装
- 122.尚硅谷_图解Java数据结构和算法_数据解压-字节转二进制字符串
- 123.尚硅谷_图解Java数据结构和算法_数据解压-赫夫曼解码
- 124.尚硅谷_图解Java数据结构和算法_使用赫夫曼编码压缩文件
- 125.尚硅谷_图解Java数据结构和算法_使用赫夫曼编码解压文件
- 126.尚硅谷_图解Java数据结构和算法_赫夫曼编码注意事项
- 127.尚硅谷_图解Java数据结构和算法_二叉排序树(BST)的介绍
- 128.尚硅谷_图解Java数据结构和算法_二叉排序树(BST)创建和遍历
- 129.尚硅谷_图解Java数据结构和算法_二叉排序树删除结点思路图解
- 130.尚硅谷_图解Java数据结构和算法_二叉排序树删除叶子结点(1)
- 131.尚硅谷_图解Java数据结构和算法_二叉排序树删除叶子结点(2)
- 132.尚硅谷_图解Java数据结构和算法_BST删除有一颗子树的结点
- 133.尚硅谷_图解Java数据结构和算法_BST删除有二颗子树的结点
- 134.尚硅谷_图解Java数据结构和算法_BST删除结点的注意事项
- 135.尚硅谷_图解Java数据结构和算法_平衡二叉树(AVL树)介绍
- 136.尚硅谷_图解Java数据结构和算法_AVL树左旋转思路图解
- 137.尚硅谷_图解Java数据结构和算法_AVL树高度求解
- 138.尚硅谷_图解Java数据结构和算法_AVL树左旋转代码实现
- 139.尚硅谷_图解Java数据结构和算法_AVL树右旋转图解和实现
- 140.尚硅谷_图解Java数据结构和算法_AVL树双旋转图解和实现
- 141.尚硅谷_图解Java数据结构和算法_平衡二叉树(AVL树)小结
- 142.尚硅谷_图解Java数据结构和算法_多叉树原理图解
- 143.尚硅谷_图解Java数据结构和算法_2-3树原理图解
- 144.尚硅谷_图解Java数据结构和算法_B树和B加树原理图解
- 145.尚硅谷_图解Java数据结构和算法_B星树和多路查找树小结
- 146.尚硅谷_图解Java数据结构和算法_图的基本介绍和存储形式
- 147.尚硅谷_图解Java数据结构和算法_图的创建图解和代码实现
- 148.尚硅谷_图解Java数据结构和算法_图的深度优先(DFS)算法图解
- 149.尚硅谷_图解Java数据结构和算法_图的深度优先(DFS)代码实现
- 150.尚硅谷_图解Java数据结构和算法_图的广度优先(BFS)算法图解
- 151.尚硅谷_图解Java数据结构和算法_图的广度优先(BFS)代码实现
- 152.尚硅谷_图解Java数据结构和算法_DFS和BFS比较及图小结
- 153.尚硅谷_图解Java数据结构和算法_二分查找非递归算法分析实现
- 154.尚硅谷_图解Java数据结构和算法_分治算法的设计模式
- 155.尚硅谷_图解Java数据结构和算法_分治算法解决汉诺塔问题
- 156.尚硅谷_图解Java数据结构和算法_动态规划算法基本介绍
- 157.尚硅谷_图解Java数据结构和算法_动态规划算法解决背包问题1
- 158.尚硅谷_图解Java数据结构和算法_动态规划算法解决背包问题2
- 159.尚硅谷_图解Java数据结构和算法_动态规划算法解决背包问题3
- 160.尚硅谷_图解Java数据结构和算法_暴力匹配算法解决字串匹配问题
- 161.尚硅谷_图解Java数据结构和算法_KMP算法解决字串匹配思路图解
- 162.尚硅谷_图解Java数据结构和算法_KMP算法解决字串匹配代码实现
- 163.尚硅谷_图解Java数据结构和算法_动态规划算法和KMP算法小结
- 164.尚硅谷_图解Java数据结构和算法_贪心算法的基本介绍
- 165.尚硅谷_图解Java数据结构和算法_贪心算法解决集合覆盖思路图解
- 166.尚硅谷_图解Java数据结构和算法_贪心算法解决集合覆盖代码实现
- 167.尚硅谷_图解Java数据结构和算法_贪心算法解决集合覆盖注意事项
- 168.尚硅谷_图解Java数据结构和算法_普利姆算法(Prim)和MST介绍
- 169.尚硅谷_图解Java数据结构和算法_Prim算法解决修路问题思路图解
- 170.尚硅谷_图解Java数据结构和算法_Prim算法解决修路问题生成图
- 171.尚硅谷_图解Java数据结构和算法_Prim算法解决修路问题代码实现
- 172.尚硅谷_图解Java数据结构和算法_克鲁斯卡尔((Kruskal)算法图解
- 173.尚硅谷_图解Java数据结构和算法_Kruskal算法解决公交问题(1)
- 174.尚硅谷_图解Java数据结构和算法_Kruskal算法解决公交问题(2)
- 175.尚硅谷_图解Java数据结构和算法_Kruskal算法解决公交问题(3)
- 176.尚硅谷_图解Java数据结构和算法_Kruskal算法解决公交问题(4)
- 177.尚硅谷_图解Java数据结构和算法_Kruskal算法解决公交问题小结
- 178.尚硅谷_图解Java数据结构和算法_迪杰斯特拉(Dijkstra)算法基本介绍
- 179.尚硅谷_图解Java数据结构和算法_Dijkstra算法思路图解
- 180.尚硅谷_图解Java数据结构和算法_Dijkstra算法解决最短路径问题(1)
- 181.尚硅谷_图解Java数据结构和算法_Dijkstra算法解决最短路径问题(2)
- 182.尚硅谷_图解Java数据结构和算法_Dijkstra算法解决最短路径问题(3)
- 183.尚硅谷_图解Java数据结构和算法_Dijkstra算法解决最短路径问题(4)
- 184.尚硅谷_图解Java数据结构和算法_Dijkstra算法解决最短路径问题(5)
- 185.尚硅谷_图解Java数据结构和算法_弗洛伊德(Floyd)算法基本介绍
- 186.尚硅谷_图解Java数据结构和算法_弗洛伊德(Floyd)算法思路图解
- 187.尚硅谷_图解Java数据结构和算法_Floyd算法解决最短路径问题(1)
- 188.尚硅谷_图解Java数据结构和算法_Floyd算法解决最短路径问题(2)
- 189.尚硅谷_图解Java数据结构和算法_骑士周游问题和游戏说明
- 190.尚硅谷_图解Java数据结构和算法_骑士周游问题思路图解
- 191.尚硅谷_图解Java数据结构和算法_骑士周游回溯算法代码实现(1)
- 192.尚硅谷_图解Java数据结构和算法_骑士周游回溯算法代码实现(2)
- 193.尚硅谷_图解Java数据结构和算法_骑士周游回溯算法代码实现(3)
- 194.尚硅谷_图解Java数据结构和算法_骑士周游回溯算法用贪心算法优化