“红/黑树”一词从何而来?


42

一个红/黑树是实现平衡的二叉搜索树的一种方式。它的工作原理对我来说很有意义,但选择的颜色没有意义。为什么选择红色和黑色,而不是一般的其他任何颜色或属性?当我听到“红色和黑色”时,首先想到的是棋盘和LesMisérables,这两种东西似乎都不特别适用。


14
WAG:BIC笔通常以蓝色,黑色和红色混合的包装出售(我忘记了比例)。在一张纸上的同一张图表上使用蓝色和黑色可能会使阅读变得困难,因此,如果图表绘制者偏爱黑色而不是红色,他们可能会将蓝色的笔替换为红色。至少如果我是我,那将是这样...我不知道任何真正的原因,但推测肯定很有趣!也许我们甚至可以通过这种方式开始一个城市传奇!
FrustratedWithFormsDesigner

4
我有一位计算机科学教授,他声称选择这些颜色代表阳极(红色,+)和阴极(黑色,-)的典型导线颜色惯例
holtavolt 2011年

1
@FrustratedWithFormsDesigner WAG是什么意思?
Maxpm

3
@Maxpm:疯狂的猜测。我个人认为这是轮盘赌的启发。
Wyatt Barnett

4
@FrustratedWithFormsDesigner-不错的猜测,事实证明这完全是金钱。
ocodo 2011年

Answers:


86

编辑:Guibas教授的回答:

从Leonidas Guibas guibas@cs.stanford.edu到cs.stanford.edu邮寄的“红黑”一词隐藏详细信息16:16(0分钟前)

我们用红色和黑色的钢笔画树。


我相信该词最早出现在1978年Leonidas J. Guibas和Robert Sedgewick的“平衡树的二色框架”中。


23
我刚刚给吉巴斯教授发了电子邮件。让我们看看是否可以得到明确的答复。
Dan McGrath

2
我想知道原始树是否存在现成的副本... :)
porges 2012年

1
这真是该网站应该如何运作的,好极了。
大卫·考登

1
这与RB-Trees的共同发明人的说法不符。有人最好将其清除掉:)。看我的答案。
Shital Shah 2015年

6

罗伯特·塞奇威克 Robert Sedgewick 在Coursera的Red-Black BST(2012)中说:

很多人问为什么我们使用红黑色这个名字。好吧,我们是在Xerox PARC发明了这种数据结构,即通过这种方法来查看平衡的树,Xerox PARC是个人计算机以及我们今天所经历的许多其他创新的家,它们都进入了图形用户界面,以太网和面向对象的编程[原文如此]和许多其他事情。但是发明的其中一项是激光打印,我们很高兴能在附近有彩色激光打印机,它可以用彩色和红色看起来最好的颜色来打印东西。因此,这就是为什么我们选择红色来区分三个节点中的红色链接(链接的类型)的原因。因此,这是对一直在问的人们的一个答案。


即使是在PARC,我也找不到1978年的彩色激光印刷(当时第一次提到红黑树)。例如,HP的第一个商业产品是1994年,我找不到80年代的彩色激光打印机的任何参考资料吗?
Dan McGrath
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.