如何画树图阿!!!用前序遍历画

cs_sniper_0 2005-07-18 03:25:52
树根为 A
子树集为
T1 B,E,F,K,L
T2 C,G
T3 D,H,I,J,M

为什么E是K L的根呢!看书也不理解阿
大家帮忙
顺便说一下为什么要那么画
...全文
371 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs_sniper_0 2005-07-18
  • 打赏
  • 举报
回复
是啊
!!所以
我要谢谢他!!!但是我要的是如何画图
milozy1983 2005-07-18
  • 打赏
  • 举报
回复
到www.8623.com下早以前写的数据结构演示程序看看吧,呵呵
foochow 2005-07-18
  • 打赏
  • 举报
回复
不懂楼主的意思
lsq667 2005-07-18
  • 打赏
  • 举报
回复
路过!
上面那位写了那么一段代码!?
现在热心的真不多了
cs_sniper_0 2005-07-18
  • 打赏
  • 举报
回复
我要的不是代码!不过还是谢谢你写了!!!!我要学的是如何画图
cs_sniper_0 2005-07-18
  • 打赏
  • 举报
回复
我要的不是代码!不过还是谢谢你写了!!!!我要学的是如何画图
zaisheng10 2005-07-18
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <string.h>
typedef struct tree_str{
int data;
struct tree_str *lchild,*rchild,*parent;
}tree_str,*mytree;
tree_str *creat_tree(void);
void main()
{
int i,j=0;
char a;
tree_str * tree_head;
tree_head=creat_tree();
printf("\n%d \n",tree_head->data);/* 1*/
printf("%d ",tree_head->lchild->data);/* 2*/
printf("%d \n",tree_head->rchild->data);/* 3*/
printf("%d \n",tree_head->lchild->parent->data);
printf("%d ",tree_head->lchild->lchild->data);/* 4*/
printf("%d ",tree_head->lchild->rchild->data);/* 5*/
printf("%d ",tree_head->rchild->lchild->data);/* 6*/
printf("%d \n",tree_head->rchild->rchild->data);/* 7*/
printf("%d \n",tree_head->lchild->parent->data);
printf("%d \n",tree_head->lchild->lchild->parent->data);/* 2*/
printf("%d ",tree_head->rchild->rchild->parent->data);/* 3*/





}
tree_str *creat_tree(void)
{
int i,j,get_node=1;
char get_char;
tree_str *head,*pforward,pback,*pnew,*p[1000];
p[1]=head=pnew=(tree_str*)malloc(sizeof(tree_str));
//get_node++;
while((get_char=getchar())!='\n') /*输入整数,按字符接收数字*/
{
if(get_node==1)
{
if(get_char>='0'&&get_char<='9') /*若为数字则存入*/
{
head->data=get_char-'0';
head->parent=NULL;
//q=(struct number *)malloc(sizeof(struct number)); /*申请空间*/
// q->num=c-'0'; /*存入一位整数*/
//q->np=p; /*建立指针*/
//p=q;
get_node++;
}
if(get_char==' ')
{printf("error occur"); return;}


}
else
{
if(get_node%2==0)
{
if(get_char!=' ')
if(get_char>='0'&&get_char<='9')
{
p[get_node/2]->lchild=pnew=(tree_str*)malloc(sizeof(tree_str));
pnew->data=get_char-'0';
pnew->parent=p[get_node/2];
p[get_node]=pnew;
get_node++;
}

}
else
{
if(get_char!=' ')
if(get_char>='0'&&get_char<='9')
{
p[get_node/2]->rchild=pnew=(tree_str*)malloc(sizeof(tree_str));
pnew->data=get_char-'0';
pnew->parent=p[get_node/2];
p[get_node]=pnew;
get_node++;
}

}


}

}

printf("zaishengtest\n");
for(i=1;i<get_node;i++)
printf("%d ",p[i]->data);

//head->data=123;
return head;
}

这是我建的一个完全二叉树~~~你要看看数据结构书 才能把代码看懂,,
我的只能是0~9之间的数,必须是完全二叉树~~
大家可以看看怎样他把变成一个随便的二叉树,,那个节点不要就输入空格,要判断比较难
cs_sniper_0 2005-07-18
  • 打赏
  • 举报
回复
这个如果是以数组存放的,那么E是K L的根,
为什么阿!!请说明一下好吗!看不懂你们说的
cs_sniper_0 2005-07-18
  • 打赏
  • 举报
回复
树结构阿!!!不是用树组!!!而是数的集合!!!!
cs_sniper_0 2005-07-18
  • 打赏
  • 举报
回复
因为这是 层序表达式
你这个是怎么画出来的阿!!!我不懂啊!!!茫然中!!用什么数学方法吗!赐教
Flood1984 2005-07-18
  • 打赏
  • 举报
回复
T1 B,E,F,K,L
这个如果是以数组存放的,那么E是K L的根,
否则不能确定树形.
newpuple 2005-07-18
  • 打赏
  • 举报
回复
楼主说清楚啊,是二叉树还是什么树撒。
NetDNASupport 2005-07-18
  • 打赏
  • 举报
回复
因为这是 层序表达式

A
|
----------
| |
B E
| |
F -----
| |
K L
随着大数据、云计算、物联网的诞生、大量的设备数据、传感器数据、行为数据、日志数据、基础像数据、运行数据等等都对传统的数据展现提出了新的要求 。随着前端技术的不断成熟,客户对业务系统的要求也由原来的简单实现功能上升到,漂亮、直观、易用、有科技未来感。因此系统的可视化难度加大,我们大多数客户的业务系统都需要可视化大屏的统计分析,甚至部分管理系统也被要求做成图表、地图、三维可视化,VR、AR,三维仿真、地理信息系统等等被要求深度结合业务,这在设计上有一定的难度,而且设计完成了大部分开发难度非常大,不过好在得益于技术的日渐进步,已经有大部分优秀的开源项目和插件可以实现和满足部分可视化的要求。数据分析的需求猛增,那么我们分析后的数据展示也成为目前比较热门的方向。数据可视化,我们常见的有表格、图标、图表、柱状图、折线图、雷达图、漏斗图、等值面图、等值线图、GIS地图、蜂窝图、格点数据、热力图、柱状图、饼图、散点图、地理坐标/地图、K 线图、雷达图、盒须图、热力图、关系图、路径图、树图、矩形树图、旭日图、平行坐标系、桑基图、漏斗图,三维模型可视化等等展现方式。本节课我们主要以百度地图结合mapv进行课程演示讲解,并且使用gis绘图生成等值面直接叠加地图。 

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧