美文网首页
完全二叉查找树

完全二叉查找树

作者: zilla | 来源:发表于2019-08-02 18:30 被阅读0次

1064 Complete Binary Search Tree (30 分)

给定一组key值,建立完全二叉查找树。

  • 已知中序遍历序列(BST的中序遍历序列有顺序性)
  • 该二叉树是完全二叉树。下标为n的结点,左孩子下标为2n+1,右孩子下标2n+2。(下标从0开始)
  • 思路:在中序遍历时给结点赋值。
#include <cstdio>
#include <algorithm>

using namespace std;
int nn, keys[2001], bst[2001], _index = 0;

void in_sort(int root_index) {
    if (2 * root_index + 1 < nn) in_sort(2 * root_index + 1);
    bst[root_index] = keys[_index++];
    if (2 * root_index + 2 < nn) in_sort(2 * root_index + 2);
}

int main() {
    scanf("%d", &nn);
    for (int i = 0; i < nn; ++i) {
        scanf("%d", &keys[i]);
    }
    sort(keys, keys + nn);
    in_sort(0);
    printf("%d", bst[0]);
    for (int i = 1; i < nn; ++i) {
        printf(" %d", bst[i]);
    }
    return 0;
}

相关文章

  • 判断一棵树是否是搜索二叉树、判断一棵树是否是完全二叉树

    题目描述 判断一棵树是否是搜索二叉树、判断一棵树是否是完全二叉树 什么是二叉查找树? 二叉查找树(Binary S...

  • 极客时间数据结构与算法之美笔记25~26

    二叉树到二叉查找树,是为了查找数据的效率接近logN。 二叉查找树到平衡二叉查找树,是为了防止二叉查找树沦为链表。...

  • 数据结构3:二叉树详细介绍

    9.二叉树 9.1 二叉树的定义 9.2 满二叉树与完全二叉树 9.3 二叉查找树(也叫二叉搜索树,二...

  • 二叉查找树

    1)二叉查找树是什么?2)二叉查找树的插入、删除、查找?3)Go代码实现 一、二叉查找树是什么?二叉查找树(BST...

  • 不可多得的后端架构师技术图谱!内附参考资料!

    数据结构 二叉树 完全二叉树 平衡二叉树 二叉查找树(BST) 红黑树 B-,B+,B*树 LSM 树 队列 集合...

  • 树与二叉树

    **树 ** 二叉树 满二叉树 完全二叉树 三种遍历方法 树与二叉树的区别 二叉查找树 平衡二叉树 红黑二叉树

  • 红黑树

    红黑树的本质就是一棵二叉查找树,所以先从二叉查找树来了解起。 二叉查找树 二叉查找树又称有序二叉树,具有以下特性:...

  • 二叉查找树

    二叉查找树,又称二叉搜索树 二叉查找树也称为有序二叉查找树,满足二叉查找树的一般性质,是指一棵空树具有如下性质: ...

  • 二叉树

    理解完全二叉树、平衡二叉树、二叉查找树 https://juejin.im/entry/5afb9fb66fb9a...

  • 99-数据结构和算法

    难点:二叉树的遍历 红黑树 图的遍历 二叉查找树二叉查找树(binary search tree),二叉查找树在二...

网友评论

      本文标题:完全二叉查找树

      本文链接:https://www.haomeiwen.com/subject/hmlrdctx.html