第十八章 關(guān)聯(lián)數(shù)組
“你看這顆滿二叉樹”。
“假設(shè)它的高度為k,那么,它擁有的總節(jié)點(diǎn)數(shù)為:2^k-1”。
楊成邊走邊向科勒文介紹道。
這種樹每一層的元素?cái)?shù)量像這樣:1,2,4,8...
它是等比數(shù)列,其公比為2,首項(xiàng)為1,項(xiàng)數(shù)為k,所以能夠推導(dǎo)出來總數(shù)。
隨著他們深入二叉樹森林,越來越多奇形怪狀的樹出現(xiàn)在他們眼前。
其中,有一種樹,它的枝干上面紅黑相間,葉子全部都是黑色的。
“節(jié)點(diǎn)是紅色與黑色交替出現(xiàn)?”
“紅黑樹!”
楊成很快就認(rèn)出來了。
?。╝ssociative array)
這種樹的應(yīng)用很廣,常常用來實(shí)現(xiàn)關(guān)聯(lián)數(shù)組。
比如在Java中,TreeMap這個(gè)類就是用紅黑樹作為底層實(shí)現(xiàn)的。
再比如JavaScript,它的對(duì)象本質(zhì)上就是一個(gè)關(guān)聯(lián)數(shù)組。
有意思的是,在論壇上,某些開發(fā)者認(rèn)為,手打一棵紅黑樹出來能夠展現(xiàn)其技藝...
“哥們兒,你很棒棒喔!”
科勒文不明覺厲,豎起了大拇指。
“我突然有個(gè)想法”。
“植物學(xué)家”看了看四周。
“反正還早著哪”。
“不如,咋們來調(diào)查一下,這塊區(qū)域的二叉樹密度,怎么樣?”
“可以??!”
楊成表示贊成。
“怎么做呢?”