Introduction
数据结构和算法基础知识学习和总结。
最后更新于
数据结构和算法基础知识学习和总结。
最后更新于
此项目是自己在准备找工作的时候,借助leetcode
上的题目,对数据结构和算法的基础内容复习总结的。
在线文档基于Gitbook
所写,代码实现使用C++语言。并且整个文档可以在Github上下载,文档中代码都是在Leetcode
上经过测试并且顺利Accepted
。Github
上还上传了所有的代码,项目见这里。
常用的数据结构总结如下(个人总结,如有不对之处请指教):
数据结构是工具,算法是通过合适的工具解决特定问题的方法。也就是说,学习算法之前,最起码得了解那些常用的数据结构,了解它们的特性和缺陷。
注:第一部分C++基础部分的代码都在VC16.0(VS2019)
或GCC(Clion2020)
上测试过。有代码示例的地方,如果没有说明具体的平台,说明在两个平台上的支持是一样的,不一样的地方都会有说明。
推荐的刷题顺序:二叉树—>线性表—>排序算法—>死磕二叉树—>动态规划—>滑动窗口—>回溯法—>其他类型(顺序随意)。一定要先刷二叉树,先刷二叉树,先刷二叉树,重要的事情说三遍。。。
(说一下本人的复习情况,供参考,本人从7月1日开始刷题,这套笔记也是从那时候开始创建,知道10月25号百度面试结束,其中十一开始没有再刷题,七到十月份三个月的时间里是边面试边刷题边复习基础知识的状态,自认为基础不错,所以建议基础不太好的人能够在七月份之前将这上面总结的估计150-200道题的至少60%能做一遍,基本就可以开始面试了,如果想参加提前批,那就提前一个月。)
《数据结构与算法分析——C语言描述》
《数据结构》——邓俊辉
Codewars
:https://www.codewars.com/
Hihocoder
:http://hihocoder.com/problemset
Lintcode
:https://www.lintcode.com/
Geeksforgeeks
:https://www.geeksforgeeks.org/
Acwing
:https://www.acwing.com/
HIT Online Judge
:http://acm.hit.edu.cn/
labuladong
:https://labuladong.gitbook.io/algo/
algorithm-pattern
:https://greyireland.gitbook.io/algorithm-pattern/
LeetCode
题解:https://github.com/soulmachine/leetcode
Linux命令搜索:https://wangchujiang.com/linux-command/
本人的其他笔记,博客等请移步下面的链接。。。