欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 心得体会 > 二叉树编程心得体会

二叉树编程心得体会

时间:2019-04-12 16:42

试编程求二叉树T的总结点数

二叉树就是说一个结点下面可能有两个子结点(度为2),也可能有一个子结点(度为1),或者没有子结点(度为0,也叫叶子结点)那么在这棵树中只可能出现三种情况:度为2,度为1,度为0(叶子结点)。

不可能出现其他情况,否则就不是二叉树了。

所以,总结点数应该为三者之和。

已经知道:度为0=70,度为1=80度为2=度为0-1=69(这是公式,原因说起来太麻烦,你自己 画个图可能会更清楚。

)所以:总结点数=度为2+度为1+度为0=69+80+70=219

求二叉树总结点数的算法,要主要的程序过程

\\\/\\\/---------------------------------------------------------------------------#include using namespace std;typedef struct node{ struct node *L,*R; string name;}NODE;int count =0; \\\/\\\/计数\\\/\\\/输入void Input(NODE **T,int num){ string name; int L,R; *T = new NODE[num]; for (int i=0;i> name >> L >> R; if(L >=num || R >=num) { cout << 输入结点序号非法,请重新输入<name = name; (*T+i)->L = L==-1? NULL:*T+L; (*T+i)->R = R==-1? NULL:*T+R; i++; }}\\\/\\\/前序void NLR(NODE *T){ if(T==NULL)return ; count++; cout <name<< ; NLR(T->L); NLR(T->R);}int main(){ NODE *T=NULL,t; int num; cout << 输入结点数:<> num; Input(&T,num); cout <<前序:; NLR(T); cout << endl; cout << 总结点数:<< count << endl; system(PAUSE); return 0;}

实验五 二叉树基本操作的编程实现实验报告

设一棵完全二叉树共有699个结点.首先需要求出这棵树的深度。

也就是说这棵树有多少层。

完全二叉树有一个性质: 具有n个结点的完全二叉树的深度为log2n(2是下标)+1。

根据这个性质,就可以求得完全二叉树的深度为1010层满二叉树的总结点数为1023,最后一层的结点数应该是2的9次方为512,所以肯定699个结点肯定不是满二叉树。

叶子节点出现在最后两层上。

最后一层叶子结点个数为:699-(1023-512)=188倒数第二层的叶子节点数为: (512-188)\\\/2=162叶子总数应该是:188+162 = 250不确定有没有算对.大概思路应该是这样的.希望对你有帮助

二叉树问题编程

你可以用递归函数来实现这个函数,基本思路是:1、如果结点地址为空,则返回;2、调用函数自身输出左子树;3、输出本结点;4、调用函数自身输出右子树;下面的函数按层次打印二叉树typedef struct Node{ Node* left; Node* right; char data;};\\\/\\\/递归打印二叉树的各个结点void print_btree(Node* node, int level){if(node==NULL)return;print_btree(node->left,level+1);\\\/\\\/缩进level*2个字符for(int i=0;idata);print_btree(node->right,level+1);} \\\/\\\/打印二叉树void print(Node* tree){print_btree(tree,0);}调用print函数,打印出的二叉树形状类似于:----A--BC----X--D----E------F注:这里用“-”代替“空格”祝你好运

java 二叉树编程 求救

\\\/\\\/给的分有点少哦public class BTNode { public String data; public BTNode left; public BTNode right; public BTNode(String data, BTNode l, BTNode r) { this.data = data; this.left = l; this.right = r; } public BTNode(String data) { this.data = data; }}public class BTree { private BTNode root; public BTree(){ } public BTree(BTree t){ CopyNodes(t.root, this); } private void CopyNodes(BTNode node, BTree tree){ if(node == null){ return; } tree.insert(node.data); CopyNodes(node.left, tree); CopyNodes(node.right, tree); } public void insert(String newData){ root = insert2(newData, root); } private BTNode insert2(String s, BTNode n){ if(n == null){ return new BTNode(s); } if(s.compareTo(n.data) < 0){ n.left = insert2(s, n.left); }else if(s.compareTo(n.data) > 0){ n.right = insert2(s, n.right); } return n; } public BTNode find(String s){ BTNode node = root; while(node != null){ if(s.equals(node.data)){ return node; } if(s.compareTo(node.data) < 0){ node = node.left; }else{ node = node.right; } } return null; } public void printInOrder(){ showNode(root); } private void showNode(BTNode node){ if(node == null){ return; } showNode(node.left); System.out.print(node.data + \\\); showNode(node.right); }}

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片