后续计划
好几天没有更新了,没有偷懒。随着源码的阅读,学习到了字典和集合的底层实现。字典这种数据结构的搜索效率很高,底层结构采用了效率优于红黑树的哈希表。红黑树是一种平衡二叉树,C++中的map和linux中的epoll内部都是基于红黑树实现的。学习哈希表之前,我先看了一眼红黑树,看了一眼树的前序、中序、后续遍历。然后我就看到了递归,我陷入了深思。
接下来的几篇文章,我的学习过程是这样的。递归->树->红黑树->哈希表->CPython字典底层。
漫谈递归、迭代、循环
刚开始看递归,前人的经验贴就给出一句大师的名言:人理解迭代,神理解递归。(To Iterate is Human, to Recurse, Divine.)我在纠结,我还要不要学习递归,我就是一个平凡的人呀。那就站在平凡人的角度,试着理解一下递归吧。
![01090fb00785b92b63c701bb86087264.png](https://i-blog.csdnimg.cn/blog_migrate/c17e589cba92f1ee6a132e5b6de7812e.jpeg)
汉诺塔问题只能使用递归方法解决
维基百科上说,递归是一个过程,以一种自相似的方式重复自己。在计算机中是指在函数的定义中使用函数自身的方法。“递归”这个词是翻译过来的,recursion->re(重复)+curs(发生),看起来是重复发生的意思。重复发生的话