文章

67

粉丝

207

获赞

29

访问

35.5k

头像
二叉排序树 - 华科 题解:还有22天上机考试,大佬们可以祝我上岸吗
P1396 华中科技大学
发布于2024年3月5日 18:02
阅读数 570

自己写的通过率只有40%因为超出存储范围(主要是题目数据最大有十位),思路是我感觉写一下

1.层次遍历建立二叉树,用#include头文件(非递归),先在main里面赋给其存储

(i)queue Q    初始化队列       给队列定义一个名字  <>里面是类型,后面给队列取一个名字Q

  (ii)Q.push(L)  ------>入队

 (iii)一个while()循环(借鉴别人的二叉树层次遍历,注意不是建立,!Q.empty里面要写作为退出条件)

这里实际上一个while(1)就行了

(iv)循环里面的    L=Q.front ;//取队头元素    Q.pop();//队头元素出队     出队元素够规定值了,直接break;    

(iiv)易错--->  在左右结点的遍历的时候一  定要先分配空间,分配值(分配值为0)!!! 最后还要把他们的孩子的指针也指向NULL,不然报错!!!再入队

2.找到结点 

先序遍历

注意是必须满足不为空且 值不为0(证明初始化过且出过队)

然后寻找目标的那个结点

3.统计结点自己以及下面有多少个结点

先序遍历其他规则同上

#include <iostream>
#include<queue>
using namespace std;
/*typedef struct node{
	long long int data;
	struct node *r,*l;

}node,*Lnode;
 int count1=0;
//层次遍历创造二叉树=========================================
int create(Lnode &L,int m,int count){//非递归===============================
	queue<Lnode> Q;
	Q....
登录查看完整内容


登录后发布评论

2 条评论
快乐小土狗
2024年3月5日 18:16

加油wink

赞(0)

孙某人 : 回复 快乐小土狗: 谢谢,大佬

2024年3月5日 19:45