二叉树- 二叉搜索树
来源:互联网 发布:it培训评价网 编辑:程序博客网 时间:2024/06/10 03:40
POJ5431 二叉搜索树
主要思路& 关键点:
- 把新插入的数封装成为结点
- 层层向下寻找应该插入的位置
- 注意终止递归的条件 如果我们再中间某个点发现了要往左走可是没有左儿子的时候就应该直接把左儿子赋为cur
- 而不是想着结合左右两种情况,都搜索到没有儿子停止,这样的话我们没有办法把cur和它的父亲连起来
代码实现
#include <iostream>using namespace std;struct btn{ int data; btn *lc, *rc;};void pre_order(btn *root){ if(root) { printf("%d ",root->data); pre_order(root->lc); pre_order(root->rc); }}int main(){#ifndef ONLINE_JUDGE freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout);#endif int tmp; cin >> tmp; btn * root = new btn; root -> data = tmp; root->lc = NULL, root->rc = NULL; while(cin >> tmp) { btn *cur = new btn; btn *next = root; cur->data = tmp; cur->lc = NULL, cur->rc = NULL; while(next) { if(cur->data == next->data) break; if(cur->data < next->data) { if(next->lc) next = next->lc; else { next->lc = cur; break; } } if(cur->data > next->data) { if(next->rc) next = next->rc; else { next->rc = cur; break; } } } } pre_order(root); #ifndef ONLINE_JUDGE fclose(stdin); fclose(stdout); #endif}
阅读全文
0 0
- 二叉树--二叉搜索树
- 【二叉树】二叉搜索树
- 二叉树- 二叉搜索树
- 【二叉搜索数】HDU3791二叉搜索树
- 二叉搜索树BSTree
- 二叉搜索树
- 二叉搜索树
- 二叉搜索树
- 最优二叉搜索树
- 二叉搜索树
- 二叉搜索树
- HDOJ3791 二叉搜索树
- 二叉查找树搜索
- 二叉搜索树
- 二叉搜索树
- BST 二叉搜索树
- 二叉搜索树
- 二叉搜索树实现
- Jackson将对象Object转换成json串时,如果对象中有成员变量为byte[]类型,则会将其转换成String
- 关于VB中的Trim函数浅析
- myeclipse中保存时自动格式化代码
- 二叉搜索树
- 面向对象程序设计上机练习十二(运算符重载)
- 二叉树- 二叉搜索树
- QA(三): 复杂attention机制(coattention及bi-attention)
- Pandas透视表(pivot_table)详解
- matlab中使用小波变换进行图像去噪
- mysql5.7官网直译锁操作优化--表锁的使用建议
- 假程序员启示录:房价
- springmvc 登陆后跳转到登陆前的界面
- 遗传算法求解TSP问题
- BZOJ1150(CTSC2007)[数据备份Backup]--贪心+链表+堆