简单二叉树的创建,连接树结点,二叉树的深度(转载)
来源:互联网 发布:一个端口的tcp连接数 编辑:程序博客网 时间:2024/05/29 09:48
// 题目:输入一棵二叉树的根节点,求该树的深度。从根节点到叶子结点一次经过的结点形成树的一条路径,// 最长路径的长度为树的深度。根节点的深度为1。#include<iostream>#include<stdlib.h>using namespace std;typedef struct BinaryTreeNode{int value;BinaryTreeNode *left;BinaryTreeNode *right;}tree;BinaryTreeNode *createBinaryTreeNode(int value){BinaryTreeNode *pNode=new BinaryTreeNode;pNode->value =value;pNode->left =NULL;pNode->right =NULL;return pNode;}void ConnectTreeNodes(BinaryTreeNode* pParent,BinaryTreeNode* pLeft,BinaryTreeNode* pRight){ if(pParent!=NULL) { pParent->left=pLeft; pParent->right=pRight; }}int TreeDepth(BinaryTreeNode* pRoot){if(pRoot==NULL) return 0;int left=1;int right=1;left+=TreeDepth(pRoot->left );right+=TreeDepth(pRoot->right );return left>right?left:right;}void main(){// 1// / \// 2 3// /\ \// 4 5 6// /// 7 //创建树结点BinaryTreeNode *pNode1=createBinaryTreeNode(1);BinaryTreeNode *pNode2=createBinaryTreeNode(2);BinaryTreeNode *pNode3=createBinaryTreeNode(3);BinaryTreeNode *pNode4=createBinaryTreeNode(4);BinaryTreeNode *pNode5=createBinaryTreeNode(5);BinaryTreeNode *pNode6=createBinaryTreeNode(6);BinaryTreeNode *pNode7=createBinaryTreeNode(7);//连接树结点ConnectTreeNodes(pNode1,pNode2,pNode3);ConnectTreeNodes(pNode2,pNode4,pNode5);ConnectTreeNodes(pNode5,pNode7,NULL);ConnectTreeNodes(pNode3,NULL,pNode6);//连接树结点int depth=TreeDepth(pNode1);cout<<depth<<endl;system("pause");}
转载于,自己在VS上面实现了出来,练练手;
出处:http://www.cnblogs.com/xwdreamer
0 0
- 简单二叉树的创建,连接树结点,二叉树的深度(转载)
- 二叉树的创建以及四种遍历,叶子结点的数量,二叉树深度(简单二叉树)
- 求二叉树的深度 (转载)
- 二叉树的基本操作精集(创建、遍历、求深度结点以及叶子结点个数)
- 二叉树的操作:创建、遍历、求树的深度、叶子结点数
- 计算二叉树的深度,结点的个数。
- 二叉树 (求叶子结点&深度)
- 二叉树(求深度、叶子结点)
- C语言实现二叉树的基本操作---创建、遍历、求深度、求叶子结点
- 给定一棵二叉树,创建含有某一深度上所有结点的链表
- 二叉树创建、遍历、叶结点个数及深度的操作实现
- C二叉树的基本操作---创建、遍历、求深度、求叶子结点
- C语言实现二叉树的基本操作---创建、遍历、求深度、求叶子结点
- 二叉树------二叉树的下一个结点
- 递归求解二叉树任意一结点的深度
- DS之求解二叉树的叶子结点和深度
- 求二叉树的深度、宽度和叶子结点数
- 求二叉树的叶子结点个数及深度
- hdu 1503 Advanced Fruits 公共子序列
- C#属性
- 软件架构设计之常用架构模式介绍
- 判断一个整数转换成二进制后1的个数
- auto_ptr智能指针
- 简单二叉树的创建,连接树结点,二叉树的深度(转载)
- java--通过DOM4J方式生成rss文件简单实例
- Redis、memcache
- js 数组
- tinyos 串口通信
- 图像处理(二十三)基于调色板的图像Recoloring-Siggraph 2015
- Clos Network 与 Leaf Spine 架构
- java中的线程(三)——控制线程的几种简单的方法和线程同步
- 每周前端知识整理(15.10.11)