作者回复: 我看smallfly大牛好像对动态数据结构有些误解,可能其他同学也会有。所以,我解释一下:动态数据结构是支持动态的更新操作,里面存储的数据是时刻在变化的,通俗一点讲,它不仅仅支持查询,还支持删除、插入数据。而且,这些操作都非常高效。如果不高效,也就算不上是有效的动态数据结构了。所以,这里的红黑树算一个,支持动态的插入、删除、查找,而且效率都很高。链表、队列、栈实际上算不上,因为操作非常有限,查询效率不高。那现在你再想一下还有哪些支持动态插入、删除、查找数据并且效率都很高的的数据结构呢??
作者回复: 👍 刚看错了。写的不错
作者回复: 新插入的节点都是红色的。全黑不可能的。红黑区分的意义你等下一节课看看能懂不
作者回复: 比如有些系统只关注操作的平均执行时间,大部分操作都很快,比如1s,极个别操作可能花费很多时间10s,但平均下来,整体上都很快,所以也能接受。
但是有的系统不仅仅关注平均执行时间,对单次操作的时间非常敏感,极个别的10s操作也是无法接受的。
作者回复: 是的 都会有nil的黑色叶子节点的