紅黑樹的原理 紅黑樹有什么用途?
紅黑樹有什么用途?假設(shè)你的電腦里有十億個身份證信息。如果你想用你的電腦來添加,刪除和搜索這些身份證信息,你應(yīng)該如何設(shè)計(jì)一個程序來實(shí)現(xiàn)這些功能?當(dāng)然,最簡單的方法是逐個比較,但此操作平均需要5億次。如果
紅黑樹有什么用途?
假設(shè)你的電腦里有十億個身份證信息。如果你想用你的電腦來添加,刪除和搜索這些身份證信息,你應(yīng)該如何設(shè)計(jì)一個程序來實(shí)現(xiàn)這些功能?
當(dāng)然,最簡單的方法是逐個比較,但此操作平均需要5億次。
如果應(yīng)用紅黑樹的話,只要比正確的次數(shù)最多,也就是最多30次。
30倍于5億倍,程序性能提高了1600多萬倍。
紅黑樹,b 樹分別用于什么場景,為什么?
為什么TreeSet使用紅黑樹,而某些數(shù)據(jù)庫索引使用B-tree和B-tree?在cstl中,許多部分(包括set、multiset、map和Multimap)都使用了紅黑樹變體(SGI-STL中的紅黑樹有一些變化,這些變化為set操作提供了更好的性能和支持)。紅黑樹是一個二叉搜索樹,每個節(jié)點(diǎn)都有顏色屬性。顏色是紅色或黑色。
為什么工程中都用紅黑樹,而不是其他平衡二叉樹?
紅黑樹屬于平衡二叉樹。
它不嚴(yán)格,因?yàn)樗鼪]有嚴(yán)格控制左右子樹的高度或節(jié)點(diǎn)數(shù)之間的差小于或等于1。
但是紅黑樹的高度仍然是平均對數(shù)(n),最壞情況下的高度不會超過2log(n),這是通過數(shù)學(xué)證明的。所以這是一棵平衡樹,但并不嚴(yán)格。然而,嚴(yán)格性并不影響數(shù)據(jù)結(jié)構(gòu)的復(fù)雜性。
紅黑樹主要用于系統(tǒng)底層,不用于OI競賽。
給你一個含有1億個QQ號碼的文件,如何快速的查找某個QQ號碼?
請記住,您可以制作一個程序,例如查找定點(diǎn)單詞。我只是不記得了。人們真的很蠢。