求二叉树中值为x的结点的个数
来源:互联网 发布:安卓画板软件 编辑:程序博客网 时间:2024/03/28 16:04
#include<iostream>#define N 63using namespace std;char str[] = "ab#d##a#e##";int i = -1;typedef struct node{struct node *leftChild;struct node *rightChild;char data;}BiTreeNode, *BiTree;//生成一个结点BiTreeNode *createNode(int i){BiTreeNode * q = new BiTreeNode;q->leftChild = NULL;q->rightChild = NULL;q->data = i;return q;}BiTree createBiTree1(){BiTreeNode *p[N] = {NULL};int i;for(i = 0; i < N; i++)p[i] = createNode(i + 1);// 把结点连接成树for(i = 0; i < N/2; i++){p[i]->leftChild = p[i * 2 + 1];p[i]->rightChild = p[i * 2 + 2];}return p[0];}void createBiTree2(BiTree &T){i++;char c;if(str[i] && '#' == (c = str[i]))T = NULL;else{T = new BiTreeNode;T->data = c;createBiTree2(T->leftChild);createBiTree2(T->rightChild);}}int getNodeWithElement(BiTree T, int element){if(NULL == T)return 0;if(element == T->data)return 1 + getNodeWithElement(T->leftChild, element) + getNodeWithElement(T->rightChild, element);return getNodeWithElement(T->leftChild, element) + getNodeWithElement(T->rightChild, element);}int main(){BiTree T1;T1 = createBiTree1();cout << getNodeWithElement(T1, 20) << endl;BiTree T2;createBiTree2(T2);cout << getNodeWithElement(T2, 'a') << endl;cout << getNodeWithElement(T2, 'b') << endl;cout << getNodeWithElement(T2, 'A') << endl;return 0;}
- 求二叉树中值为x的结点的个数
- 求二叉树中值为x的结点的层号
- 求二叉树中单分支结点的个数
- 求二叉树中双分支结点的个数
- 求二叉树中某层次结点的个数
- 求二叉树叶子结点的个数
- 求树对应的二叉树中无右孩子的结点个数
- 求二叉树中以x为值的根结点的子树的深度
- 求二叉树中叶子结点的个数
- 求二叉树中分支结点的个数
- 求二叉树中所有结点的个数
- 求二叉树中叶子结点的个数
- 求二叉树的叶子结点个数及深度
- 7-1 求二叉树的叶子结点个数
- 计算二叉树中值为data的结点所在的层数
- 求二叉树的高度,叶子节点个数,第K层结点个数,求祖先结点问题
- 二叉树中查找值为x的结点,打印x结点的全部祖先
- 2.1删除不带头结点的单链表L中值为x的结点
- jquery获得焦点与失去焦点改变文本框背景图的写法
- Ruby on Rails 入门之:(26) Rails找不到数据库表解决办法 2
- 2012年度中国式最烂密码“我爱你一生一世”(5201314)
- centos安装kernel
- 给 Cocos2d 增加对 4 英寸屏幕的支持 (iPhone 5, iPod touch 5 代)
- 求二叉树中值为x的结点的个数
- Java 多线程总结
- DNS知识点
- 订制IOS系统控件要注意的问题
- 如何将MongoDB做一项windows服务启动
- 发布Silverlight项目自动生成模板,自动生成Silverlight调用RIA Service实现数据增删查改
- 关于Javascript定时器
- codec engine代码阅读1~3:根目录package.xdc,release notes和example文件夹
- sae开始收费,准备把博客迁过来