对于计算机科学的学习者来说,算法是一门非常重要的课程。网络上关于算法的教程非常多,但这些教程鱼目混杂,良莠不齐,初学者很难迅速学习并手动实现。因此搜索算法教程来学习的方法会浪费大量的时间,学习效果也不佳。
而系统讲解算法的书籍理论性较强,相对枯燥乏味,难以激发读者的阅读兴趣,且涵盖内容有限,不能面面俱到。
有没有有趣又高效的算法学习方法呢?最近,GitHub 上的一个项目引发了大量关注,连续几天登上热榜。
项目地址:https://github.com/geekxh/hello-algorithm
该项目中包括热爱编程的作者小浩撰写的一本三十万字的算法题典,全部采用漫画图解的方式,简单易懂,适合初中级读者。
一边看漫画,一边学算法,听起来是不是很有趣?下面我们就来看看这个项目的具体内容吧。
项目介绍
该项目包括小浩撰写的一本三十万字的算法题典,以及他收集整理的编程类思维导图、大厂面经,和不同语言编程电子书等。
算法题典
在这本算法题典中,作者对一些经典算法做了讲解。讲解的形式是首先给出一道应用该算法的题目,比如,在二分法系列的第一节中,作者以一道「爱吃香蕉的珂珂」引入:
题目的呈现方式和在线判题系统(OJ)类似。首先给出一段文字情境描述,然后给出输入和输出的示例。在给出题解之前,作者建议读者自己思考实现一下。
解决这道题目,要用到的是二分查找算法。作者用图示的方法演示了二分查找的过程。这样的漫画演示方式让读者能够清晰明了地理解算法的原理。
最后,作者还给出了解决原题目的代码。
算法题解这部分适用于计算机科学的初学者阅读,用题目和图画的方式讲解算法,易于理解,且能让初学者印象深刻。读者借助编写代码实现算法还能做到举一反三,这是打好算法基础的关键。
思维导图
项目作者小浩还整理收集了 100 张思维导图。思维导图是一种表达发散性思维的有效图形思维工具,具有简单、高效、实用的特点。
以下图为例,这张思维导图展示了在 Python 语言编程中遇到错误和异常时你应该怎么做,清晰地表述出程序中可能存在的问题,以及调试和处理的方法。
用思维导图整理知识的好处是它能够大致模拟人的思维过程。例如在调试过程中,思维导图能够模拟调试的顺序步骤和方法分类,用最简洁清晰的方式完整地描述方法过程。
大厂面试经验
项目中另一个很吸引人的部分是大厂面试题目汇总。
作为拿到大厂 offer 的敲门砖,大厂面试经验一直受到追捧。但大部分的面试经验和算法教程一样,在网络上零散分布,且不按话题分类。而在本项目中,作者整理了 100 篇面试经验,并且按照面试题目涉及的知识点进行分类。不仅适合求职者临阵磨枪,也适合在校生阅读学习。
比如,「Java 基础面试题」中的题目简单,解答清晰全面,很适合 Java 初学者。对于求职的开发者而言,也能够起到整理思路、对知识点查缺补漏的作用。
清晰版电子书
作者整理了多本电子书的资源链接,目前以 Python 语言的书籍为主:
以上就是「和小浩学算法」项目的主要内容,能够一次性收获这么多高效实用的资源真是太棒了。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Blockchain Basics
Daniel Drescher / Apress / 2017-3-16 / USD 20.99
In 25 concise steps, you will learn the basics of blockchain technology. No mathematical formulas, program code, or computer science jargon are used. No previous knowledge in computer science, mathema......一起来看看 《Blockchain Basics》 这本书的介绍吧!