首页 > 科技 > 算法死活记不住?大神告诉你秘诀:内化它的逻辑

算法死活记不住?大神告诉你秘诀:内化它的逻辑

新智元报道

编辑:Aeneas

【新智元导读】写代码时总是记不住?别着急,大神祭出了压箱底的办法来帮你。

有网友诉说了自己的苦恼——

我曾经非常擅长用不同的语言写代码,可是在一年后,我就完全忘记了如何用这些语言写代码。

现在我正在尝试学习 Lua,我能看懂每一行的意思,但是到了要写出来的时候就不知道该怎么做了。

针对ta的苦恼,网友大神们纷纷给出建议。

你是说循环、变量之类的语法吗?

还是说排序、搜索、递归?

这两种情况,我只有一些基本的想法,剩下的由google完成。

我不记得代码,只记得我需要什么。

没错,就是这个方法。

知道你需要在这里使用循环比记住循环语法更重要。

一旦你知道你需要使用什么,你就可以根据需要把语法google出来。

显然有些东西你应该记住语法,比如如何创建一个函数,如何创建不同类型的变量,如何将输出放到屏幕上......

不过随着它变得越来越复杂,只要理解这个概念,再google出来就行了。

你是指如何记住怎么写编程语言的,比如Lua、Python 或 C++ 之类的吗?

通常,就是通过写代码来记住,一段时间不写,就会忘了,然后你就需要重新去学习它们。

我做的网页设计/编程越多,我就越喜欢用「直线」方法。

只需选择你需要学习的下一个东西,并在你们之间画出最直、最快的线,然后去学习这个东西。弄清楚这一点,然后继续下一步。你需要学习的只是能让你完成任务的极少数特定的东西。你不需要成为一个完美的全栈开发人员,事实上,你可以将整个过程分解为大概10到20个核心步骤,假设它不是非常复杂的话。

我确实会阅读和研究了除此之外的编程语言,因为它们确实有助于在你的工具包中添加更多东西,并且用不同的方法来填充你的记忆,但是当涉及到实际的执行, 直线方法可能会让你快1000倍。

在条件允许的情况下,就要做减法。如果一个平台/后端主机很复杂,你需要5个小时才能弄清楚如何做最简单的事情,而这本应该用几分钟就完成,那就退后一步,看看你是否可以以某种方式简化它。

你是否需要学习3种不同的编程语言并观看4小时的视频才能完成实际上非常简单的任务?或者你能不能找到一些简单的服务器来存储你的简易数据库——它的使用和集成如此简单,以至于白痴都能很快找到它?我们并不会因为从A点到B点采取最耗时、最复杂的路线而赢得额外积分。

我靠的是练习、谷歌和同事:)

我记住得很少,只记得帮助我找到答案的那一点面包屑。如果有好办法,请指点我一下。

我在面试时最喜欢听到的答案是——

「值得记住的东西都加了书签,其他的东西我现在很容易找到;我不需要所有的答案,但我很擅长找到它们。」

我在很多算法网站上的排名都很高。在我看来,从记忆的角度理解算法是行不通的。你需要内化它的逻辑。

想想其他你知道该怎么做的事,你可能可以写下它的每一步,但你做的时候不会特意去想。比如做黄油吐司。想象一下,你有一个按钮式烤面包机。你得先烤面包,然后再涂黄油。顺序不只是你记住的东西,它是有意义的。如果你先涂上黄油,它就会滴入烤面包机底部的加热元件中。

烤吐司就是一种算法。是的,你记得这些步骤,但是每个步骤和这项步骤的顺序背后都是有原因的。将此应用于您的数据结构和算法。学习简单算法背后的原理,以构建理解面试问题所需的基础知识。闪存卡式的记忆术将花费你大量的时间,而且几乎没有任何回报。

我知道算法,因为它们是解决问题的广泛技术。

每当我搞不清特定语言的确切语法时,我都会google,然后阅读文档。

Linters 和编译器错误消息通常也很有帮助。

在过去的十年里,我已经建立了一个我称之为「个人备忘单」的笔记合集,其中包括我需要反复查找的所有内容。

开始,我用它查找rsync命令、Postgres转储/导入命令、nginx配置等,但现在我只有去查那种一两年才用到一次的晦涩内容时才会用到它。

我想说,我现在已经记住了这些东西的一半了。但是当我学习一种新的语言或概念时,拥有备忘单是关键的一步。重新找到你记忆中的SO帖子或博客文章的过程实在是太太太麻烦了。

如果你是指代码的语法,那么没有必要记住它。上网查一下就行了,很容易。

如果你指的是实际的算法(一段代码是一个算法的实现),那就不要把注意力集中在「记住它」上,要试着去分析和理解它,就像它是某种神秘的公式一样。

我说的「理解」,不是指 「能够说出每一行的作用」,而是「能够说出它为什么是这样,以及它的原理是什么」。

一旦你了解了它是如何运转的,你甚至不必记住如何去做——因为你将拥有重现它所需的所有推理能力。

如果你在维护别人的代码时,可能会发现有些代码非常晦涩,并且涉及很多间接调用和/或副作用。在这种情况下,只需问问自己该代码的输入和输出是什么。只有在你需要重构一个东西时,才需要更深入的研究。

老实说,我记得以前项目的一些部分,但我并没有太费力,相反,我更关心算法的高级轮廓,比如合并排序:将一个数组拆分为2个数组,然后将这些数组拆分为另外2个数组,直到数组大小降至1,然后按顺序合并数组。

或者快速排序:选择一个枢轴,遍历数组交换值,如果它们位于枢轴的错误一侧,则大于或小于枢轴,然后对枢轴的每一侧重复执行此操作,直到每个值都是枢轴。

我记得算法的主要部分,如果我在理解上遇到问题,我会将它们放入伪代码并根据需要修复我对算法的理解。

参考资料:

https://www.reddit.com/r/learnprogramming/comments/wfszyg/how_do_you_remember_algorithms_for_code/

本文来自网络,不代表趣头条立场,转载请注明出处:https://www.ngnnn.com/article/4_76332.html
上一篇鄂维南院士:AI for Science,一场发生在当下的科技革命
下一篇曝华为Mate 50标准版搭载居中打孔屏幕

为您推荐

谷歌推出文本到图像模型Muse:生成图片质量更高、推理时间更短

谷歌推出文本到图像模型Muse:生成图片质量更高、推理时间更短

作者 | 冬梅自 2021 年初以来,随着大量深度学习支持的文本到图像模型(例如 DALL-E-2、Stable Diffusion 和 Midjourney 等)的诞生,人工智能研究的进展发生了革命性的变化。近日,谷歌Muse AI 系统正式亮相。据谷歌 Muse AI 团队称,Muse 是一种文本到图像的 Transformer 模型,该模型可以实现先进的图像生成性能。我们提
谷歌街景独立 App 将于 2023 年停止运营

谷歌街景独立 App 将于 2023 年停止运营

IT之家 11 月 2 日消息,安卓和 iOS 版谷歌街景 App 将于明年初停止运营,并将在未来几周从应用商店中删除。一位 Google 发言人证实,该应用将从 2023 年 3 月起停用。这是安卓和 iPhone 上的专用街景应用程序,允许用户使用谷歌公司的服务来获得世界各地的 360 度视图。需要注意的是,该功能不会从标准的谷歌地图应用中删
苹果谷歌牵头制定追踪行业规范草案 防止功能遭滥用

苹果谷歌牵头制定追踪行业规范草案 防止功能遭滥用

【CNMO新闻】在2021年的春季发布会上,苹果推出了蓝牙追踪设备AirTag,该产品配合苹果设备的“查找”应用,可以追踪和查找重要物品。然而,也有用户发现这类设备可能会遭到滥用,例如将其放在他人不知情的地方,可以对个人进行跟踪。AirTag为了杜绝此类现象,苹果与谷歌宣布联合提交一份行业规范草案,帮助应对蓝牙定位追踪
劈柴哥预告Bard将迎重磅升级,谷歌“最强大脑”能否超车ChatGPT?

劈柴哥预告Bard将迎重磅升级,谷歌“最强大脑”能否超车ChatGPT?

财联社4月2日讯(编辑 赵昊)上周,美国科技巨头谷歌公司推出了聊天机器人“巴德”(Bard)的测试版本。由于用户使用体验远不如ChatGPT,Bard反响平平。当地时间周五(3月31日),谷歌首席执行官"劈柴哥"桑达尔·皮查伊(Sundar Pichai)在播客节目中表示,这种状况可能很快就会改变,因为Bard将在未来几天从目前基于的LaM
科技巨头欧洲裁员不易,谷歌亚马逊设法“吸引”员工离职

科技巨头欧洲裁员不易,谷歌亚马逊设法“吸引”员工离职

勒紧裤腰带“过冬”的美国科技巨头现在碰到新的难题,想在欧洲搞大裁员谈何容易,特别是要在国内劳动法对员工保护力度位居欧盟成员国前列的法国和德国,更是难上加难。在美国,企业宣布大裁员后就能在几个月内解雇数百甚至数千名员工,许多公司已经这样做。而在欧洲,媒体发现,科技企业的大裁员已经停滞,因为在一些欧洲国
谷歌Stadia发布新试玩系统:玩家解锁特定成就完成试玩

谷歌Stadia发布新试玩系统:玩家解锁特定成就完成试玩

【CNMO新闻】游戏试玩我们都曾有所接触,在过去游戏试玩版本通常是开发者在游戏上市之前发布的一个涵盖游戏部分内容的封包进行上传后,有意试玩的玩家进行下载测试,这样的方式已经延续了很久,其弊端就是玩家需要在游戏正式发布后在单独下载新的游戏包体,增加了重复下载的困扰。也有一些开发者选择游戏整包作为测试版本上
史上AI最高分!谷歌大模型创美国医师执照试题新纪录

史上AI最高分!谷歌大模型创美国医师执照试题新纪录

杨净 羿阁 发自 凹非寺量子位 | 公众号 QbitAI史上AI最高分,谷歌新模型刚刚通过美国医师执照试题验证!而且在科学常识、理解、检索和推理能力等任务中,直接与人类医生水平相匹敌。在一些临床问答表现中,最高超原SOTA模型17%以上。此进展一出,瞬间引爆学界热议,不少业内人士感叹:终于,它来了。广大网友在看完Med-PaL
拳头游戏证实《英雄联盟》《云顶之弈》源代码被盗

拳头游戏证实《英雄联盟》《云顶之弈》源代码被盗

IT之家 1 月 25 日消息,拳头游戏(Riot Games)1 月 21 日宣布系统遭到攻击,但没有迹象表明玩家数据或个人信息被窃取。拳头游戏彼时表示,这暂时影响了他们发布内容的能力,预计会影响其即将推出的多款游戏的补丁节奏。昨日晚间,拳头游戏披露了上周网络攻击的最新情况。分析证实《英雄联盟》《云顶之弈》和一个反作弊平
谷歌计划打造全新搜索引擎应对必应等竞争 推AI功能升级现有引擎

谷歌计划打造全新搜索引擎应对必应等竞争 推AI功能升级现有引擎

【美媒:谷歌计划打造全新搜索引擎应对必应等竞争 将推出AI功能升级现有引擎】财联社4月17日电,据纽约时报消息,新必应等AI竞争者正成为25年来谷歌搜索业务的“最严重威胁”,作为回应,谷歌据悉正寻求打造一款由AI技术驱动的全新搜索引擎。查阅的内部文件显示,谷歌还在用AI功能升级现有引擎。据悉,谷歌正测试项目名为“
消息称谷歌正测试一款类似ChatGPT的聊天机器人

消息称谷歌正测试一款类似ChatGPT的聊天机器人

鞭牛士 2月2日消息,据外媒报道,据知情人士表示,谷歌正在测试新的人工智能驱动的聊天产品,可能会影响未来公共产品的发布。这些产品包括一个新的聊天机器人,以及一种将其整合到搜索引擎的潜在方式。
负责人离职,谷歌AR似乎是要复刻Android模式

负责人离职,谷歌AR似乎是要复刻Android模式

2022年年末ChatGPT的横空出世,让人工智能再次踏上了风口浪尖,甚至一众科技巨头也纷纷为之“倾倒”,仿佛错过它就错失了通往未来的船票。特别是在微软方面将ChatGPT与Bing搜索引擎结合、以挑战谷歌搜索之时,谷歌很快就成为了这些巨头中反应最激烈的一个,但与ChatGPT针锋相对的产品Bard,出道即遭遇了翻车。然而强如谷歌
返回顶部