04-樹5 Complete Binary Search Tree

題目
A Binary Search Tree (BST) is recursively defined as a binary tree which has the following properties:

The left subtree of a node contains only nodes with keys less than the node's key.
The right subtree of a node contains only nodes with keys greater than or equal to the node's key.
Both the left and right subtrees must also be binary search trees.
A Complete Binary Tree (CBT) is a tree that is completely filled, with the possible exception of the bottom level, which is filled from left to right.

Now given a sequence of distinct non-negative integer keys, a unique BST can be constructed if it is required that the tree must also be a CBT. You are supposed to output the level order traversal sequence of this BST.

Input Specification:

Each input file contains one test case. For each case, the first line contains a positive integer NN (\le 1000≤1000). Then NN distinct non-negative integer keys are given in the next line. All the numbers in a line are separated by a space and are no greater than 2000.

Output Specification:

For each test case, print in one line the level order traversal sequence of the corresponding complete binary search tree. All the numbers in a line must be separated by a space, and there must be no extra space at the end of the line.

Sample Input:

10
1 2 3 4 5 6 7 8 9 0

Sample Output:

6 3 8 1 5 7 9 0 2 4

題目大意

輸入一組數據(不一定遞增)嘉赎,讓你構造一個完全二叉搜索樹,且用層序輸出杜窄。

做法

  1. 將輸入的序列按遞增排好序
  2. 排好序的序列可以通過中序構造來構造完全二叉搜索樹颜及,同時利用好左兒子是根的2倍酝锅,右兒子是根的2倍+1,這個完全二叉樹的特點

代碼如下

#include <stdio.h>
#include <algorithm>

using namespace std;

const int Max = 1005;
int node[Max];
int tree[Max];
int pos,n;

void build(int root){
    if(root > n)
        return;
    int left = root<<1;
    int right = (root<<1)+1;
    build(left);
    tree[root] = node[pos++];
    build(right);
}

int main(){
    int i;
    scanf("%d",&n);
    for(i=0;i<n;i++){
        scanf("%d",&(node[i]));
    }
    sort(node,node+n);
    pos = 0;
    build(1);
    printf("%d",tree[1]);
    for(i=2;i<=n;i++){
        printf(" %d",tree[i]);
    }
    return 0;
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贵扰,更是在濱河造成了極大的恐慌,老刑警劉巖流部,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件戚绕,死亡現(xiàn)場離奇詭異,居然都是意外死亡枝冀,警方通過查閱死者的電腦和手機舞丛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來果漾,“玉大人球切,你說我怎么就攤上這事∪拚希” “怎么了吨凑?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵,是天一觀的道長户辱。 經常有香客問我鸵钝,道長,這世上最難降的妖魔是什么焕妙? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任蒋伦,我火速辦了婚禮,結果婚禮上焚鹊,老公的妹妹穿的比我還像新娘痕届。我一直安慰自己韧献,他們只是感情好,可當我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布研叫。 她就那樣靜靜地躺著弃秆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匕争。 梳的紋絲不亂的頭發(fā)上等太,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音申屹,去河邊找鬼绘证。 笑死,一個胖子當著我的面吹牛哗讥,可吹牛的內容都是我干的嚷那。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼杆煞,長吁一口氣:“原來是場噩夢啊……” “哼魏宽!你這毒婦竟也來了?” 一聲冷哼從身側響起决乎,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤队询,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后构诚,有當地人在樹林里發(fā)現(xiàn)了一具尸體蚌斩,經...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年范嘱,在試婚紗的時候發(fā)現(xiàn)自己被綠了凳寺。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡彤侍,死狀恐怖肠缨,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情盏阶,我是刑警寧澤晒奕,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站名斟,受9級特大地震影響脑慧,放射性物質發(fā)生泄漏。R本人自食惡果不足惜砰盐,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一闷袒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧岩梳,春花似錦囊骤、人聲如沸晃择。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宫屠。三九已至,卻和暖如春滑蚯,著一層夾襖步出監(jiān)牢的瞬間浪蹂,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工告材, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留坤次,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓斥赋,卻偏偏與公主長得像浙踢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子灿渴,可洞房花燭夜當晚...
    茶點故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內容

  • 背景 一年多以前我在知乎上答了有關LeetCode的問題, 分享了一些自己做題目的經驗。 張土汪:刷leetcod...
    土汪閱讀 12,737評論 0 33
  • 各位書友大家好棘幸!今天和大家一起拆解的書叫《書都不會讀,你還想成功》倦零。這本書的作者之一二志成是韓國的國民導師误续,在韓國...
    核心迎春閱讀 955評論 6 16
  • 2017.10.31 最近入秋,很多樹葉黃了扫茅。 心里總是很癢癢蹋嵌,想去香山看看紅葉,但是印象從前去過幾次香山葫隙,從沒在...
    摹喵居士閱讀 176評論 0 0
  • 百萬大軍齊壓境栽烂, 爭得天驕各一人。 待到金榜題名時恋脚, 要它此生換長生腺办! 祝弟高考成功。 ???
    煜煜煜閱讀 162評論 0 0
  • 感覺給我一幅畫糟描,照著畫并不難怀喉,難的是自己走在了創(chuàng)作的路上,有可能遇到不可預知的結果船响,﹋o﹋走到了邪性的路上躬拢,每次畫...
    小齊先生閱讀 165評論 0 0