从零开始学算法:8. 召唤神龙

栏目: 编程工具 · 发布时间: 6年前

内容简介:作者:人人都需要有逻辑能力,人人都需要有分析能力。这篇文章你看不懂。

作者: tiankonguse | 更新日期:

人人都需要有逻辑能力,人人都需要有分析能力。

这篇文章你看不懂。

一、背景

大家好,我是tiankonguse。

由于某些原因,经常有人想学习算法但之前又没有相关经验,不知道从何做起。

我思考了许久,计划写一个系列来分享如何入门学习算法。

之前已经分享了 认识算法 》、《 了解套路长啥样 》、《 排序算法 》、《 二分查找 》、《 万能数组 》、《 链表 》、《 跳表 》七篇文章,这是第八篇,也是从零开始学算法专题的最后一篇《召唤神龙》。

一、基础知识

不知你是否还记得, 3月14日,我发表了这个专题的第一篇文章《认识算法》。

其中提到了计算机和程序语言的两个特点:

特点1:计算机是万能的,她可以做到你告诉她的任何事情。

特点2:计算机是低能的,你必须按照计算机的规则并清清楚楚的告诉她如何一步步做。

你想控制万能的计算机,你需要有强大的思维能力、逻辑能力、分析能力。

你想控制低能的计算机,你需要有细心、耐心、良好的代码规范、统一代码风格。

是的,当你有强大的思维能力、逻辑能力、分析能力时,再加上细心、耐心、良好的代码规范,任何算法与数据结构,在你面前都可以变得那么渺小。

谈笑间,你就可以看出其本质;

弹指间,你就可以实现其代码。

但是,要做到这些都不容易,一切都需要多思考、多练习。

二、回顾

这个系列分享了七篇文章,类型各不相同,目的也不尽相同。

第一篇是让你认识算法与数据结构,通过输入和输出锻炼其耐心,学会细心,并告诉你分析能力很重要。

第二篇想要告诉你这个世界很大,每种问题根据自身的特点,有其对应的结局方案。

我们要做的就是学会基本的知识,提高思维能力分析能力,遇到新问题时使用自己的分析问题能力来想出一个可行的办法,并解决问题。

第三篇文章介绍了入门级的排序,想要告诉你同一个问题,有很多种方法的,关键在于我们的思维是怎么样的。

这样看,可以冒泡、那样看可以选择或插入。

而对于归并、快排或堆排序,则告诉你如果你的认知有限,这些方法是根本不可能想出来的。

怎么提高问题,多去交流,去解决各种问题,随着升级打怪我们的认知也就提高了,很多在其他地方的思想就会讨论在这里了。

第四篇二分查找则说明,表面上明明是一个问题,仔细一看,确实一堆问题。

我们需要细心,需要有清晰的思路,有明确的定义,此时,问题不管怎么千变万化,在我们看来都是一个问题。

这是看到的一个问题与初学者看到的一个问题完全不是一个概念了。

第五篇万能数组,重点在于数据结构了。

使用相同的数据结构,我们可以做不同的事情,但是对应的成本也是不一样的。

第六篇链表,主要表达了这个世界并不想我们看到的那样:连续、清晰、明确。

我们只能看到眼前的一步,至于再往后的一步路,很多人就看不清了。

我们需要看清其本质,抓住其位置,才能精确的找到后面的一步步路。

第七篇跳表和之前完全不一样了,错综复杂的世界展现在我们面前,大家都看花了眼。

此时只有清晰的大脑,正确的逻辑,才能看清这一切背后的本质。

原来跳表就是一个多叉树,可以用来做任何事情。

不仅仅支持有序,还可以乱序,还可以动态的调整树的高度,从而使得这个多叉树保持平衡。

不过世界这么复杂,没人看到这一步,时代在发展,这一步迟早会到来,并被人们接受。

三、征途

算法与数据结构其实就是一种数理逻辑,定义一些名词与规则,通过运行规则得出结果。

对于数理逻辑,天生就长了一副抽象的脸,大部分人看不清里,总是迷迷糊糊的。

根据这些数理逻辑的类型,进行了分类划分,比如基础类型、图论、数学、字符串、博弈等。

这些类型由于是强行划分的,有时候属于多个分类也属正常。

刚开始,你只能从简单的基础类型来认识它们,也就是这个主题《从零开始学算法》。

在这里面有哪些算法或数据结构不重要,重要的是要锻炼自己的逻辑能力、分析能力。

后面的路肯定还很远,短视的我只计划了下一个系列,是树相关的内容,需要有更强的逻辑能力你才能看懂。

四、最后

人人都需要有逻辑能力,人人都需要有分析能力。

这样面对任何事情,都会很从容的去面对,然后按照自己的理解去做出最正确的选择。

人人都喜欢听故事,故事听多了,人就慢慢没有逻辑了,不会分析了,总是被故事引导,以故事的结论当做自己的结论,这样是很可怕的。 怎么办,学习算法可以稍微提高一点自己的逻辑能力、分析能力。

本文首发于公众号:天空的代码世界,微信号:tiankonguse-code。


以上所述就是小编给大家介绍的《从零开始学算法:8. 召唤神龙》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python 3学习笔记(上卷)

Python 3学习笔记(上卷)

雨痕 / 电子工业出版社 / 2018-1 / 89

经过9 年的发展,Python 3 生态已相当成熟。无论是语言进化、解释器性能提升,还是第三方支持,都是如此。随着Python 2.7 EOF 日趋临近,迁移到Python 3 的各种障碍也被逐一剔除。是时候在新环境下学习或工作了。 人们常说Python 简单易学,但这是以封装和隐藏复杂体系为代价的。仅阅读语言规范很难深入,亦无从发挥其应有能力,易学难精才是常态。《Python 3学习笔记(......一起来看看 《Python 3学习笔记(上卷)》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

html转js在线工具
html转js在线工具

html转js在线工具