「打鐵趁熱,我們馬上來做一個『二元搜尋樹』吧!」
學姊笑嘻嘻地從書包裡掏出了一副撲克牌,還故意像魔術師一樣炫技,來了一段交疊洗牌。
學長身體往後縮了縮。
「欸,我先聲明,我只會當觀眾——」
「別想跑。」學姊一把按住了他的肩膀,笑容燦爛。
就這樣,紙牌遊戲正式開始。
她快速地把牌洗勻,隨手抽了一張放在桌上。
「我們先不管花色,把 J、Q、K 當成十一、十二、十三,就像二十一點一樣。好了,這就是樹的起點——最頂端的 Root。」
說著,她把第一張牌翻開,是——九。
紙牌九被放在離我比較遠的位置。
「好了,這樣對學弟來說就是正著擺的。」
接下來她又抽了兩張,分別是五和十一。
「還記得剛剛我說的規則吧?」
我點點頭,把五放在九的左邊,把十一放在九的右邊。
桌上立刻出現了一個小小的三角形。
五、九、十一,如果只看數字大小而忽略上下位置,正好就是一個遞增排序。
「很好!」學姊繼續從牌堆中抽牌。
這次翻出的是七。她把牌遞給我,還不忘提醒:「一、二排都滿了,這張得放到第三排唷。第三排有四個位置,記住——從上而下,由左到右。」
我深吸一口氣,循著規則一步步比對:七比九小,往左;到五,七比五大,往右。於是我把七放在第三排的第二個位置。
「很好,那我們繼續!」學姊熱情的抽卡。
紙牌一張張抽出來,依照數字大小分別插入到對應的位置,逐漸搭出一棵「樹」。
正當我以為她會把整副牌都用完時,學姊卻忽然停下,語氣裡透著一絲惋惜。
「三十一張牌,已經是極限了。」
「嗯?什麼意思?」我低頭一看,雖然桌上目前已經排出了五排,但下面仍有空位。
「第六排排不滿,好了,現在換你了。」
話音剛落,學長就一臉無奈的在學姊的指揮下,熟練的把這些排好的牌一層層疊起,搭成一座「紙牌屋」。
學長小心翼翼的把紙牌九橫放在最上層,但是看起來非常搖搖欲墜。
我忍不住哈哈大笑起來——這樣的二元搜尋樹,還真是栩栩如生。