所以我刚在科门学到了红黑的树,哇!通常,我喜欢理解所有算法和数据结构,以至于我可以从头开始重建它们而不必欺骗伪代码。我非常喜欢算法,因此我喜欢学习它们的工作原理,并且通常逐行阅读代码并检查是否发生了我理解应该发生的情况,从而尝试某些情况。
仅仅了解正在发生的事情,就花了我很多时间去做RB树。即使有本书的解释,我仍然很难理解代码。更不用说我不明白轮换的方式/原因。我根本不觉得它直观。我的意思是,插入的三个(实际上是六个)不同的案例,然后是四个删除的案例?有可能了解这件事吗?对我而言,如果不作弊就无法重建此代码。在使用二叉树之前,我可以通过一些调整将这些东西付诸实践,但总能奏效,但是RB树我什至不会尝试。我的意思是,即使老师有时也会感到困惑,所以我想这确实不是那么容易,但同时,我们是否不应该了解正在发生的一切,或者至少是为什么?这本书没有 不能真正解释有人是如何提出轮换的想法的。有人怎么注意到2圈旋转可以解决任何插入问题?棒极了!
我的问题是,我真的必须100%了解RB树吗?在没有完全理解它的情况下,我感到有些不愉快。在此先感谢大家!(PS:RB树没有标签,实际上树甚至没有标签,只有二叉树,所以我只放算法)