内容简介:作者:人人都需要有逻辑能力,人人都需要有分析能力。这篇文章你看不懂。
作者: tiankonguse | 更新日期:
人人都需要有逻辑能力,人人都需要有分析能力。
这篇文章你看不懂。
一、背景
大家好,我是tiankonguse。
由于某些原因,经常有人想学习算法但之前又没有相关经验,不知道从何做起。
我思考了许久,计划写一个系列来分享如何入门学习算法。
之前已经分享了 认识算法 》、《 了解套路长啥样 》、《 排序算法 》、《 二分查找 》、《 万能数组 》、《 链表 》、《 跳表 》七篇文章,这是第八篇,也是从零开始学算法专题的最后一篇《召唤神龙》。
一、基础知识
不知你是否还记得, 3月14日,我发表了这个专题的第一篇文章《认识算法》。
其中提到了计算机和程序语言的两个特点:
特点1:计算机是万能的,她可以做到你告诉她的任何事情。
特点2:计算机是低能的,你必须按照计算机的规则并清清楚楚的告诉她如何一步步做。
你想控制万能的计算机,你需要有强大的思维能力、逻辑能力、分析能力。
你想控制低能的计算机,你需要有细心、耐心、良好的代码规范、统一代码风格。
是的,当你有强大的思维能力、逻辑能力、分析能力时,再加上细心、耐心、良好的代码规范,任何算法与数据结构,在你面前都可以变得那么渺小。
谈笑间,你就可以看出其本质;
弹指间,你就可以实现其代码。
但是,要做到这些都不容易,一切都需要多思考、多练习。
二、回顾
这个系列分享了七篇文章,类型各不相同,目的也不尽相同。
第一篇是让你认识算法与数据结构,通过输入和输出锻炼其耐心,学会细心,并告诉你分析能力很重要。
第二篇想要告诉你这个世界很大,每种问题根据自身的特点,有其对应的结局方案。
我们要做的就是学会基本的知识,提高思维能力分析能力,遇到新问题时使用自己的分析问题能力来想出一个可行的办法,并解决问题。
第三篇文章介绍了入门级的排序,想要告诉你同一个问题,有很多种方法的,关键在于我们的思维是怎么样的。
这样看,可以冒泡、那样看可以选择或插入。
而对于归并、快排或堆排序,则告诉你如果你的认知有限,这些方法是根本不可能想出来的。
怎么提高问题,多去交流,去解决各种问题,随着升级打怪我们的认知也就提高了,很多在其他地方的思想就会讨论在这里了。
第四篇二分查找则说明,表面上明明是一个问题,仔细一看,确实一堆问题。
我们需要细心,需要有清晰的思路,有明确的定义,此时,问题不管怎么千变万化,在我们看来都是一个问题。
这是看到的一个问题与初学者看到的一个问题完全不是一个概念了。
第五篇万能数组,重点在于数据结构了。
使用相同的数据结构,我们可以做不同的事情,但是对应的成本也是不一样的。
第六篇链表,主要表达了这个世界并不想我们看到的那样:连续、清晰、明确。
我们只能看到眼前的一步,至于再往后的一步路,很多人就看不清了。
我们需要看清其本质,抓住其位置,才能精确的找到后面的一步步路。
第七篇跳表和之前完全不一样了,错综复杂的世界展现在我们面前,大家都看花了眼。
此时只有清晰的大脑,正确的逻辑,才能看清这一切背后的本质。
原来跳表就是一个多叉树,可以用来做任何事情。
不仅仅支持有序,还可以乱序,还可以动态的调整树的高度,从而使得这个多叉树保持平衡。
不过世界这么复杂,没人看到这一步,时代在发展,这一步迟早会到来,并被人们接受。
三、征途
算法与数据结构其实就是一种数理逻辑,定义一些名词与规则,通过运行规则得出结果。
对于数理逻辑,天生就长了一副抽象的脸,大部分人看不清里,总是迷迷糊糊的。
根据这些数理逻辑的类型,进行了分类划分,比如基础类型、图论、数学、字符串、博弈等。
这些类型由于是强行划分的,有时候属于多个分类也属正常。
刚开始,你只能从简单的基础类型来认识它们,也就是这个主题《从零开始学算法》。
在这里面有哪些算法或数据结构不重要,重要的是要锻炼自己的逻辑能力、分析能力。
后面的路肯定还很远,短视的我只计划了下一个系列,是树相关的内容,需要有更强的逻辑能力你才能看懂。
四、最后
人人都需要有逻辑能力,人人都需要有分析能力。
这样面对任何事情,都会很从容的去面对,然后按照自己的理解去做出最正确的选择。
人人都喜欢听故事,故事听多了,人就慢慢没有逻辑了,不会分析了,总是被故事引导,以故事的结论当做自己的结论,这样是很可怕的。 怎么办,学习算法可以稍微提高一点自己的逻辑能力、分析能力。
本文首发于公众号:天空的代码世界,微信号:tiankonguse-code。
以上所述就是小编给大家介绍的《从零开始学算法:8. 召唤神龙》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 强网宝鼎 最强王者 牛人召唤 等你来战!
- 英雄帖|2018WOT全球人工智能技术峰会:一纸传令 召唤群雄
- 价值6千多美金的C sharp sdk赏金活动已经结束,该召唤神龙了
- 通俗易懂--决策树算法、随机森林算法讲解(算法+案例)
- 限流算法之漏桶算法、令牌桶算法
- 什么是Paxos算法?Paxos算法是区块链核心算法之一
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python 3学习笔记(上卷)
雨痕 / 电子工业出版社 / 2018-1 / 89
经过9 年的发展,Python 3 生态已相当成熟。无论是语言进化、解释器性能提升,还是第三方支持,都是如此。随着Python 2.7 EOF 日趋临近,迁移到Python 3 的各种障碍也被逐一剔除。是时候在新环境下学习或工作了。 人们常说Python 简单易学,但这是以封装和隐藏复杂体系为代价的。仅阅读语言规范很难深入,亦无从发挥其应有能力,易学难精才是常态。《Python 3学习笔记(......一起来看看 《Python 3学习笔记(上卷)》 这本书的介绍吧!