数据结构(牛小飞)树的遍历的应用.ppt
《数据结构(牛小飞)树的遍历的应用.ppt》由会员分享,可在线阅读,更多相关《数据结构(牛小飞)树的遍历的应用.ppt(13页珍藏版)》请在三一办公上搜索。
1、树的遍历的应用,设树的存储结构为孩子兄弟链表,一、求树的深度,二、输出树中所有从根到叶子的路径,三、建立树的存储结构,class CSNode Object data;CSNode firstChild;CSNode nextSibling;,A,B,C,D,E,F,G,B,树的遍历的应用,一、求树的深度的算法:,1、如果T为空,则树的深度为0,2、求出T每棵子树的深度,3、从所有子树的深度中取最大,然后加1,即为树的深度,public int depth(Tree T)/只考虑逻辑结构,if(t=null)return 0;,for(p=T1,T2,Tn)/每棵子树,dp=depth(p),
2、a=max(d1,d2,dn),return(a+1),树的遍历的应用,public int depth(CSNode t)/二叉链表作为存储结构,if(t=null)return 0;/空树,p=t.firstchildNode;d=0;,while(p)/依次求子树的深度,return(d+1);,int d1=depth(p);,if(d1d)d=d1;,p=p.nextsibling;,树的遍历的应用,二、输出树中所有从根到叶子的路径的算法:,对左图所示的树,其输出结果为:,A B EA B FA CA D G H IA D G H JA D G H K,树的遍历的应用,对树先根遍历(
3、深度优先),1、T为空,栈中存放的是从根到T的父节点的路径,2、将T压栈,栈中存放的是从根到T的路径,递归访问T的子树,将T出栈,树的遍历的应用,二、输出树中所有从根到叶子的路径的算法:,public void AllPath(CSTree T,Stack S)/树的先根遍历/AllPath,Push(S,T.data);/树根压栈,p=T.firstchild/T的第一颗子树,while(p)/T的所有子树 AllPath(p,S);p=p.nextsibling;,Pop(S);/访问完T的所有子树,if(!T)PrintStack(S),return,树的遍历的应用,void OutPa
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 牛小飞 遍历 应用
链接地址:https://www.31ppt.com/p-4980189.html