社区
数据结构与算法
帖子详情
关于二叉树几个题目。
Brightzliu
2006-12-11 02:31:48
1.已知非空二叉树采用二叉链表存储结构,根结点为T。请写出非递归算法,该算法打印数据信息为item的结点的所有祖先结点。假设数据信息为item的结点不多余一个。
2.已知具有n个结点的二叉树的前序序列和中序序列分别问PREOD[0...n-1]与INOD[0...n-1],并且各结点的数据值均不相同。试写一非递归算法生成二叉树的二叉链表结构。
...全文
242
3
打赏
收藏
关于二叉树几个题目。
1.已知非空二叉树采用二叉链表存储结构,根结点为T。请写出非递归算法,该算法打印数据信息为item的结点的所有祖先结点。假设数据信息为item的结点不多余一个。 2.已知具有n个结点的二叉树的前序序列和中序序列分别问PREOD[0...n-1]与INOD[0...n-1],并且各结点的数据值均不相同。试写一非递归算法生成二叉树的二叉链表结构。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chinaaaaaa
2006-12-12
打赏
举报
回复
第一题的代码, 写得不是很好, 你参考吧, 关键是设置标志位与堆栈的操作
void ancestor(node* root, int item){
if(root == NULL)
return;
int ns = 0; //栈顶指针
node* p = root;
stack[ns] = p; //保存遍历路径
color[ns++] = 0; //0 表示未检测, 1表示左子树被检测,2表示左右都被检测
while(1){
if(p->value == item){
print();
return;
}
if(p->lchild != NULL && (color[ns-1] < 1)){
color[ns-1] = 1;
p = p->lchild;
stack[ns] = p;
color[ns++] = 0;
continue;
}
if(p->rchild != NULL && (color[ns-1] < 2)){
color[ns-1] = 2;
p = p->rchild;
stack[ns] = p;
color[ns++] = 0;
continue;
}
if(ns == 0)
return;
p = stack[--ns];
}
}
LiChenYue
2006-12-11
打赏
举报
回复
1.已知非空二叉树采用二叉链表存储结构,根结点为T。请写出非递归算法,该算法打印数据信息为item的结点 | 的所有祖先结点。假设数据信息为item的结点不多余一个。
|
是树吧?----| 采用遍历。
LiChenYue
2006-12-11
打赏
举报
回复
1.已知非空二叉树采用二叉链表存储结构,根结点为T。请写出非递归算法,该算法打印数据信息为item的结点| 的所有祖先结点。假设数据信息为item的结点不多余一个。
|
是树吧?----| 采用遍历。
2.已知具有n个结点的二叉树的前序序列和中序序列分别问PREOD[0...n-1]与INOD[0...n-1],并且各结点的数据值均不相同。试写一非递归算法生成二叉树的二叉链表结构。
我只知道递归的,书上有,COPY一下啦!
[第一部分]精选微软等公司数据结构+算法经典面试100题[1-40题]
此为我个人搜集整理的, 精选微软等公司,有关 数据结构和算法的面试100题[前40题], 此绝对值得你下载收藏。 网友yui评论,真是够多的了,从此,不用再看其它面试题.... 一句话,请享用。 其它资源,下载地址: 1.[最新答案V0.3版]微软等数据结构+算法面试100题[第21-40题答案] http://download.csdn.net/source/2832862 2.[第1题-60题汇总]微软等数据结构+算法面试100题 http://download.csdn.net/source/2826690 3.[答案V0.2版]精选微软数据结构+算法面试100题[前20题]--修正 http://download.csdn.net/source/2813890 //此份答案是针对最初的V0.1版本,进行的校正与修正。 4.[答案V0.1版]精选微软数据结构+算法面试100题[前25题] http://download.csdn.net/source/2796735 5.[第二部分]精选微软等公司结构+算法面试100题[前41-60题]: http://download.csdn.net/source/2811703 6.[第一部分]精选微软等公司数据结构+算法经典面试100题[1-40题] http://download.csdn.net/source/2778852 更多资源,下载地址: http://v_july_v.download.csdn.net/ //请继续期待,后续内容。 ------------------------------------------------------ 各位,若对以上100题任何一道,或对已上传的任何一题的答案, 有任何问题,请把你的思路、想法,回复到此帖子上, 微软等100题系列,永久维护地址(2010年11.26日): http://topic.csdn.net/u/20101126/10/b4f12a00-6280-492f-b785-cb6835a63dc9.html -------July、2010年12月2日。
【
题目
】
二叉树
题目
总结
文章目录一. 前序遍历类二. 中序遍历类三. 后序遍历类四. 层序遍历类1.
二叉树
的层序遍历五. 其他类型
题目
1.
二叉树
的最近公共祖先 一. 前序遍历类 二. 中序遍历类 三. 后序遍历类 四. 层序遍历类 1.
二叉树
的层序遍历
题目
连接
题目
描述: 给你一个
二叉树
,请你返回其按层序遍历得到的节点值。(即逐层地,从左到右访问所有节点)。 解题思路: 借助队列拿出每一层节点的同时按照从左到右的顺序存入下一层的所有节点,其核心代码下面这条,确保拿出当前层的节点: for(size_t i = q.s
二叉树
------遍历
二叉树
(含
题目
)
活着左、右子树皆为空。这个题一开始我有点不太会写,因为按照先遍历左子树,再遍历右子树的逻辑,那么就会同时加上左子树的叶子节点和右子树叶子节点的值,显然是不符合题意的。结果我发现我的点笨!这种方法比较好理解,就是用一个容器,将所有的节点的值通过遍历一遍
二叉树
后存储下来,然后进行排序去重操作,就能得到答案了。我认为,在看到一颗
二叉树
的时候,可能这颗
二叉树
有很多分支,很多节点,反正就是很复杂,很复杂的数。到这里就完结啦~~~~如果能把以上的
题目
都弄懂,那么对于
二叉树
有一定了解了,对于后面的学习会更加顺利,加油!
二叉树
及相关
题目
二叉树
及相关
题目
一、树 树是一种在实际编程中经常遇到的数据结构。它的逻辑很简单:除了根结点之外每个结点只有一个父结点;除了叶结点之外所有结点都有一个或多个子结点,叶结点没有子结点。父结点和子结点之间用指针链接。由于树的操作一般涉及大量的指针,因此一般与树有关的
题目
都稍显复杂。 二、
二叉树
二叉树
是树中最常见的一种。所谓
二叉树
也就是树的一种特殊结构,在
二叉树
中每个结点最多只能有两个子结点。一棵
二叉树
具有以下特点: 每个结点最多有两棵子树,所以
二叉树
中不存在度大于2的结点; 左子树和右子树是有顺序的,次序不
二叉树
相关
题目
汇总
目录
二叉树
相关性质 1.求
二叉树
的最大深度 2.求
二叉树
的最小深度 3.求
二叉树
中节点的个数 4.求
二叉树
中的叶子节点的个数 5.求
二叉树
中第k层节点的个数 6.判断
二叉树
是否是平衡
二叉树
7.判断是否完全
二叉树
8.判断是否相同的
二叉树
9.判断是否是互为镜像的
二叉树
10.翻转
二叉树
or镜像
二叉树
11.求两个
二叉树
的最低公共祖先节点 12.输入一个
二叉树
和一个整数...
数据结构与算法
33,029
社区成员
35,337
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章