Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[自荐][开源]作为程序员一定要实现一遍算法 #1885

Open
douchuan opened this issue Aug 10, 2021 · 0 comments
Open

[自荐][开源]作为程序员一定要实现一遍算法 #1885

douchuan opened this issue Aug 10, 2021 · 0 comments

Comments

@douchuan
Copy link

douchuan commented Aug 10, 2021

项目缘起

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

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

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

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

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

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

项目地址

@douchuan douchuan changed the title 作为程序员一定要实现一遍算法与数据结构 作为程序员一定要实现一遍算法 Aug 10, 2021
@douchuan douchuan changed the title 作为程序员一定要实现一遍算法 [自荐][开源]作为程序员一定要实现一遍算法 Aug 10, 2021
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
None yet
Development

No branches or pull requests

2 participants