回溯法之关于树
发布日期:2021-06-29 15:42:33 浏览次数:2 分类:技术文章

本文共 849 字,大约阅读时间需要 2 分钟。

1.二叉链表的存储方式,求二叉树中值为x的层号

int L=1;void leno(BTNode *p,int x){	if(p!=NULL)	{		if(p->data==x)		{			cout<
<
lchild,x); leno(p->rchild,x); L--; }}

2.二叉链表输出根结点到每个叶子结点算法

int stack[maxsize];int top=-1;void printAllPath(BTNode *p){	int i;	if(p!=NULL)	{		if(p->lchild==NULL&&p->rchild==NULL)		{			for(i=top;i>=0;i--)				cout<
data<<" "; } ++top; stack[top]=p->data; printAllPath(p->lchild); printAllPath(p->rchild); --top; }}

3.假设二叉树采用二叉链表结构存储,设设计一个算法,输出该二叉树中第一条最长的路径长度,并输出此路径上个结点的值

int path[maxsize];int pathlen=-1;int longpath[maxsize];int longpathlen=-1;void printLongPath(BTNode *p){	int i;	if(p!=NULL)	{		if(pathlen>longpathlen)		{			for(i=pathlen-1;i>=0;i--)				longpath[i]=path[i];			longpathlen=pathlen;		}		++pathlen;		path[pathlen]=p->data;		printLongPath(p->lchild);		printLongPath(p->rchild);		--pathlen;	}}

 

转载地址:https://codingchaozhang.blog.csdn.net/article/details/85251918 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:回溯法关于图
下一篇:篇章二线性表---常见操作

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2024年04月15日 23时02分50秒