数据结构和算法(Golang实现)

GitHub stars GitHub last commit GitHub issues License

心灵一问:在面试中,你是否对面试官喋喋不休,反复问你关于快速排序,红黑树的各种细节问题而感到无奈,在工作多年后,已经在工程实践中岁月蹉跎的你,想重拾数据结构和算法的回忆,不妨读读这本书。

盛年不重来,一日难再晨,及时当勉励,岁月不待人。

简单总结:作者通过几个基础的章节教大家入门 Golang 编程语言,然后开始介绍计算机科学与技术中基本的方法论,如分治法,递归和算法复杂度,紧接着从基本数据结构开始,慢慢介绍到排序算法和查找算法。

前言

数据结构和算法在计算机科学里,有非常重要的地位。此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。

系列文章首发于:

(🧍‍♂️原始文档托管)Github 代码仓库: https://github.com/hunterhug/goa.c

(🤔一直保持最新)Docsify 风格的网站: https://hunterhug.gitlab.io/goa.c

目前有部分网站,未经许可分发了此系列内容,存在更新延后的风险,之前存在部分的笔误,都已经更正了,请以此网站为准!

本地离线阅读,执行:

  1. # 方式1
  2. docker run --name algorithm -d -p 12346:3000 hunterhug/algorithm:docsify
  3. # 方式2
  4. docker run --name algorithm -d -p 12346:3000 hunterhug/algorithm:latest

浏览器打开 http://127.0.0.1:12346

联系作者: https://github.com/hunterhug ,邮箱: gdccmcm14@live.com。

目录

作者寄语

学而不思则罔,思而不学则殆。

意思是说,学习之后如果不做自己的思考,那么会很迷罔,没有收获,成为一个工具人,但是如果你天天思考,而不学习,那么你就会很疑惑,因为你不知道你是对的还是错的,你需要去向其他人学习,去吸收其他人已经留存的知识。

学习离不开思考,思考也不能脱离学习,二者相辅相成,缺一不可,这是学习的最基本方法。

一起参与

如何建议和贡献自己的知识库,可以前往 https://github.com/hunterhug/goa.c 的仓库提 PR 和 建议。

开源书籍的评论使用的是 GitTalk,可以打开 https://hunterhug.gitlab.io/goa.c 阅读后评论自己的心得。

章节代码

所有章节的代码可以在 Github 仓库根目录下的 https://github.com/hunterhug/goa.c/tree/master/code 文件夹中找到。

赞助作者

如果你想赞助作者买根辣条,可以扫描下方的二维码:

/weixin.png

赞助情况(排名不分先后):

日期 组织/个人 说明
2022.04.21 最爱茶叶蛋. 4.50 RMB
2022.04.21 cy 4.50 RMB
2022.04.13 cy 1.50 RMB
2022.04.02 skywalker 9.50 RMB
2022.03.13 小桀 4.50 RMB
2022.03.02 古寒飞 9.50 RMB
2022.02.08 罗博贤 9.50 RMB
2022.01.21 匿名 1.50 RMB
2021.11.11 peter锦锋 18.50 RMB
2021.09.18 古寒飞 200.00 RMB
2021.08.31 crypto ivil 9.50 RMB
2021.08.19 礼服黑面侠 9.50 RMB
2020.09.22 胡小东 9.50 RMB
2020.06.27 杨某 99.99 RMB

感谢她(他)们给作者送去温暖,让作者有更好的动力边吃辣条边写文章!

广告位招租

广告位招租板块。

版权所有

本开源书籍分发使用 Apache License,您可以随意传阅,但请保留以下声明:

  1. Copyright [2019-2022] [github.com/hunterhug]
  2. Licensed under the Apache License, Version 2.0 (the "License");
  3. you may not use this file except in compliance with the License.
  4. You may obtain a copy of the License at
  5. http://www.apache.org/licenses/LICENSE-2.0
  6. Unless required by applicable law or agreed to in writing, software
  7. distributed under the License is distributed on an "AS IS" BASIS,
  8. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  9. See the License for the specific language governing permissions and
  10. limitations under the License.