Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/surzia/go-store
📝 Go实现的一系列数据结构、算法以及应用
https://github.com/surzia/go-store
algorithm data-structures go
Last synced: 26 days ago
JSON representation
📝 Go实现的一系列数据结构、算法以及应用
- Host: GitHub
- URL: https://github.com/surzia/go-store
- Owner: surzia
- License: mit
- Created: 2022-01-27T10:13:12.000Z (almost 3 years ago)
- Default Branch: master
- Last Pushed: 2024-04-18T14:34:00.000Z (8 months ago)
- Last Synced: 2024-04-18T16:15:29.287Z (8 months ago)
- Topics: algorithm, data-structures, go
- Language: Go
- Homepage:
- Size: 193 KB
- Stars: 7
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Go-Store: 数据结构、算法与有趣的 Go 应用
欢迎来到 Go-Store,这是一个用 Go 语言实现的仓库,内含各种数据结构、强算法和应用程序。
## 目录结构
- **collections**: 数据结构乐园!包含栈、队列、链表、集合、哈希表、树、图、环形缓冲等数据结构的实现和单元测试。
- **algorithms**: 包含排序(冒泡、插入、选择、快速、堆、计数、桶、基数等)、搜索(线性、二分、深度优先、广度优先等)等多种算法的实现和单元测试。
- **applications**: 一些用 go 实现的有趣应用项目## 介绍
### 数据结构
- **栈**: 后进先出,用于处理函数调用、表达式求值等。
- **队列**: 先进先出,常用于广度优先搜索等。
- **链表**: 单向/双向链表,提供高效的插入和删除操作。
- **集合**: 用于存储不重复的元素集合。
- **哈希表**: 快速查找的数据结构,用于键-值存储。
- **树**: 包括二叉树、二叉搜索树等,用于排序和搜索。
- **图**: 用邻接表/邻接矩阵表示的图数据结构。
- **环形缓冲**: 有限大小的循环缓冲区,常用于数据流处理。### 算法
- **排序算法**: 冒泡、插入、选择、快速、堆、计数、桶、基数排序等。
- **搜索算法**: 线性、二分、深度优先、广度优先、A\* 搜索等。### 项目
- **downloader**: 强大的并发下载器,帮助你高效地下载你需要的文件。
- **gochat**: 一个简单而有趣的 Go 聊天室。
- **gololcat**: 在终端中展示有趣的 LOL Cats 。
- **mapreduce**: 包含 MapReduce 算法的应用。## 如何使用
运行测试或应用程序非常简单!只需进入对应的目录,使用 `go test -v` 命令运行测试,或使用 `go run main.go` 启动应用程序。
## 如何贡献
如果你对算法、数据结构或应用程序有任何想法,欢迎参与贡献。请确保你的代码通过了相关测试。
## 授权
Go-Store 项目基于 MIT 许可证。请查看 `LICENSE` 文件了解更多信息。