数据结构与算法分析习题4.33和4.34

习题4.33

由一个自动程序来生成二叉树:通过给树的每一个节点指定坐标(x,y),围绕每个坐标画一个圆圈,并将每个节点连到它的父节点上。假设在存储器中存有一棵二叉查找树(或许由此程序生成)并设每个节点都有两个附加的域存放坐标。
a. 坐标x可以通过指定中序遍历数来计算。对于树中的每个节点写出这样一个例程。
b. 坐标y可以通过使用节点深度的相反数算出。对于树中的每一个节点写出这样的例程。
c. 若使用某个虚拟的单位表示,则所画图形的具体尺寸是多少?如何调整单位使得所画的树总是高大约为宽的三分之二?
d. 证明,使用这个系统没有交叉线出现,同时,对于任意节点X,X的左子树的所有元素都出现在X的左边,X的右子树的所有元素都出现在X的右边。

习题4.34

编写一个一般的画树程序,该程序把一棵树转变成下列的图—组装指令:
a. Circle(X,Y)
b. DrawLine(i, j)
第一个指令在(X,Y)处画一个圆,而第二个指令则连接第i个圆和第j个圆(圆以所画的顺序编号)。你或者把它写成一个程序并定义某种输入语言,或者把它写成一个函数,该函数可以被任何程序调用。你的程序的运行时间是多少?

这两道题困扰了我很久,我没有任何思路,求解答。如果有人觉得我是巨婴的话,我无话反驳。使用的是C语言写的。

C
数据结构
2022-08-30 22:14:48
浏览
收藏 0
回答 0
待解决
相关问题
PolarDB 数据结构是什么?
1134浏览 • 1回复 待解决
PolarDB 的数据块的结构是什么?
922浏览 • 1回复 待解决
Postgresql 宿主机如何Docker同步数据?
1965浏览 • 1回复 待解决
什么是PolarDB的锁分析
1071浏览 • 1回复 待解决
OceanBaseMySQL 数据库有哪些不同?
5163浏览 • 1回复 待解决
时序数据库InfluxDBTSDB的区别
1040浏览 • 1回复 待解决
什么是PolarDB的空间分析
2210浏览 • 1回复 待解决
HarmonyOS参与者的问题分析
5685浏览 • 4回复 待解决
手机如何电脑端进行数据传输
1199浏览 • 1回复 待解决
PolarDB 的进程结构是什么?
706浏览 • 1回复 待解决