数据结构和算法liuyubobo_你只管打开这个视频,剩下的算法学习交给liuyubobobo
数据结构和算法liuyubobo_你只管打开这个视频,剩下的算法学习交给liuyubobobo
第1章 欢迎大家来到算法与数据结构的世界
学算法只是应付面试,跳槽,公司内部考核吗?曾经有无数同学问过的学习算法和数据结构到底有没有用?本章我们将展开探讨。
1-1 欢迎大家来到算法与数据结构的世界
1-2 学习算法和数据结构到底有没有用?
1-3 更多课程学习注意事项
第2章 算法初体验:不要小瞧数组
数组,看似是最简单的数据结构,但是,当我们封装一个属于我们自己的动态数组时,也会碰到很多高级话题,比如如何使用泛型?如何实现动态开辟空间?其中遇到复杂度的震荡,该如何解决?
2-1 为什么要学习数据结构
2-2 使用 Java 中的数组
2-3 二次封装属于我们自己的数组
2-4 向数组中添加元素
2-5 数组中查询元素和修改元素
2-6 数组中的包含,搜索和删除
2-7 泛型类
2-8 动态数组
2-9 简单的复杂度分析
2-10 均摊复杂度和防止复杂度的震荡
第3章 快速排序法的基本思想
快速排序是最经典的排序算法,在这一章,我们将由浅入深,从最基本的快排算法开始讲解,逐步掌握快速排序的基本思想。
3-1 快速排序法的原理
3-2 Partition
3-3 第一版快速排序法
3-4 添加到日历 第一版快速排序法的问题
3-5 为快速排序添加随机化
3-6 两个作业:深入玩转快速排序
第4章 深入快速排序算法
在这一章,我们将深入探索我们的排序算法可能遇到什么问题,如何解决,进而演化三个快速排序版本:加入随机化的单路快排,双路快排,和三路快排。同时,我们也将探讨,面对随机化的时候,复杂度应该如何分析。
4-1 快速排序算法还有问题
4-2 双路快速排序法
4-3 实现双路快速排序法
4-4 快速排序算法的复杂度分析
4-5 三路快速排序法
4-6 实现三路快速排序法
4-7 作业:一道面试问题,Sort Colors
4-8 作业:Select K 问题
4-9 快速排序小结