7:15~7:20 打卡学习
8:00~9:00 读英语
9:00~11:00 复习物理
16:00~20:00 学习二叉树
说实话,我刚开始看二叉树的时候是很懵逼的,之前没有接触过这类型知识。后来我发现二叉树和之前在某张卷子上看到的哈夫曼树有相似之处。我在csdn上找了很多文章,发现建立二叉树和之前学过的结构体和建立链表有关联。这让我搞懂了二叉树的三种基本建立:先序、后序、中序。现附上二叉树先序建立及输出代码:
#include<stdio.h>
#include<stdlib.h>
#define LEN sizeof(struct TREE)
struct TREE
{
char data;
struct TREE*l,*r;
};
typedef struct TREE A;
A* fun1()
{
A* p;
char x;
scanf("%c",&x);
if(x=='#')
p=NULL;
else
{
p=(A*)malloc(LEN);
p->data=x;
p->l=fun1();
p->r=fun1();
}
return p;
}
int fun2(A* p)
{
if(p==NULL) printf("#");
else
{
printf("%c",p->data);
fun2(p->l);
fun2(p->r);
}
return 0;
}
int main()
{
A* p;
p=fun1();
fun2(p);
return 0;
}
明天再详细学习一下二叉树的层次遍历。
今天总计学习7小时,关于“种树”我总算有了点头绪,开心!