2037_红黑树的红色内节点问题

2022-5-16 18:18| 发布者: Hocassian| 查看: 34| 评论: 0|原作者: 肇庆学院ACM合集

摘要:
C:\Users\Administrator\Downloads\2019-10-12-10-14-3-89504265164999-Problem List-采集的数据-后羿采集器.html

Pro.ID

2037

Title

红黑树的红色内节点问题

Title链接

http://10.20.2.8/oj/exercise/problem?problem_id=2037

AC

0

Submit

1

Ratio

0.00%

时间&空间限制

  • Time Limit: 1000/500 MS (Java/Others)     Memory Limit: 65536/65536 K (Java/Others)
  • 描述

    红黑树是一类特殊的二叉搜索树,其中每个节点被"染成"红色或黑色。若将二叉搜索树节点中的空指针看作是指向一个空节点,则称这类空节点为二叉搜索树的前端节点。并规定所有前端节点的高度为-1。

    一棵红黑树是满足下面"红黑性质"染色二叉搜索树:

    (1) 每个节点被染成红色或黑色;
    (2) 每个前端节点为黑色节点;
    (3) 任一红节点的儿子节点均为黑节点;
    (4) 在从任一节点到其子孙前端节点的所有路径上具有相同的黑节点数。

    从红黑树中任一节点x 出发(不包括节点x),到达一个前端节点的任意一条路径上的黑节点个数称为节点x的黑高度,记作bh(x)。红黑树的黑高度定义为其根节点的黑高度。

    图示的二叉搜索树是一棵红黑树。标在节点旁边的数字是相应节点的黑高度。


    图 红黑树

    给定正整数n,试设计一个算法,计算出在所有含有n个节点的红黑树中,红色内节点个数的最小值和最大值。

    输入

    输入只有一行:正整数n,1 < n < 5000 。

    输出

    Description

    红黑树是一类特殊的二叉搜索树,其中每个节点被"染成"红色或黑色。若将二叉搜索树节点中的空指针看作是指向一个空节点,则称这类空节点为二叉搜索树的前端节点。并规定所有前端节点的高度为-1。

    一棵红黑树是满足下面"红黑性质"染色二叉搜索树:

    (1) 每个节点被染成红色或黑色;
    (2) 每个前端节点为黑色节点;
    (3) 任一红节点的儿子节点均为黑节点;
    (4) 在从任一节点到其子孙前端节点的所有路径上具有相同的黑节点数。

    从红黑树中任一节点x 出发(不包括节点x),到达一个前端节点的任意一条路径上的黑节点个数称为节点x的黑高度,记作bh(x)。红黑树的黑高度定义为其根节点的黑高度。

    图示的二叉搜索树是一棵红黑树。标在节点旁边的数字是相应节点的黑高度。


    图 红黑树

    给定正整数n,试设计一个算法,计算出在所有含有n个节点的红黑树中,红色内节点个数的最小值和最大值。

    Input

    输入只有一行:正整数n,1 < n < 5000 。

    Output

    输出红色内结点个数的最小值和最大值,第一行是最小值,第二行是最大值。

    Sample Input

    8

    Sample Output

    1
    4

    Author

    样例输入

    8

    样例输出

    1
    4

    提示

    作者


    路过

    雷人

    握手

    鲜花

    鸡蛋

    最新评论

    返回顶部