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数据结构和算法_线索化二叉树代码实现1105.尚硅谷_图解Java数据结构和算法_线索化二叉树代码实现2106.尚硅谷_图解Java数据结构和算法_遍历线索化二叉树实现107.尚硅谷_图解Java数据结构和算法_大顶堆和小顶堆图解说明108.尚硅谷_图解Java数据结构和算法_堆排序的思路图解109.尚硅谷_图解Java数据结构和算法_堆排序的代码实现1110.尚硅谷_图解Java数据结构和算法_堆排序的代码实现2111.尚硅谷_图解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数据结构和算法_动态规划算法解决背包问题1158.尚硅谷_图解Java数据结构和算法_动态规划算法解决背包问题2159.尚硅谷_图解Java数据结构和算法_动态规划算法解决背包问题3160.尚硅谷_图解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数据结构和算法_骑士周游回溯算法用贪心算法优化