< 返回版块

douchuan 发表于 2021-08-10 12:09

Tags:算法,algorithm

项目缘起

本人做为从数学系转过来做开发的程序员,没有主修过《算法和数据结构》,一直想找个时间补上这一课,趁这个阶段不忙,就动手了。

通过这段时间对算法的学习,我感到受益匪浅,特别是图的部分,跟现实问题联系更紧密,感觉像打开了一扇窗,以此为基础可以做出许多有意义的项目。

任何编程语言都可以用来实现算法,常用的如Python,JavaScript,C++,我选择Rust实现我这一遍的算法,我爱Rust,这是特别好的编程语言,特别是在除错方面,Rust编译器能帮你非常多。当项目通过编译之后,你知道:80% OK了,可以放心的回家睡觉,养足精神之后,元气满满的开始第二天的工作。

用Rust实现算法,一开始真的非常难(如果你不想体验这种煎熬,我建议选择一种支持GC的高级语言, Python或JavaScript, 开启你的算法之旅; 对于初学编程的同学,学会一门编程语言之后,往往就不知道该干什么了,而写算法是很好的编程进阶训练),当咬牙挺过来之后,会对Rust有更深刻的理解,特别是能熟练运用unsafe和lifetimes标注;但是,我感觉对Rust的学习是没有尽头的,当写的更多和读的更多之后,你总能预见有下一个高度需要去攀登,花这些时间也是值得的,因为通过一番努力之后,代码会更好。Rust真的是非常独特,没有哪种语言会给你这些很奇怪的感受。

关于Rust我还想多说一些,Rust社区为Rust准备的这组工具包,真是堪称豪华:单元测试,性能测试,fmt, clippy,随着项目迭代,这些工具保证你无忧于重构和一致性,让你毫无顾虑的大步前进。

如果你对开发是严肃的,一定要把算法实现一遍,这就像圣徒的麦加圣地,是一定要去的。

项目地址

评论区

写评论
chenge 2021-08-10 12:21

点赞,学习。

1 共 1 条评论, 1 页