二叉树笔记
来源:互联网 发布:telnet23端口连接失败 编辑:程序博客网 时间:2024/05/18 09:14
二叉树的递归思想,值得好好琢磨一番。
/*
数的直观表达图:1.倒悬树;2.嵌套集合;3.广义表;二叉树的编号规则:从上到下,由左到右
满二叉树(结点的度是0或者2)是完全二叉树的特殊情况。
二叉树可以用数组来表示,不足的地方用空代替,但用的少
二叉树的三叉链表结点也用得少,一个结点:Lchild data parent Rchild,其中parent指针向上指
二叉树链表结点: Lchild data Rchild,最底下的结点的左右都是NULL
二叉搜索树,又名二叉排序树(递归插入)
*/
#include <iostream>
typedef int DataType;
struct Node
{
DataType data;
Node *left;//指向左孩子(左子树)结点
Node *right;//指向右孩子结点
}
Node* createNode(DataType x);//创建一个结点
void insert(Node **root,Node *pn);//插入一个结点()
void preTrave(Node *root);//先(根)序遍历,默认从左到右,LDR
void midTrave(Node *root);//中序遍历
void postTrave(Node *root);//后序遍历
Node* createNode(DataType x)
{
Node *p=(Node *)malloc(sizeof(Node));
p->data=x;
p->left=p->right=NULL;
return p;
}
void insert(Node **root,Node *pn)
{
if(pn==NULL)
return;
if(*root=NULL){
*root=pn;
return;
if((*root->data)<pn->data){
insert(&((*root)->right),pn);
else
insert(&(*root)->left),pn);
}
}
void preTrave(Node *root)
{
if(root=NULL)
return;
else
printf("%d\t",root->data);
preTrave(root->right);
preTrave(root->left);
}
void midTrave(Node *root)
{
if(root=NULL)
return;
else
midTrave(root->left);
printf("%d".root->data);
midTrave(root->right);
}
0 0
- 二叉树笔记
- 二叉树 基础 笔记
- 二叉树学习笔记
- 二叉树学习笔记
- 二叉树学习笔记
- 二叉树笔记
- 二叉树学习笔记
- 笔记-二叉查找树
- 二叉树复习笔记
- 二叉树学习笔记
- 学习笔记-二叉树
- 二叉搜索树笔记
- 二叉树笔记
- 笔记8:二叉树
- 学习笔记 二叉树
- 【笔记】线索二叉树
- 【笔记】平衡二叉树
- 二叉树:二叉树视频笔记
- C++11 中的线程、锁和条件变量
- 《Windows Sockets 网络编程》. Bob Quinn & Dave Shuttle (非常实用的Windows编程书籍)
- ConcurrentSkipListMap原码解析
- 面向对象编程的思想(3)
- 算法之排列与组合算法
- 二叉树笔记
- 寻找发帖水王(找出数组出现超过一半的数字)
- 像素 厘米 英寸 换算
- Spring Framework ContextLoaderListener
- 图片 BASE64编码 JSP 显示
- 字符串的全排列和组合算法
- 关于typedef的用法总结
- 作业3.24
- EasyUI的选项卡制作