前言
经历过校招的人都知道,算法和数据结构都是不可避免的。
在笔试的时候,最主要的就是靠算法题。像拼多多、头条这种大公司,上来就来几道算法题,如果你没AC出来,面试机会都没有。
在面试(现场面或者视频面)的时候也会问算法题,难度肯定是没有笔试的时候那么难的。我们可以想象一个场景,一面面试面到一半,面试官让你反转二叉树,问问现在的自己,你还会吗。
我想你应该需要先看看下面的思维导图
不扯远了,如果还在上大学的同学可以先以排序和各种的基本数据结构开始入门。我花了一个星期将八大基础排序和链表/二叉树/栈/队列制作成一份精美的PDF。
这份PDF阅读体验肯定是要比公众号和各大的博客平台的文章要好的。PDF内容为纯手打!
先来看下目录
需要完整版笔记的老铁请转发+关注,然后私信回复 “算法” 即可获得免费领取方式!
数据结构与算法学习文档及笔记
一、冒泡排序
- 冒泡排序的实现
- 第一趟排序
- 第二趟排序
- 代码简化
- 冒泡排序优化
二、选择排序
- 选择排序介绍和稳定性说明
- 第一趟排序
- 第二趟排序
- 代码简化
三、插入排序
- 插入排序介绍
- 第一趟排序
- 第二趟排序
- 简化代码
四、快速排序
- 快速排序的介绍
- 第一趟快速排序
- 递归分析与代码实现
五、归并排序
- 归并排序的介绍
- 演算归并排序过程
- 归并排序前提分析(分治法)
- 归并代码实现
六、希尔排序
- 希尔排序介绍
- 希尔排序体验
- 希尔排序代码实现
七、堆排序
- 堆排序介绍
- 堆排序体验
- 堆排序代码实现
八、基数排序(桶排序)
- 基数排序(桶排序)介绍
- 基数排序代码编写
- 桶排序(基数排序)总结
九、递归
- 递归介绍
- 求和
- 数组内部的最大值
- 冒泡排序递归写法
- 斐波那契数列
- 汉诺塔算法
- 总结
十、链表
- 回顾与知新
- Java实现链表
- 链表总结
十一、栈
- 数据结构[栈]就是这么简单
- 数据结构[栈]代码实现
十二、队列
- 数据结构[队列]就是这么简单
十三、二叉树
- 二叉树就是这么简单
- 动态创建二叉树
- 查询二叉查找树相关
需要完整版笔记的老铁加下方小助理VX即可免费领取到!
最后想要说明的是,排序算法/数据结构的代码可能不是最优解,代码的实现都是以比较容易理解的方式去写的。几乎每句代码都有对应的注释,应该是能看懂的。
算法视频教程免费分享(彩蛋)
左程云针对大厂头条、京东、腾讯、阿里算法面试题而讲解的视频,感兴趣的朋友可以关注我来领取一份