文件名称:汉诺塔java源码-data-structures-algorithms:GoLang中数据结构和算法的实现
文件大小:756KB
文件格式:ZIP
更新时间:2024-06-26 12:02:12
系统开源
汉诺塔java源码数据结构和算法 数据结构和算法(DSA)是计算机科学中最重要的课题之一,每个 CS 学生都必须精通,甚至非 CS 学生也必须对其有基本的了解。 据说DSA就像面包和黄油,CS的必需品。 这个存储库是为那些学生(比如我 :smiling_face_with_sunglasses: ) 渴望学习并希望实现数据结构和算法的人。 为什么是 Go/GoLang 而不是 C、C++ 或 Java? 我不会不同意 C、C++ 或 Java 不是实现 DSA 的好语言,因为在编写代码时必须处理很多事情,例如内存分配和适当的释放,并且通过这样做可以学到很多东西。 然而,go 也是实现 DSA 的好语言的原因是它缺乏很多魔法。 没有运算符重载,因此无法隐藏额外的复杂性。 索引操作是 O(1),循环是 O(n) - 总是。 没有泛型,所以不存在很多额外的抽象和助手,这实际上非常棒。 没有懒惰或其他编译器驱动的魔法可能会显着改变算法的运行时。 Go 具有用于切片的指针和低级原语,这意味着当数据被打包或数据具有额外的间接性时,它是显而易见的。 简而言之:Go 使实际的算法执行从代码中显而易见,这是学习算法的一件好事。 结论:Go 也是开始实现数据结构