mirror of
https://github.com/krahets/hello-algo.git
synced 2026-03-12 17:51:33 +08:00
5c085b559257d35d06c3cf1d515a47bcd43c3e73
* Update performance_evaluation.md
**修改内容:**
把本节使用的 “输入数据大小” 统一修改为 “输入数据规模”。
**修改原因:**
今天在分析一个函数的复杂度时回看本节,发现这处表述好像存在歧义。阅读本节内容可知,复杂度分析实际是分析算法的运行时间和空间占用与数据规模的关系。 从字面理解,“输入数据的大小” 更像指输入数据的数值大小,而非数据规模。虽然多数场景下,输入数据的数值大小可以通过迭代/递归反映数据规模,但在个别场景下并非如此,如 5.1.2 节 "基于链表实现的栈" 中的 `to_list() `函数:
```python
def to_list(self) -> list[int]:
"""转化为列表用于打印"""
arr = []
node = self._peek
while node:
arr.append(node.val)
node = node.next
arr.reverse()
return arr
```
该函数无形参,其时间复杂度实际指,函数运行时间随着栈中数据数量的增加而呈现的增长趋势,而非随栈中数据数值大小的增加呈现的增长趋势。 因此,为规避歧义,小白提议将本节的“输入数据大小” 改为 “输入数据规模”。
然而,一百个读者有一百个哈姆雷特,或许其他读者读到这里未感觉歧义,且本章后续章节还有多处使用这一表述,若本节修改可能后面也需与其保持统一。或许也可以在本章2.1节插入一个Tip约定这一表述的实际意义。考虑不周,欢迎 K大及评阅大佬指正!
* Update performance_evaluation.md
---------
Co-authored-by: Yudong Jin <krahets@163.com>
关于本书
本项目旨在打造一本开源免费、新手友好的数据结构与算法入门教程。
- 全书采用动画图解,内容清晰易懂、学习曲线平滑,引导初学者探索数据结构与算法的知识地图。
- 源代码可一键运行,帮助读者在练习中提升编程技能,了解算法工作原理和数据结构底层实现。
- 提倡读者互助学习,欢迎大家在评论区提出问题与分享见解,在交流讨论中共同进步。
若本书对您有所帮助,请在页面右上角点个 Star ⭐ 支持一下,谢谢!
推荐语
“一本通俗易懂的数据结构与算法入门书,引导读者手脑并用地学习,强烈推荐算法初学者阅读。”
—— 邓俊辉,清华大学计算机系教授
“如果我当年学数据结构与算法的时候有《Hello 算法》,学起来应该会简单 10 倍!”
—— 李沐,亚马逊资深首席科学家
贡献
本开源书仍在持续更新之中,欢迎您参与本项目,一同为读者提供更优质的学习内容。
- 内容修正:请您协助修正或在评论区指出语法错误、内容缺失、文字歧义、无效链接或代码 bug 等问题。
- 代码转译:期待您贡献各种语言代码,已支持 Python、Java、C++、Go、JavaScript 等 12 门编程语言。
- 中译英:诚邀您加入我们的翻译小组,成员主要来自计算机相关专业、英语专业和英文母语者。
欢迎您提出宝贵意见和建议,如有任何问题请提交 Issues 或微信联系 krahets-jyd 。
感谢本开源书的每一位撰稿人,是他们的无私奉献让这本书变得更好,他们是:
License
The texts, code, images, photos, and videos in this repository are licensed under CC BY-NC-SA 4.0.
Description
镜像至GitHub:/krahets/hello-algo.git
algoalgorithmalgorithmsbookdata-structuredata-structuresdata-structures-and-algorithmsdsaeducationleetcodeprogramming
Readme
CC-BY-SA-4.0
450 MiB
Languages
Other
47.2%
Java
10%
C++
9.2%
Python
8.3%
Swift
7.3%
Other
17.9%


