价格: 30 学币

分类: 算法与数据结构

发布时间: 2020-03-13 09:23:31

最近更新: 2020-03-13 09:23:31

资源类型: VIP

优惠: 开通VIP/SVIP免费获取此资源

开通VIP享受更多优惠 网盘下载地址

算法训练营 - 【极客大学】

70天刻意练习,学会才是终点

 

为什么要学习算法知识?

算法和数据结构是编程的内功,对于编程能力提高和职场道路进阶至关重要。

浑厚的内功可有效保证写出的代码性能良好,提高工作产出,也能让学习其他编程语言和框架事半功倍。

算法和数据结构如今已经是国内外一线互联网公司面试的必考知识点。

 

学习算法的路上,你是否也遇到这些困难?

自学不成体系、不得要领,缺乏结果反馈,难以评估效果。

畏难、缺乏信心,刷题缓慢,难以坚持。

无法将理论和实际相结合,付出了时间,但对工作帮助有限。

做过的题目总是忘记,面对面试官依然大脑空白。

 

课程大纲

数组、链表、跳表
数组、链表属于线性表结构,所谓线性表,就是数据排成一条线一样的结构。

数组和链表原理讲解
面试热点数据结构跳表剖析
常考面试题目精讲
栈、队列、优先队列、双端队列
我们熟知栈是“先入后出”,队列是“先入先出”,那这些数据结构是如何应用的呢?

栈和队列原理讲解
面试热点优先队列、双端队列剖析
常考面试题目精讲
哈希表、映射、集合
在建造哈希表时不仅要设定一个“好”的哈希函数,而且要设定一种处理冲突的方法。

哈希表、映射、集合的原理讲解
哈希表常见实践案例
常考面试题目精讲
树、二叉树、二叉搜索树
从链表到树的发展,你可以发现链表就是特殊化的树,而树又是特殊化的图。

树是如何演进的?
二叉搜索树原理讲解
常考面试题目精讲
递归、分治和回溯
树的面试题解法一般都是递归,熟练使用递归对于培养程序化思维是非常有帮助的。

递归基础知识及常见变形
递归的高阶形式有哪些?
分治与回溯的原理讲解
常考面试题目精讲
深度、广度优先搜索
给你一个用户,如何找出这个用户所有的一度、二度、三度好友关系呢?

如何用代码实现 BFS、DFS?
BFS 和 DFS 有什么区别?
双向 BFS 原理剖析
常考面试题目精讲
贪心算法与二分查找
贪心算法与动态规划的不同在于,它对每个子问题的解决方案都能作出选择,并且不能回退。

贪心算法的原理是什么?
贪心算法有哪些高级应用?
二分查找有哪些高级变形?
常考面试题目精讲
期中周
期中复习、直播
期中考试
动态规划
递推、状态的定义、最优子结构和状态转移方程是动态规划最核心的 4 个要素。

动态规划的原理讲解
理解动态规划的关键点是什么?有哪些误区?
解析动态规划不同路径问题、背包问题
初级、中级动态规划题目精讲
并查集、字典树、红黑树和 AVL 树
AVL 树是一种高度平衡的二叉树,所以查找效率非常高也比较复杂;而红黑树只做到近似平衡,所以维护成本要低一些。

原理讲解及其基本实现
红黑树和 AVL 性能对比
常考面试题目精讲
位运算、布隆过滤器和 LRU Cache
对于一个很长的二进制向量和一系列随机函数,布隆过滤器可以用于检索一个元素是否在一个集合中。

有哪些常见的高级位运算操作?
位运算在搜索、分治中的高级应用
布隆过滤器在工业界有哪些应用?
常考面试题目精讲
排序算法
大部分编程语言都提供了排序函数,在平时项目中也经常会遇到排序,因此需要了解它们之间的区别。

各种常见排序的比较
各种排序算法的模版是什么?
高级排序常考面试题精讲
字符串算法
有一个字符串 “BBC ABCDAB ABCDABCDABDE”,如何知道里面是否包含另一个字符串 “ABCDABD” 呢?

常见的高级字符串算法有哪些?
什么是字符串匹配算法?
常考面试题目精讲

 

资源目录