Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

请问本书还会继续考虑增加新的内容章节吗? #1086

Open
Yerosius opened this issue Feb 18, 2024 · 18 comments
Open

请问本书还会继续考虑增加新的内容章节吗? #1086

Yerosius opened this issue Feb 18, 2024 · 18 comments
Labels
documents documents-related

Comments

@Yerosius
Copy link

如题

@krahets
Copy link
Owner

krahets commented Feb 27, 2024

本书第一版的内容已稳定下来,之后会逐步添加一些新的内容,例如(仍未确定)跳表、单调栈、希尔排序、红黑树、KMP 算法、拓扑排序、LRU 缓存等。如果有感兴趣的内容,欢迎反馈!

@LeoY2020
Copy link

本书第一版的内容已稳定下来,之后会逐步添加一些新的内容,例如(仍未确定)希尔排序、红黑树、KMP 算法、拓扑排序等。如果有感兴趣的内容,欢迎反馈

我建议这些都写一下,对于小白很有用⭐

@krahets krahets added the documents documents-related label Mar 15, 2024
@gaoxiaoen
Copy link

可以增加一些调表的部分,如果能够在当前开源项目如redis,mongo等中,有实际的使用算法和数据结构的案例就更好了,有利于激发学习兴趣,而且可以提高工作的效率和认知。感谢作者,提供了这么好的一个平台!

@xiaolinxing
Copy link

可以添加一部分计算机视觉以及NLP等相关的无人驾驶实战部分吗?期待作者的加更,表示感谢作者们,祝福一切都好。

@what-is-me
Copy link
Contributor

本书第一版的内容已稳定下来,之后会逐步添加一些新的内容,例如(仍未确定)单调栈、希尔排序、红黑树、KMP 算法、拓扑排序、LRU 缓存等。如果有感兴趣的内容,欢迎反馈

I suggest that we can add more introductions to data structures and algorithems like:

1. Some simple and really useful data structures

  • Trie
  • 并查集

2. Datastructures with optimization for concurrency

In Leetcode and XCPC, programs run in single-thread. But, in real life, concurrency-oriented programming is also really important.

  • lock free datastructures: lockfree list, lockfree queue, lockfree hashtable, etc.
  • copy-on-write datastructures: copy-on-write trie, copy-on-write b-tree (等一系列可持久化数据结构)
  • some datastructures which may not work very well with single thread, but might have performance benefits in concurrency programming: skip list
  • and other concurrency optimization, for example, latch crabbing, global-localthread cache, etc.

@Yerosius
Copy link
Author

Yerosius commented Apr 6, 2024 via email

@Yerosius
Copy link
Author

Yerosius commented Apr 7, 2024

希望加入高精度模拟部分

@ShiraishiMa1
Copy link

希望加入位运算部分

@baagod
Copy link
Contributor

baagod commented Apr 24, 2024

希望加入 Trie (字典树) 结构教程。

@krahets
Copy link
Owner

krahets commented Apr 29, 2024

希望可以补充B+树、红黑树、跳表数据结构的讲解

Merged from #1302 by @Keyboard-Maaaan

@krahets
Copy link
Owner

krahets commented May 8, 2024

图的章节里希望补充:最小生成树相关知识

Merged #1342

@krahets
Copy link
Owner

krahets commented May 15, 2024

在2.3时间复杂度中建议补充时间复杂度类型根号阶

Merged #1292

@xuchengyu130704
Copy link

希望加入文件处理章节,并优化时间、空间复杂度解析(加入“O(log n”)等

@FangYuan33
Copy link
Contributor

希望可以补充B+树、红黑树、跳表数据结构的讲解

Merged from #1302 by @Keyboard-Maaaan

Hi~ K神,红黑树相关的内容有在做呢?我写过一些关于左倾红黑树的内容,看看能不能帮忙贡献呢? https://juejin.cn/post/7308434321763876874

@krahets
Copy link
Owner

krahets commented Sep 28, 2024

If there will be more types of BST likes B-Tree, Splay Tree or Red-Black Tree, it will be greater!!
#1389 (comment)

@suanziwang
Copy link

尊敬的K神你好,我看有好多人许愿,想要本书增加更多的算法讲解,我想对此提出反对意见。我认为本书不应该再

增加其他任何新的算法。我本人的情况是算法刚刚入门,两个月前刚刚学完了语言部分。《hello算法》是我学算法
的第一本书。
我在没学算法之前,早就对算法有所耳闻,每个人都在说算法很难,看看那些先行者被算法折磨的回忆录,我早就对
算法产生了深深的恐惧。我想其他的同学大概也是如此,大概每个人都会经历这样的阶段:在学习语言之前,会去搜该
学哪种语言,会被网络上“到底哪种语言最好”的争论洗脑。学语言的尾声,也会在网上去搜“学完语言再学什么呀”,关
于这个问题的答案,网上的声音却突然异常的一致——“算法”。然后非常自然的就会去网上问:“算法应该怎么学”。这时
候,搜出来的答案都是算法折磨回忆录,字里行间都是痛苦。
但是没办法,再痛苦也得学呀。就这样怀着深深的恐惧之情,开始筹备该以哪本书作为学算法的第一本书。网上推荐的
书很多:《算法导论》:不行不行, 一听名字就吓住了。红皮《算法》第四版:更不行,一看书的颜色就不是等闲之辈。
我是刚摸到程序门的入门者,我刚学完语言,不但对算法理解能力有限,甚至对“什么是计算机程序”的理解都有限,我必
须找一个非常适合入门的书,来做为我学算法的第一本书。这个时候,有几本书进入了我的视野,《hello算法》《漫画算法》
《图解算法》,这些书一听来就人畜无害。但是网友对《图解算法》的评价是:起了一个入门书的名字,却做着进阶书的勾当。
经过各方对比,我选择了《hello算法》成为我学算法的第一本书。
以上说了那么多,总结起来就是一句话,我是一个入门者,算法对于我来说并不容易。我不知道是不是有很多同学都是天之
骄子,反正我说实话,我在看本书的时候,并没有那么轻松。尤其是后三章<回溯><动态规划>和<贪心>。有好多内容都是看
两三遍都看不明白的,不知道状态转移方程为什么这么写。但是毕竟要坚持嘛,看三遍不明白就看四遍。最终,花了两个月的
时间,把这本书啃下来了。
感谢K神,感谢《hello算法》带领我摸到算法的门径。
我想和大家讨论的是《hello算法》这本书的定位是什么,是算法入门的第一本书,还是大而全的工具书。如果是大而全的工
具书,那本书应该做的就是尽可能多的收集更多的算法知识填充到本书之中;如果是算法入门的第一本书,那本书应该做的就
是把现有的这些算法讲精讲细。本书现在讲的算法内容已经足够入门了,如果做为入门书,已经不需要再填充其他的算法了。
本书是网络书与纸质与同步发行的,这样可以惠及更多的读者(也保护更多读者的眼睛)。但是既然选择了与纸质书同步发
行,就不可能做到真正的大而全,真正能做到大而全的只有网站,网站里面可以各种算法应有尽有,读者想学哪种算法,就点
开哪种算法的入口。纸质书因为其承载能力,只能在精和细上下工夫。把本书已有的算法讲精,讲细,讲得更明白,才是本书的
发展方向和再版方向。
当然改版是困难的,一是大家已是老司机,很难体会新手为何如此简单的问题都搞不明白;二是代码已经成型,要改变讲解
内容的话,可能有些代码都要改变,而本书提供了多种语言的版本,意味着每个语言都要改一遍。但是简单的事已经有太多人
在做了,困难的道路却少有人去开辟。我相信《hello算法》是那个开辟困难,让后来人简单的领路人。
我已目睹了K神的实力,并且我相信时间的力量。我相信随着时间的发展,本书会越讲越精细,越讲越明白,让每个初学者都
能轻松的入门算法。十年、二十年后,本书也会发展到第四版或第六版,到那时,《hello算法》将是每个初学者的第一本算法书,
也是每个老司机的第一推荐。

@krahets
Copy link
Owner

krahets commented Nov 25, 2024

@suanziwang 谢谢你的分享!我同意你的看法,《Hello 算法》的定位是一本入门书,它的主要优点是简单易学。实际上,起初在编排内容时,我就十分注意平衡内容的完整性和简单性:不够完整,同学们就学的不充分;不够简单,这本书的优点就会得到削弱。

例如,在写“AVL 树”一节时,我时常担心它的复杂性会劝退一部分读者。后来我想到了一个折中的解决方案,将难度较大或主线之外的章节添加“选读”标签,并提示读者这些章节可以先跳过,无需硬啃。以后可能添加的新内容,大多也应该被分类到选读章节:

  • 红黑树、KMP 算法等:内容复杂、难度高。
  • 跳表、单调栈:不在核心主线内,可作为兴趣拓展。

@pjyan
Copy link

pjyan commented Dec 14, 2024

尊敬的K神你好,我看有好多人许愿,想要本书增加更多的算法讲解,我想对此提出反对意见。我认为本书不应该再

增加其他任何新的算法。我本人的情况是算法刚刚入门,两个月前刚刚学完了语言部分。《hello算法》是我学算法 的第一本书。 我在没学算法之前,早就对算法有所耳闻,每个人都在说算法很难,看看那些先行者被算法折磨的回忆录,我早就对 算法产生了深深的恐惧。我想其他的同学大概也是如此,大概每个人都会经历这样的阶段:在学习语言之前,会去搜该 学哪种语言,会被网络上“到底哪种语言最好”的争论洗脑。学语言的尾声,也会在网上去搜“学完语言再学什么呀”,关 于这个问题的答案,网上的声音却突然异常的一致——“算法”。然后非常自然的就会去网上问:“算法应该怎么学”。这时 候,搜出来的答案都是算法折磨回忆录,字里行间都是痛苦。 但是没办法,再痛苦也得学呀。就这样怀着深深的恐惧之情,开始筹备该以哪本书作为学算法的第一本书。网上推荐的 书很多:《算法导论》:不行不行, 一听名字就吓住了。红皮《算法》第四版:更不行,一看书的颜色就不是等闲之辈。 我是刚摸到程序门的入门者,我刚学完语言,不但对算法理解能力有限,甚至对“什么是计算机程序”的理解都有限,我必 须找一个非常适合入门的书,来做为我学算法的第一本书。这个时候,有几本书进入了我的视野,《hello算法》《漫画算法》 《图解算法》,这些书一听来就人畜无害。但是网友对《图解算法》的评价是:起了一个入门书的名字,却做着进阶书的勾当。 经过各方对比,我选择了《hello算法》成为我学算法的第一本书。 以上说了那么多,总结起来就是一句话,我是一个入门者,算法对于我来说并不容易。我不知道是不是有很多同学都是天之 骄子,反正我说实话,我在看本书的时候,并没有那么轻松。尤其是后三章<回溯><动态规划>和<贪心>。有好多内容都是看 两三遍都看不明白的,不知道状态转移方程为什么这么写。但是毕竟要坚持嘛,看三遍不明白就看四遍。最终,花了两个月的 时间,把这本书啃下来了。 感谢K神,感谢《hello算法》带领我摸到算法的门径。 我想和大家讨论的是《hello算法》这本书的定位是什么,是算法入门的第一本书,还是大而全的工具书。如果是大而全的工 具书,那本书应该做的就是尽可能多的收集更多的算法知识填充到本书之中;如果是算法入门的第一本书,那本书应该做的就 是把现有的这些算法讲精讲细。本书现在讲的算法内容已经足够入门了,如果做为入门书,已经不需要再填充其他的算法了。 本书是网络书与纸质与同步发行的,这样可以惠及更多的读者(也保护更多读者的眼睛)。但是既然选择了与纸质书同步发 行,就不可能做到真正的大而全,真正能做到大而全的只有网站,网站里面可以各种算法应有尽有,读者想学哪种算法,就点 开哪种算法的入口。纸质书因为其承载能力,只能在精和细上下工夫。把本书已有的算法讲精,讲细,讲得更明白,才是本书的 发展方向和再版方向。 当然改版是困难的,一是大家已是老司机,很难体会新手为何如此简单的问题都搞不明白;二是代码已经成型,要改变讲解 内容的话,可能有些代码都要改变,而本书提供了多种语言的版本,意味着每个语言都要改一遍。但是简单的事已经有太多人 在做了,困难的道路却少有人去开辟。我相信《hello算法》是那个开辟困难,让后来人简单的领路人。 我已目睹了K神的实力,并且我相信时间的力量。我相信随着时间的发展,本书会越讲越精细,越讲越明白,让每个初学者都 能轻松的入门算法。十年、二十年后,本书也会发展到第四版或第六版,到那时,《hello算法》将是每个初学者的第一本算法书, 也是每个老司机的第一推荐。

I cannot agree anymore

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documents documents-related
Projects
None yet
Development

No branches or pull requests

13 participants