内容简介:大概2018年上半年的时候,我分享过《从零开始学算法系列》,文章如下:这个系列介绍的理论性比较强,需要有一些算法基础的人才能看懂。于是,2019年上半年,我开始分享《算法就是这么简单》系列。
一、背景
大概2018年上半年的时候,我分享过《从零开始学算法系列》,文章如下:
这个系列介绍的理论性比较强,需要有一些算法基础的人才能看懂。
于是,2019年上半年,我开始分享《算法就是这么简单》系列。
这个系列涉及的知识比较基础,而且附带了很多算法题。
这里总结一下,大家想学习了,可以按照这个目录来学习练习。
二、数组篇
数组是程序语言中最基础的数据结构,在这个数据结构的基础上,可以衍生出很多问题来。
这里分了五篇文章来介绍数组相关的知识。
对于数组相关的算法,其实就那么多知识点。
学习之后,剩下的就是多练习了,不然就会发生看着会做,但是最终代码没实现出来。
三、栈与队列
算法题中,最常见的一类问题就是路径搜索题。
比如问一个点是否可以到达另一个点,或者一个点到达另一个点的最优路径是什么。
这些就需要使用栈或队列来解决。
这里分了四篇文章来介绍这个知识点。
学习了栈和队列,面对路径最优值问题与是否可以到达问题,你应该就可以快速选择正确的数据结构来解决问题了。
上周 Leetcode 第 141 场比赛的时候,就涉及一个 BFS 最优值问题。
有一个人问我为啥自己答案不对,我一看,他使用 DFS 做的。
使用错误的算法肯定不能得到正确的答案的,什么数据结构有什么样的特征,能够解决什么样的问题我们需要知道的。
当然,这里面涉及到一个因果关系,我在文章里讲了,这里就不赘述了,大家自己去读文章吧。
四、链表
对于链表,其实能够出的算法题就那几种题型,大家学会之后,以后要做的就是灵活变通了。
这里也分了四篇文章来介绍链表这个数据结构。
五、二叉树
在算法和数据结构中,树相关的算法和数据结构其实有很多的。
而二叉树算是最简单的数据结构了。
这里使用六篇文章来让大家入门二叉树。
六、其他
除了上面那种比较集中的算法或数据结构,还有一些比较基础的但是又比较简单的知识点。
比如递归、哈希表、map、二分查找等。
七、最后
算法和数据结构的基础知识已经分享的差不多了。
后面计划分初级、中级、高级三个等级来分别讲解各种数据结构或算法的实践题。
想学算法的,建议自己制定一个固定的时间学习这里分享的算法,等你都可以独立作出来的时候,你应该就可以超越大部分人了。
另外,我做的所有题都会分享在 github 上,也建议你参与我发起的《Leetcode算法互动编程》.
项目地址: https://github.com/tiankonguse/leetcode-solutions
-EOF-
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Ruby 2.4 结束支持
- CentOS 6 生命周期结束
- 2020 年,从架构谈起,到 Mesh 结束
- 大厂程序员的老实人生结束了
- android – 如何取消动画,但不是结束它?
- 使用TensorFlow2预测国内疫情结束时间
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
How to Design Programs, 2nd Edition
Matthias Felleisen、Robert Bruce Findler、Matthew Flatt、Shriram Krishnamurthi / MIT Press / 2018-5-4 / USD 57.00
A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This ......一起来看看 《How to Design Programs, 2nd Edition》 这本书的介绍吧!