数据结构入门(十四)——非线性结构——树的存储
Posted UDK_KL.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构入门(十四)——非线性结构——树的存储相关的知识,希望对你有一定的参考价值。
前言
本系列文章是笔者学习数据结构的笔记,如有不妥之处欢迎指正
树的存储
二叉树的存储:
连续存储
- 转化为完全二叉树
优点:查找某个节点的父节点和子节点速度很快
缺点:耗费内存 - 链式存储
一般树存储
- 转化为完全二叉树
森林的存储
- 转化为完全二叉树
建树代码
#include<iostream>
using namespace std;
struct Node
char Data;
Node *L;
Node *R;
;
Node *Creat()
Node *p = new Node;
char a;
cin>>a;
if(a=='#')
return nullptr;
else
p->Data = a;
p->L = Creat();
p->R = Creat();
return p;
;
void Find(Node *p)
if (!p)
return;
Find(p->L);
cout<<p->Data;
Find(p->R);
int main()
Node *Root = new Node;
char a;
cin>>a;
if (a=='#')
return 0;
else
Root->Data = a;
Root->L = Creat();
Root->R = Creat();
Find(Root);
return 0;
输入
字符串形式的先序序列
ABC##DE#G##F###
输出
中序遍历结果
CBEGDFA
以上是关于数据结构入门(十四)——非线性结构——树的存储的主要内容,如果未能解决你的问题,请参考以下文章