先序线索二叉树和中序线索二叉树有什么区别

bujingyun5212022-10-04 11:39:541条回答

先序线索二叉树和中序线索二叉树有什么区别
最好图解

已提交,审核后显示!提交回复

共1条回复
xinzhiyue 共回答了16个问题 | 采纳率93.8%
先序是先根节点在左结点再右结点,中序是先左,再根节点,再右结点
1年前

相关推荐

线索二叉树的优点是便于在中序下查找前驱结点和后继结点.
线索二叉树的优点是便于在中序下查找前驱结点和后继结点.
这句话本身是没错.我是想问,只是便于在中序下查找还是,前中后都方便?
ze1411年前1
kmyncn 共回答了18个问题 | 采纳率94.4%
都方便.
数据结构判断对错,求大神解答!1 在线索二叉树中,根据线索可以找到树中任何一个结点在相应遍历序列中的直接前驱2 由于给定
数据结构判断对错,求大神解答!
1 在线索二叉树中,根据线索可以找到树中任何一个结点在相应遍历序列中的直接前驱
2 由于给定的有向无环图(DAG)中只有一个入度为0的顶点,所以该DGA的拓扑排序序列一定是唯一的。
3 在排序的速度主要取决于内排序的算法的速度。
c1_s1年前1
萍儿-2003 共回答了27个问题 | 采纳率100%
1不对,
2不对,DGA的拓扑排序序列不一定是唯一的。
3不对,外排序的速度主要取决于内排序的算法的速度和访问外存的次数
请问下题的思路:设中序线索二叉树的类型为TBTNode* InThTree 设计算法,在一棵中序
请问下题的思路:设中序线索二叉树的类型为TBTNode* InThTree 设计算法,在一棵中序
请问下题的思路:
设中序线索二叉树的类型为TBTNode* InThTree
设计算法,在一棵中序线索二叉树中寻找结点t的子树上中序最后一个结点.
谁能理解oo1年前1
88kky 共回答了16个问题 | 采纳率81.3%
一种方法是先求出以节点t为根节点的树的结点个数 设节点个数为n 然后中序遍历的时候 每访问一个数 则访问数+1 一直访问到n则该节点即中序遍历最后一个节点
C语言数据结构问题.n个结点的线索二叉树上含有的线索数为( )A.2n B.n-l C.n+l D.n选什么.为什么.主
C语言数据结构问题.
n个结点的线索二叉树上含有的线索数为( )
A.2n B.n-l C.n+l D.n
选什么.为什么.主要是为什么!
kat8hy1年前1
fmsh1121 共回答了19个问题 | 采纳率84.2%
http://zhidao.baidu.com/question/299976062.html
老问题了
如何建立中序线索二叉树,我调了很长时间了,可是不知道哪里出错了,
如何建立中序线索二叉树,我调了很长时间了,可是不知道哪里出错了,
采用先序法建立一棵二叉树,然后建立这棵二叉树的中序线索二叉树,线索二叉树的描述如下:
每个结点包括5个域,分别存储结点的值、标记位、结点的左右子树指针或者结点的前趋和后继(取决于标记位的值).
如果ltag值为0,表示lchild指向结点的左孩子,如果ltag=1,表示lchild结点指向结点的前驱;如果rtag=0,表示rchild指向结点的右孩子,如果rtag=1,表示rchild指向结点的后继.
要求输入一个先序创建二叉树所需要的先序序列,按照中序方式输出该二叉树所对应的线索二叉树的每个结点,包括它的ltag,data,rtag三个域的值.二叉树的数据域类型为字符型,扩展二叉树的叶子结点用‘#’表示.--------------------------------------------------------------------------------输入样例:
A B # # C D # E # F # # G H # I K # # # #
--------------------------------------------------------------------------------
输出样例:
1 B 1
0 A 0
1 D 0
1 E 0
1 F 1
0 C 0
1 H 0
1 K 1
0 I 1
0 G 1
--------------------------------------------------------------------------------
输入描述:
输入一棵扩展二叉树的先序遍历序列,共用一行,直接输入某二叉树的加了叶子结点的扩展二叉树字符序列,以空格隔开.
--------------------------------------------------------------------------------
输出描述:
输出中序遍历的该二叉树所对应线索二叉树的每个结点,包括它的ltag,data,rtag域,输出格式为每行一个结点,数据之间以空格隔开.
我的代码:#include
using namespace std;
struct Node
{
x05char data;
x05Node *lchild;
x05Node *rchild;
x05int ltag;
x05int rtag;
};
class Tree
{
public:
x05Tree();
x05~Tree(){}
x05Node *Next(Node *p);
x05void Inorder();
private:
x05Node *root;
x05Node *Creat(Node *bt);
x05void ThrBi(Node *bt,Node *pre);
};
Tree::Tree()
{
x05Node *pre;
x05root = Creat(root);
x05pre = NULL;
x05ThrBi(root,pre);
}
Node *Tree::Creat(Node *bt)
{
x05char x;
x05
x05cin >> x;
x05if(x=='#')
x05{
x05x05bt = NULL;
x05}
x05else
x05{
x05x05bt = new Node;
x05x05bt->data = x;
x05x05bt->ltag = 0;
x05x05bt->rtag = 0;
x05x05bt->lchild = Creat(bt->lchild);
x05x05bt->rchild = Creat(bt->rchild);
x05}
x05return bt;
}
void Tree::ThrBi(Node *bt,Node *pre)
{
x05if(bt==NULL)
x05{
x05x05return;
x05}
x05
x05ThrBi(bt->lchild,pre);
x05
x05if(bt->lchild==NULL)
x05{
x05x05bt->ltag = 1;
x05x05bt->lchild = pre;
x05}
x05
x05if(bt->rchild==NULL)
x05{
x05x05bt->rtag = 1;
x05}
x05
x05if((pre!=NULL)&&(pre->rtag==1))
x05{
x05x05pre->rchild = bt;
x05}
x05
x05pre = bt;
x05
x05ThrBi(bt->rchild,pre);
x05
}
Node *Tree::Next(Node *p)
{
x05Node *q;
x05if(p->rtag==1)
x05{
x05x05q = p->rchild;
x05}
x05else
x05{
x05x05q = p->rchild;
x05x05
x05x05while(q->ltag==0)
x05x05{
x05x05x05q = q->lchild;
x05x05}
x05}
x05return q;
}
void Tree::Inorder()
{
x05Node *p;
x05if(root==NULL)
x05{
x05x05return;
x05}
x05else
x05{
x05x05p = root;
x05x05while(p->ltag==0)
x05x05{
x05x05x05p = p->lchild;
x05x05}
x05x05cout ltag
namhyeri1年前1
天使eva 共回答了16个问题 | 采纳率93.8%
麻烦你下个注释,ThrBi是想做什么
数据结构的线索二叉树,为什么在有n个结点的二叉链表中必定存在n+1个空链域
翻遭aa噬1年前1
湖口佳佳 共回答了27个问题 | 采纳率85.2%
n个结点的二叉链表中必定存在n+1个空链域
因为n个结点的二叉链表中有2n个孩子指针,而n个结点除根结点外,均有一个指针指向它,所以2n-(n-1)=n+1个指针是空的
数据结构题1.引入线索二叉树的目的是( )?2.在有序表(12,24,36,48,60,72,84)中二分查找关键字72
数据结构题
1.引入线索二叉树的目的是( )?2.在有序表(12,24,36,48,60,72,84)中二分查找关键字72时所需进行的关键字比较次数为( )?3.树的度是指一棵树上所有结点度的最大值(判断对错)。4.二叉树中度为1的结点数等于度为2的结点数加1(判断对错)。
6阶B_树中的结点最少有( )个关键字?
hekeledeyu1年前1
非天征戮 共回答了24个问题 | 采纳率83.3%
找一个节点的前驱后继的时候,比非二叉线索树方便快捷
两次对对没有高度,没法算
n个结点的线索二叉树上含有的线索数为()A.2n B.n-l C.n+l D.n 为什么是C
n个结点的线索二叉树上含有的线索数为()A.2n B.n-l C.n+l D.n 为什么是C
第一个结点和最后一个结点不是分别没有前驱和后驱么
奶黄包81年前0
共回答了个问题 | 采纳率
以下数据结构中哪些不是线性结构 A.有向图 B.栈 C.线索二叉树 D.B树 E.队列
昨日流过的眼泪1年前1
如果可以等到 共回答了20个问题 | 采纳率85%
ACD不是线性结构
树和图都是非线性的.
栈队列是线性的
数据结构,关于线索二叉树线索二叉树是一种()结构?A,逻辑 B,逻辑和储存 C,D,线性
易得到1年前1
跟理想说抱歉 共回答了16个问题 | 采纳率100%
应该说线索既是一种逻辑也是一种存储,从概念而言,一般指用二叉链表多余的n + 1个指针域来存放二叉树遍历中结点前驱和后继位置,因此答案是b
A不全面,C物理结构就是存储结构,这个不全面,d用的线性结构扯得太远
n个结点的线索二叉树上含有的线索数为()A.2n B.n-l C.n+l D.n 为什么是C
n个结点的线索二叉树上含有的线索数为()A.2n B.n-l C.n+l D.n 为什么是C
我觉得是D啊~
3bissh1年前1
秋风sao落叶 共回答了24个问题 | 采纳率91.7%
离散数学里关于树的性质应该还记得吧?一棵n结点树包含n-1条边,而每个结点有两个指针域即总共2n个指针,减去表示边的指向关系(即左右子树)的n-1条边,剩下n+1条边即为线索.
在一个具有n个结点的线索二叉树中有多少个指针是用来作为线索处理的?
38566001年前1
46069859 共回答了21个问题 | 采纳率100%
在一个具有n个结点的线索二叉树中有n+1个指针是用来作为线索处理的
因为n个结点的二叉树中有2n个指针,而这些个结点(除根结点)都有一个指针指向它,这有就n-1个结点被实用,空的指针有n+1个,可用作线索