Go 语言—数据结构和算法项目推荐

简介: Hello大家好,我是 roseduan,上一篇文章我为大家推荐了一些 Go 语言的入门练手项目,希望对你有所帮助。今天分享的是一些数据结构和算法的项目,在我自己学习 Go 语言的时候,在掌握基础的语法知识之后,会针对性的刷一些 leetcode 题目,借此来巩固自己的语法知识,然后也能够保持解算法题目的感觉,可谓是一举两得吧。所以从下面这些优秀的项目中,一定能够找适合你的项目哦!

Hello大家好,我是 roseduan,上一篇文章我为大家推荐了一些 Go 语言的入门练手项目,希望对你有所帮助。

今天分享的是一些数据结构和算法的项目,在我自己学习 Go 语言的时候,在掌握基础的语法知识之后,会针对性的刷一些 leetcode 题目,借此来巩固自己的语法知识,然后也能够保持解算法题目的感觉,可谓是一举两得吧。

所以从下面这些优秀的项目中,一定能够找适合你的项目哦!


1、GoDS


Github 地址: https://github.com/emirpasic/godsStar 数量:9.9k


Go Data Structures,实现了常见的数据结构,可直接引入到实际的项目中使用,包含链表、栈、哈希表、树等等,命名风格和 Java 中的类名比较相似(估计作者受 Java 的影响颇深哈哈),比如有:

  • ArrayList
  • ArrayStack
  • HashSet
  • TreeSet
  • LinkedHashSet
  • RedBlackTree

当然你也可以用来学习数据结构,看看大牛的代码是怎么写的。


2、go-datastructures


Github 地址: https://github.com/Workiva/go-datastructuresStar 数量:6k


和上面的项目类似,这也是一个用 Go 语言实现各种数据结构的一个项目,只不过它支持的数据结构更加多样化,除了一些基础的,还有 BitArray、BTree、斐波那契堆、图、AVL 树、前缀树等等一些高级数据结构。

如果你想挑战一下比较有难度的数据结构,那么在这个项目应该能找到你可以学习或者借鉴的代码。


3、TheAlgorithms/Go


Github 地址: https://github.com/TheAlgorithms/GoStar 数量:5.3k


这是 TheAlgorithms 系列的 Go 语言实现,我们知道 TheAlgorithms 系列有很多语言的版本,比如 Python、Java、Go、C++、JavaScript 等等。

这个项目比较适合用来学习,有很多基础的算法的示例,比如数学、二分查找、排序、字符串匹配,还有一些练手的算法题目。


4、algorithm-pattern


Github 地址: https://github.com/greyireland/algorithm-patternStar 数量:11.5k

这个项目主要是介绍了一些通用的刷题模板,以及一些常见问题,如到底要刷多少题,按什么顺序来刷题,如何提高刷题效率等。

作者总结的模板非常全面,讲解也很细致。

比较适合用来临时刷算法,应对面试,所以即便不是学习 Go 语言的同学,也能够从中获取到一些刷题的经验等。

项目中还有一些书籍推荐,文档也非常的全面。


5、LeetCode-Go


Github 地址: https://github.com/halfrost/LeetCode-GoStar 数量:17.4k


顾名思义,这是一个使用 Go 语言实现 Leetcode 题目的项目,比较偏向于解题实战。

目前项目已经收录了 600+ leetcode 题目,并且针对每一道题目,都有详细的解题思路,并且有完整的代码实现。

项目还有配套的电子书,文档,可以说是非常 nice 了!


6、hoanhan101/algo


Github 地址: https://github.com/hoanhan101/algoStar 数量:3k



这个项目是作者总结的,在面试过程当中最容易遇到的一些算法面试题目,配有详细的代码实现,只不过是全英文的,英文比较好的同学可以尝试学习一下。


7、shady831213/algorithms


Github 地址: https://github.com/shady831213/algorithmsStar 数量:504



这个项目实现了一些常用的算法和数据结构,比如动态规划、贪心算法、图、树、堆等等,代码比较简洁清晰,值得学习。

相关文章
|
1天前
|
存储 设计模式 算法
数据结构,算法宏观印象构建
数据结构,算法宏观印象构建
|
2天前
|
搜索推荐 算法 Java
Java数据结构与算法:排序算法之冒泡排序
Java数据结构与算法:排序算法之冒泡排序
|
2天前
|
搜索推荐 算法 Java
Java数据结构与算法:排序算法之归并排序
Java数据结构与算法:排序算法之归并排序
|
2天前
|
搜索推荐 算法 Java
Java数据结构与算法:排序算法之插入排序
Java数据结构与算法:排序算法之插入排序
|
2天前
|
搜索推荐 算法 Java
Java数据结构与算法:排序算法之快速排序
Java数据结构与算法:排序算法之快速排序
|
2天前
|
算法 Java 机器人
Java数据结构与算法:查找算法之二分查找
Java数据结构与算法:查找算法之二分查找
|
1天前
|
存储 算法 调度
算法与数据结构-栈篇
算法与数据结构-栈篇
9 0
|
1天前
|
人工智能 算法
程序技术好文:算法与数据结构
程序技术好文:算法与数据结构
|
2天前
|
搜索推荐 算法 Java
Java数据结构与算法:排序算法之选择排序
Java数据结构与算法:排序算法之选择排序
|
2天前
|
算法 Java 机器人
Java数据结构与算法:查找算法之线性查找
Java数据结构与算法:查找算法之线性查找