算法回望

来源:互联网 发布:传承家谱软件 编辑:程序博客网 时间:2024/04/30 08:43

工作也已经有一段时间了,总是在公司的框架里缝缝补补,完成一个又一个的任务,好像是一个无穷的闯关游戏,你不用关心游戏设计的意义是什么,或者有什么前因后果,你只需要不停的打打杀杀就好了。关闯过了,自己也获得一定的满足和回报。但是,有的时候突然会跳出这个格局,作为一个局外人去审问自己,到底现在还是不是在进步?做了半天能给客户带来什么样的便利?究竟在业务上实现了什么功能?一直在用的代码是不是就真的掌握了?我想我自己心里会很清楚,这些答案未必会是肯定的。

所以在今天做了一个一直以来都想要去做的一个决定,就是不甘这么年轻就这么平庸下去,借此机会,梳理自己所涉及到的或是曾经掌握过得知识,用大浪淘沙的方法,筛选出到底哪些是自己真的掌握了,那些是看上去会而实际上写不出来的,从最基础的算法开始,会不定期的更新。

算法以思路为主,代码详见Github,https://github.com/Meidanlong/GHTheFirstTry

 

----------

补充:

通过几篇的分享,我慢慢体会到,算法理解代码能敲出来跟思维缜密叙述清晰考虑全面的将它的各个过程叙述出来是两个不同的层次。自己对代码的理解代码的优化还有很多的进步空间。对此,我也会搜罗更方面资料加以补充并及时分享在博客上,其实我知道,博客写出来主要是给自己看,但是还是要把自己当作一个什么也不知道的小白,一步一步对代码进行分析。

在此之前的博客,我希望能把抽象的代码形象化,叙述了写代码时主要的思想。这其实是我是一个小白的时候学习算法的一个过程,先明白怎么实现,之后最常见的优化,再回过头看一些大神写的文章,再次优化,简化代码或者变换思路等等,对刚入门的同学来说希望能够达到速成。在以后的文章中会辅以图片帮助理解。思想理解了,用任何语言都能够将算法实现。

本人毕业一年,远不是大神,只是希望用这种方式记录自己持续学习的过程。如果有错误的地方希望大家能够批评指出。看到说的有含糊的,也希望能够积极提出,我们一起交流。

既然说到要把博客写明白,就需要抽象出一个框架出来,不能想怎么写怎么写,必须专业一点。

今后博客文档框架就照着这个方向去填充:

 

XX算法

1性质:时间复杂度,空间复杂度,是否安全等。

2优势:该算法适用的场景。

3特点:该算法突出的特点,算法核心。

4总体代码思路:整体的思想,先整体后局部。

5主要部分代码思路:比如说快速排序的partition部分,是快排的核心,也是这一步讲解的重点。

 

XX算法的优化

1原算法不足之处:

2优化思想:

3具体实现的代码思路

 

第一版框架大致如上,以后若有缺陷会及时进行优化。

再次重申:

本人毕业一年,远不是大神,只是希望用这种方式记录自己持续学习的过程。如果有错误的地方希望大家能够批评指出。看到写的有含糊的,也希望能够积极提出,我们一起交流呀大笑


1 0
原创粉丝点击