国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

PAT Build A Binary Search Tree

2019-11-08 18:30:23
字體:
來源:轉載
供稿:網友

題目大意:對于一個給定的二叉樹,給一個序列,把這個序列中的數字填入此二叉樹,使此二叉樹為二叉排序樹。

思路:

1)保證此二叉樹為BST->二叉樹中序遍歷序列有序則為BST->把有序序列按中序遍歷插入樹中2)output層次遍歷序列

#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<cstdlib>#include<algorithm>#include<queue>#include<set>#include<map>#include<vector>#include<cmath>#define ll __int64using namespace std;const int INF=0x3fffffff;struct Node{    int data;    int l,r;}tree[205];int n;int a[205];int k;void InorderInsert(int root){    if(root!=-1){        InorderInsert(tree[root].l);        tree[root].data=a[k++];        InorderInsert(tree[root].r);    }}void TraversalOutput(int root){    k=0;    queue<int>q;    q.push(0);    while(!q.empty()){        int i=q.front();        q.pop();        if(i!=-1){            cout<<tree[i].data;            k++;            if(k!=n){                cout<<" ";            }            q.push(tree[i].l);            q.push(tree[i].r);        }    }}int main(){    //freopen("d://Test.txt","r",stdin);    cin>>n;    for(int i=0;i<n;i++){        int l,r;        cin>>l>>r;        tree[i].l=l;        tree[i].r=r;    }    for(int i=0;i<n;i++){        cin>>a[i];    }    sort(a,a+n);    k=0;    InorderInsert(0);    TraversalOutput(0);    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 那坡县| 越西县| 博客| 潼南县| 宁津县| 甘南县| 霸州市| 咸丰县| 聊城市| 蚌埠市| 兴和县| 利辛县| 青田县| 襄汾县| 电白县| 元江| 新竹市| 乾安县| 绥江县| 龙南县| 郓城县| 驻马店市| 甘洛县| 奈曼旗| 商丘市| 岱山县| 滦南县| 呼伦贝尔市| 都江堰市| 方山县| 连云港市| 大方县| 施甸县| 灌阳县| 海南省| 浪卡子县| 甘南县| 郸城县| 长春市| 南康市| 台南市|