第十周项目3-用二叉树遍历思想解决问题(1)&(2)
来源:互联网 发布:python import sqlite3 编辑:程序博客网 时间:2024/06/13 13:08
问题及代码:
(1)计算二叉树节点个数
#include <stdio.h>#include<malloc.h>#include"btree.h"int Nodes(BTNode *b){ if(b==NULL) return 0; else return Nodes(b->lchild)+Nodes(b->rchild)+1;}int main(){ BTNode *b; CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); printf("二叉树中所有的叶子节点是: "); DispLeaf(b); printf("\n"); DestroyBTNode(b); return 0;}
(2)输出所有叶子节点
void DispLeaf(BTNode *b){ if(b!=NULL) { if(b->lchild==NULL&&b->rchild==NULL) printf("%c",b->data); else DispLeaf(b->lchild); DispLeaf(b->rchild); }}int main(){ BTNode *b; CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))"); printf("二叉树节点个数: %d\n", Nodes(b)); DestroyBTNode(b); return 0;}
运行结果:
(1)
(2)
知识点总结:
利用二叉树算法库解决实际问题,两个函数中均用到递归调用,知识点比较简单。
心得体会:
在敲代码中慢慢的开始理解了递归的意思,课后多实践才能加深理解!
0 0
- 第十周--项目3用二叉树遍历思想解决问题(1)(2)
- 第十周项目3-用二叉树遍历思想解决问题(1)&(2)
- 第十周项目三 利用二叉树遍历思想解决问题(1、2、3、4)
- 第十周项目3-用二叉树遍历思想解决问题
- 第十周--项目3用二叉树遍历思想解决问题(3)(4)
- 第十周--项目3用二叉树遍历思想解决问题(5)
- 第十周项目3--利用二叉树遍历思想解决问题(2)
- 第十周项目3-利用二叉树遍历思想解决问题(2)输出所有叶子节点
- 第十周 项目3-利用二叉树遍历思想解决问题(2)
- 第十周项目3【利用二叉树遍历思想解决问题】(2)
- 第十周项目3 利用二叉树的遍历思想解决问题(2)
- 第十周项目3-利用二叉树遍历思想解决问题(2)
- 第十周项目3-利用二叉树遍历思想解决问题(2)
- 第十周 项目3 利用二叉树遍历思想解决问题(2)
- 第十周项目3-利用二叉树遍历思想解决问题(2)
- 第十周项目3--利用二叉树遍历思想解决问题(1)
- 第十周 项目3-利用二叉树遍历思想解决问题(1)
- 第十周项目3 利用二叉树遍历思想解决问题(1)
- javascript中的私有,公有,特权和静态方法
- 第十一周-线索化二叉树(中序)
- 第十一周项目1--二叉树算法验证(4)
- coderforce 514A Chewbaсca and Number
- 利用dispatch_once创建单例
- 第十周项目3-用二叉树遍历思想解决问题(1)&(2)
- 浏览器 HTTP 缓存原理分析
- 监控系统都包括哪些设备?
- 第八周 项目2-建立链串的算法库
- 第六周:项目1建立顺序栈算法库
- 使用hosts文件屏蔽广告, 访问一些网站
- OC中的小知识点
- Java 8时间和日期API 20例
- java实现打印套打功能