簡體   English   中英

什么被認為是紅黑樹中的葉子?

[英]What is considered a leaf in red black trees?

我正在研究CLRS 的紅黑樹。 我有兩個關於討論紅黑樹屬性的部分的問題。 來自CLRS的段落如下:

紅黑樹是滿足以下紅黑性質的二叉樹:

  1. 每個節點要么是紅色要么是黑色

  2. 根是黑色的

  3. 每片葉子(NIL)都是黑色的

  4. 如果一個節點是紅色的,那么它的兩個孩子都是黑色的

  5. 對於每個節點,從節點到后代葉子的所有簡單路徑都包含相同數量的黑色節點

首先,它說紅黑樹是二叉樹 為什么他們不說紅黑樹是二叉搜索樹 我認為紅黑樹的全部目的是保持搜索樹中的平衡以確保logN操作。 其次,為什么紅黑樹的葉子是NIL

在常規的二叉樹中,我們習慣於這樣:

               4
         5            7
    3        2     Nil Nil
 Nil Nil  Nil Nil

在這種情況下,3、2 和 7 是葉子。 為什么葉子在 CLRS 中被描述為 Nil's?

在書中,他們將紅黑樹稱為二叉搜索樹,就在本章的開頭。

同樣在本章中,它們表示標記為nil的節點是實際節點(稱為sentinels ),具有與普通節點相同的字段,但具有固定值“黑色”的color字段(其他字段可以設置為任意值) ; 這些節點總是在樹中顯示為葉子。 所以它不同於通常的 BST,其中葉子是一個節點,其左子樹和右子樹都是nil

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM