课程简介
抖码课堂精讲数据结构与算法视频课程,由乐学编程网整理发布1080P高清完结版。数据结构与算法的学习对于计算机科学专业学生和从事软件开发的人员来说非常重要。它可以提高程序效率,解决复杂问题,展示组织与计算过程的关系,提高解决问题的能力和思维的灵活性,进而在面试和工作中获得竞争优势。一门决定你来来职业高度的课程,月薪少子3万都需要学习的课程,带你构建数据结构与算法知识体系,突破职业瓶颈,冲击大厂高薪职位。
相关课程
极客时间算法训练营
算法与数据结构高手养成-求职提升特训课 | 高清无密 | 课件代码完整
【马士兵教育】左神-算法与数据结构全阶班
课程目录
.
├── 1_基础篇一:复杂度分析【基础班】/
│ ├── [5.0M] 1-1_1复杂度分析课程内容
│ ├── [8.6M] 1-2_2新建项目
│ ├── [ 30M] 1-3_3为什么需要时间复杂度分析
│ ├── [ 39M] 1-4_4算法执行时间的计算
│ ├── [ 37M] 1-5_5大O复杂度表示法
│ ├── [ 33M] 1-6_6渐进时间复杂度分析
│ ├── [ 15M] 1-7_7常量阶时间复杂度
│ ├── [ 34M] 1-8_8对数阶时间复杂度
│ ├── [ 11M] 1-9_9时间复杂度分析方法总结
│ ├── [ 13M] 1-10_10时间复杂度加法法则
│ ├── [9.2M] 1-11_11时间复杂度乘法法则
│ ├── [ 21M] 1-12_12时间复杂度分析例子
│ ├── [ 25M] 1-13_13常用时间复杂度总结
│ ├── [ 24M] 1-14_14最好、最坏以及平均时间复杂度
│ └── [ 14M] 1-15_15空间复杂度分析
├── 2_基础篇二:数组和链表【基础班】/
│ ├── [ 96M] 1-1_1_静态数组
│ ├── [ 52M] 1-2_2_二次封装内置数组
│ ├── [101M] 1-3_3_二次封装内置数组的增删改查操作
│ ├── [ 73M] 1-4_4_二次封装内置数组的其他特点
│ ├── [ 82M] 1-5_5_动态数组的扩容和缩容
│ ├── [ 62M] 1-6_6_动态数组对比静态数组
│ ├── [ 68M] 1-7_7_链表对比数组
│ ├── [ 73M] 1-8_8_单向链表的查询操作实现
│ ├── [ 67M] 1-9_9_单向链表的修改和新增操作实现
│ ├── [ 72M] 1-10_10_单向链表的删除操作实现
│ ├── [ 62M] 1-11_11_单向链表测试及其复杂度分析
│ ├── [ 50M] 1-12_12_双向链表的优缺点
│ ├── [ 66M] 1-13_13_双向链表的修改和新增操作实现
│ └── [ 74M] 1-14_14_双向链表的删除操作实现
└── 3_基础篇三:栈和队列【基础班】/
├── [ 56M] 1-1_1_栈的特点和使用场景
├── [ 82M] 1-2_2_使用数组实现栈
├── [ 85M] 1-3_3_使用链表实现栈-学it编程加微信ebing6
├── [ 83M] 1-4_4_力扣20号题:有效括号(老)
├── [ 95M] 1-5_5_力扣20号题:最小栈
├── [ 63M] 1-6_6_队列的特点和实现
├── [ 43M] 1-7_7_循环队列的基础实现
├── [ 65M] 1-8_8_循环队列的扩容和缩容
├── [ 93M] 1-9_9_各种队列实现方式的比较和优化
├── [139M] 1-10_10_Java中的队列
└── [ 32M] 1-11_11_剑指9号题:两个栈实现队列
├── 4_基础篇四:排序算法(一)【基础班】/
│ ├── [ 43M] 1-1_1_双指针算法需要的基础知识
│ ├── [130M] 1-2_2_双指针之快慢指针
│ ├── [ 85M] 1-3_3_双指针之对撞指针以及总结
│ ├── [ 65M] 1-4_4_理解递归需要的基础知识
│ ├── [ 92M] 1-5_5_递归的理解
│ ├── [ 38M] 1-6_6_排序基础
│ ├── [ 90M] 1-7_7_冒泡排序
│ ├── [ 71M] 1-8_8_选择排序
│ ├── [164M] 1-9_9_插入排序
│ ├── [ 79M] 1-10_10_希尔排序(一)
│ ├── [ 88M] 1-11_11_希尔排序(二)
│ ├── [ 74M] 1-12_12_归并排序(一)
│ ├── [ 90M] 1-13_13_归并排序(二)
│ ├── [ 74M] 1-14_14_归并排序(三)
│ ├── [ 44M] 1-15_15_归并排序(四)
│ ├── [ 75M] 1-16_16_快速排序(一)
│ ├── [ 57M] 1-17_17_快速排序(二)
│ └── [ 94M] 1-18_18_快速排序(三)
├── 5_基础篇五:排序算法(二)【基础班】/
│ ├── [137M] 1-1_1_桶排序
│ ├── [124M] 1-2_2_计数排序
│ ├── [ 95M] 1-3_3_基数排序
│ ├── [ 86M] 1-4_4_如何写一个通用的排序算法
│ ├── [130M] 1-5_5_引用类型数组的排序
│ ├── [ 59M] 1-6_6_Java内置排序算法
│ ├── [ 53M] 1-7_7_力扣56题:合并区间
│ ├── [ 70M] 1-8_8_力扣179题:最大数@微信ebing6
│ ├── [ 59M] 1-9_9_力扣75题:颜色分类
│ ├── [132M] 1-10_10_力扣164题:最大间距
│ └── [ 98M] 1-11_11_剑指51题:数组中的逆序对
├── 6_基础篇六:二分算法【基础班】/
│ ├── [ 76M] 1-1_1_二分查找代码实现
│ ├── [100M] 1-2_2_几个二分查找细节问题
│ ├── [ 86M] 1-3_3_二分查找的变形问题(一)
│ ├── [ 44M] 1-4_4_二分查找的变形问题二)
│ ├── [135M] 1-5_5_二分查找的应用-IP地址维护
│ ├── [105M] 1-6_6_力扣704题:二分查找
│ ├── [ 95M] 1-7_7_力扣34题:在排序数组中查找元素的第一个和最后一个位置
│ ├── [ 75M] 1-8_8_力扣35题:搜索插入位置
│ ├── [ 53M] 1-9_9_力扣33题:搜索旋转排序数组
│ ├── [ 60M] 1-10_10_剑指11题:旋转排序数组的最小数字
│ ├── [ 38M] 1-11_11_力扣852题:山脉数组的峰顶索引
│ └── [ 30M] 1-12_12_力扣1095题:二分查找代码实现
├── 7_基础篇七:链表相关算法【基础班】/
│ ├── [ 84M] 1-1_1_链表相关算法:基础知识
│ ├── [ 67M] 1-2_2_力扣203题:移除链表元素
│ ├── [ 63M] 1-3_3_力扣206题:反转链表
│ ├── [ 43M] 1-4_4_力扣876题:链表的中间节点
│ ├── [ 52M] 1-5_5_力扣19题:删除链表的第N个节点
│ ├── [ 70M] 1-6_6_力扣21题:合并两个有序链表
│ ├── [ 77M] 1-7_7_力扣23题:合并K个升序链表
│ ├── [ 57M] 1-8_8_力扣147题:对链表进行插入排序
│ └── [164M] 1-9_9_力扣148题:排序链表
├── 8_中级篇一:普通二叉树【中级班】/
│ ├── [ 80M] 1-1_1_树的基本概念
│ ├── [ 81M] 1-2_2_二叉树的存储
│ ├── [ 58M] 1-3_5_二叉树的后序遍历
│ ├── [135M] 1-4_7_二叉树的递归实现
│ ├── [ 36M] 1-5_8_深度优先搜索和广度优先搜索
│ ├── [108M] 1-6_9_求二叉树的最大深度
│ ├── [119M] 1-7_10_力扣112题:路径之和
│ ├── [ 48M] 1-8_11_力扣226题:翻转二叉树
│ ├── [ 53M] 1-9_12_力扣100题:相同的树@www.lexuecode.com
│ └── [ 54M] 1-10_13_力扣101题:对称二叉树
├── 9_中级篇二:二叉查找树【中级班】/
│ ├── [ 94M] 1-1_1_二叉查找树的特点
│ ├── [ 75M] 1-2_2_二叉查找树的插入操作
│ ├── [ 55M] 1-3_3_二叉查找树的查询操作
│ ├── [ 64M] 1-4_4_二叉查找树删除操作(一)
│ ├── [ 79M] 1-5_5_二叉查找树删除操作(二)
│ ├── [120M] 1-6_6_二叉查找树删除操作(三)
│ ├── [ 70M] 1-7_7_二叉查找树修改操作
│ ├── [110M] 1-8_8_递归实现二叉查找树新增操作
│ ├── [ 38M] 1-9_9_递归实现二叉查找树查询操作
│ ├── [140M] 1-10_10_递归实现二叉查找树删除操作
│ ├── [ 66M] 1-11_11_什么是AVL树
│ ├── [ 83M] 1-12_12_平衡因子
│ ├── [ 36M] 1-13_13_判断一棵树是否是平衡树
│ ├── [ 72M] 1-14_14_右旋转
│ ├── [ 50M] 1-15_15_左旋转
│ ├── [ 53M] 1-16_16_LR和RL
│ ├── [ 92M] 1-17_17_AVL树新增测试以及删除操作
│ ├── [ 76M] 1-18_18_2-3树
│ ├── [ 91M] 1-19_19_认识红黑树
│ ├── [ 66M] 1-20_20_代码实现红黑树左旋转
│ ├── [ 74M] 1-21_21_红黑树的颜色翻转和右旋转
│ └── [100M] 1-22_22_红黑树添加节点操作
├── 10_中级篇三:堆和优先队列【中级班】/
│ ├── [ 15M] 1-1_1_常用高层数据结构内容大纲
│ ├── [ 68M] 1-2_4_二叉堆的SiftDown逻辑
│ ├── [ 82M] 1-3_5_堆化操作
│ ├── [ 38M] 1-4_6_优先队列
│ ├── [ 51M] 1-5_7_力扣23:合并K个升序链表
│ ├── [103M] 1-6_8_lc215:数组中的第K个最大值
│ ├── [ 30M] 1-7_9_lc703:数据流中的第K大元素
│ └── [ 47M] 1-8_10_lc295:数据流的中位数
├── 11_中级篇四:Set、Map和跳表【中级班】/
│ ├── [167M] 1-1_1_Set的实现
│ ├── [ 85M] 1-2_2_哈希方法实现Set@微信ebing6
│ ├── [ 71M] 1-3_3_哈希冲突解决方案:开放寻址法
│ ├── [133M] 1-4_4_哈希冲突解决方案:链表法
│ ├── [166M] 1-5_5_Map的实现
│ ├── [ 79M] 1-6_6_HashMap的实现
│ ├── [126M] 1-7_7_Set和Map的测试
│ ├── [116M] 1-8_8_lc349:两个数组的交集
│ ├── [ 67M] 1-9_9_lc350:两个数组的交集二
│ ├── [ 81M] 1-10_10_lc1:两数之和
│ ├── [ 46M] 1-11_11_lc167:两数之和变形题之输入有序数组
│ ├── [ 64M] 1-12_12_lc170:两数之和变形题之数据结构设计
│ ├── [ 36M] 1-13_13_lc653:两数之和变形题之输入BST
│ ├── [ 95M] 1-14_14_lc15:三数之和
│ ├── [ 19M] 1-15_15_lc18:四数之和
│ ├── [ 55M] 1-16_16_什么是跳表
│ ├── [ 88M] 1-17_17_跳表的查询操作
│ ├── [ 90M] 1-18_18_跳表的插入和删除操作
│ └── [ 19M] 1-19_19_跳表的使用场景
├── 12_高级篇一:图的DFS和BFS【高级班】/
│ ├── [ 13M] 1-1_1_无向无权图的内容大纲
│ ├── [ 21M] 1-2_2_图的基本概念
│ ├── [123M] 1-3_3_图的存储:邻接矩阵
│ ├── [159M] 1-4_4_图的存储:邻接表
│ ├── [112M] 1-5_5_图的DFS遍历(一)
│ ├── [139M] 1-6_6_图的DFS遍历(二)
│ ├── [100M] 1-7_7_DFS实现联通分量
│ ├── [128M] 1-8_8_DFS实现求单源路径
│ ├── [ 48M] 1-9_9_DFS实现环检测
│ ├── [ 52M] 1-10_10_DFS实现二分图检测
│ ├── [ 52M] 1-11_11_图的BFS遍历
│ ├── [133M] 1-12_12_BFS实现联通分量、单源路径、环检测以及二分图
│ └── [ 78M] 1-13_13_单源最短路径算法
├── 13_高级篇二:图的经典算法【高级班】/
│ ├── [119M] 1-1_1_floodfill算法基础
│ ├── [211M] 1-2_2_floodfill算法
│ ├── [ 51M] 1-3_3_有权图
│ ├── [200M] 1-4_4_最小生成树-学it编程加微信ebing6
│ ├── [179M] 1-5_5_最短路径
│ ├── [5.4M] 1-6_6_其他种类图的内容大纲
│ ├── [151M] 1-7_7_有向图
│ ├── [ 50M] 1-8_8_有向图环检测
│ └── [ 89M] 1-9_9_拓扑排序
└── 14_应用篇:数据结构与算法的应用/
├── [ 16M] 1-1_1_应用篇内容
├── [142M] 1-2_2_lc1244:排行榜
├── [ 65M] 1-3_3_lc1396:设计地铁系统
├── [108M] 1-4_4_字符串匹配算法:BF算法
├── [165M] 1-5_5_字符串匹配算法:RK算法
├── [114M] 1-6_6_字符串匹配算法:BM算法(一)
├── [137M] 1-7_7_字符串匹配算法:BM算法(二)
├── [ 91M] 1-8_8_字符串匹配算法:KMP算法(一)
├── [121M] 1-9_9_字符串匹配算法:KMP算法(二)
├── [130M] 1-10_10_字典树
├── [ 47M] 1-11_11_lc208:实现Trie(前缀树)
├── [128M] 1-12_12_lc642:搜索自动补全系统
├── [131M] 1-13_13_海量数据查找去重问题
├── [ 74M] 1-14_14_缓存的概念
├── [183M] 1-15_15_LRU缓存算法
├── [195M] 1-16_16_LFU缓存算法
├── [ 37M] 1-17_17_RedisValue数据类型
├── [ 90M] 1-18_18_MySQL索引
└── [ 94M] 1-19_19_B树
└── 资料课件
更新日志
2023-5-28:已更新完结,百度云盘下载。