数据结构-03
来源:互联网 发布:林彪军事才能 知乎 编辑:程序博客网 时间:2024/06/08 06:27
题目:在二元树中找出和为某一值的所有路径
输入一个整数和一棵二元树。
从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。
打印出和与输入整数相等的所有路径。
个人算法思路:
利用递归算法把二元树和输入的整数作为参数传递,
并利用堆栈和出栈记录遍历的路径。
算法实现
(注:在算法中使用了LinkedList类来实现一个栈操作)
public static void allPath(Node treeNode,int data){ if(treeNode!=null){ //节点不为空 节点入栈 qu.push(treeNode); //将传入的整数值减去节点的值 data=data-treeNode.data; //如果运算后的值大于零 继续递归 if(data>0){ //左孩子不为空 对左孩子进行递归 if(treeNode.leftChild!=null){ allPath(treeNode.leftChild,data); } //右孩子不为空 对左孩子进行递归 if(treeNode.rightChild!=null){ allPath(treeNode.rightChild,data); } }else if(data==0){ //如果运算后的值等于零 打印栈中所有元素 for(Node n:qu){ //打印的结果就是符合题意的一条路径 n.paintNode(); } }//data判断结束 //当值data判断结束 弹出栈顶元素 qu.pop(); }//最外层判断结束}//函数结束
每天学习一点点 未来爱你多一点
阅读全文
0 0
- 数据结构-03
- 03《数据结构》复习资料
- 数据结构课程设计03
- 数据结构03--线性表
- 03_1Pandas_数据结构
- 数据结构03 线性表
- 基础数据结构03:栈
- 【数据结构专题-03】树
- 数据结构基础【03】单链表
- 数据结构-03-队列
- 数据结构03 队列
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- 数据结构
- c++之继承与派生
- ZOJ 3650 Toy Blocks(DP + 线段树优化转移)
- 复制含有随机指针节点的链表
- java字符串
- input框回车事件
- 数据结构-03
- 每天一点MySQL-数据类型
- 批量文件重命名
- C++ 嵌入汇编 获取CPU信息
- 数据结构之图的遍历(BFS+DFS)
- java中Set以及常用子类
- 设计模式之访问者模式
- oracle中decode函数如何使用?
- Java书单