目录

数据结构和算法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 快速排序小结