3.2.33

上次更新:2019-10-06
发现了题解错误/代码缺陷/排版问题?请点这里:如何:提交反馈

解答

官网解答见:https://algs4.cs.princeton.edu/32bst/BST.java.htmlisRankConsistent()

按照题目要求实现即可,分为两步进行测试。

代码

public static bool IsRankConsistent(BST<TKey, TValue> bst)
{
    for (var i = 0; i < bst.Size(); i++)
    {
        if (i != bst.Rank(bst.Select(i)))
        {
            return false;
        }
    }

    foreach (var key in bst.Keys())
    {
        if (key.CompareTo(bst.Select(bst.Rank(key))) != 0)
        {
            return false;
        }
    }

    return true;
}

另请参阅

BinarySearchTree 库

上一题 下一题