https://github.com/bmaslakov/kotlin-algorithm-club
我在研究算法时找参考代码,之前找过一堆代码,结果要么代码跑不通、要么写得像汇编语言一样。
初略查到并扫了一眼这个项目,觉得写的非常很不错,亮点特点:
应用了 Kotlin 减少冗余语义代码,避免 C++ 大量的语义废话
Kotlin 的 for when 语法看起来就像自然语言一样通俗易懂
代码变量接口命名合理,某些教科书变量名跟汇编地址号一样令人眼花
应用了 Kotlin 类型安全机制。
为了编译检查通过,代码每一处可能出现空指针错误的地方都用运算符 ?:
?
!
注明了,用传统 C++ 编写时出现空值错误可以做排查参考。
继承了 Java 泛型和集合体系,具有很好的抽象性
基于 Java 的内存管理体系,不需要考虑内存回收问题,可以把更多精力放在算法和结构本身上。
如果有任何看不懂的接口 API 或语法,可以查阅 Java API 手册和 Kotlin 中文官网资料。
该项目还竟然有测试用例,惊了!所以你还可以把代码思想背下来,删除函数定义代码,自己动手写一遍,看一看测试用例跑不跑得通。