8.6 二叉树----基本操作
来源:互联网 发布:godaddy域名续费好贵 编辑:程序博客网 时间:2024/06/07 07:16
二叉树清理函数 //使用递归处理
void deinit(tree *p_root)//递归函数
{
if(!(p_root->p_root))//递归出口
{
return ; //stop function
}
deinit(&(p_root->p_root->left)); //left
deinit(&(p_root->p_root->right));//right
printf("delete node %d\n",p_root->p_root->num);
//see jieguo look caozuo
free(p_root->p_root);
p_root->p_root=NULL;
}
有序二叉树:
在有序二叉树查找的函数:
动态分配是否成功:3:00.
递归实现树数据的操作:
struct node; //树的结构
typedef struct tree{
struct node *p_root;
}tree;
typedef struct node{
int num;
tree left;
tree right;
}node;
算法:
排序算法:冒泡,选择,查找,快速。
查找算法:折半查找。
作业:1、给树的数据结构增加统计节点的个数以及统计树高度的函数
2、
判定过程最优的二叉树为哈夫曼树,又称最优二叉树
定义哈夫曼树之前先说明几个与哈夫曼树有关的概念:
路径: 树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。
路径长度:路径上的分枝数目称作路径长度。
树的路径长度:从树根到每一个结点的路径长度之和。
结点的带权路径长度:在一棵树中,如果其结点上附带有一个权值,通常把该结点的路径长度与该结点上的权值
之积称为该结点的带权路径长度(weighted path length)
- 8.6 二叉树----基本操作
- 二叉树基本操作
- 二叉树 基本操作
- 二叉树基本操作
- 基本二叉树操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树基本操作
- 二叉树--基本操作
- 二叉树基本操作
- java 编写程序实现从控制台接收一个 5 位以上的整数,使用数组来判断该数字 * 是否是回文数。(例如:789987,12344321是回文数)
- ThinkPHP权限认证Auth实例详解
- Linux的Socket编程
- asasasa
- activiti学习笔记(四) 配置器
- 8.6 二叉树----基本操作
- 【OpenCv应用笔记】基于OpenCv的视频截图C++程序
- Struts2的系统架构
- Andrew Ng机器学习笔记1
- 浅谈Java设计模式——单实例、简单工厂、抽象工厂、观察者
- 理解 Linux 中的 关机命令
- SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别
- 金融企业软件测试中心筹备书-考核及总结篇
- 入门级使用PowerDesigner软件创建数据库