元亨利贞t 2019-04-13 10:51 采纳率: 0%
浏览 351

数据结构问题树的双亲表示法查找兄弟节点的时间性能是多少?

最近学数据结构,学到树的双亲表示法,这是老师上课讲的问题,感觉老师讲的不是很清楚,也没听懂,有以下问题:

1.双亲表示法找节点A的孩子节点,网上有的课件和严蔚敏吴伟民编的《数据结构》一书都讲要遍历整个结构,我感觉其实只要遍历这个节点之后的节点就可以了,而且遍历到一个parent不等于这个节点下标(这就可以找到最右边的孩子)就可以结束了。网上有讲这个时间性能等于O(n),怎么算的?上课课件又有讲这时加一个firstchild节点,这时我感觉只要从这个firstchild节点遍历到最右边的孩子就可以了。这个时候时间复杂度又等于多少,怎么算的,抱歉,我的时间复杂度怎么算没搞太明白,能不能提供这里面详细的公式?

2.双亲表示法找节点A的兄弟节点,网上也有分析时间复杂度是“遍历数组,O(n)”
,我感觉这时候过程是先查找双亲节点,如果等于-1就无兄弟节点,如果不等于再从双亲节点的下一个节点开始遍历,先遍历到双亲节点第一个孩子,再遍历到最后一个孩子,夹在中间的又不是A的就是兄弟节点。这个O(n)又是怎么算的?上课课件又有这时加一个rightsib节点即紧挨这个节点右边的兄弟节点(不是最右边的兄弟节点),这个时候查找我感觉过程是:开始和之前一样,查找双亲节点,如果等于-1就无兄弟节点,再从双亲节点后一个节点开始遍历,先遍历到双亲节点第一个孩子,再从rightsib开始遍历到双亲节点最右边的孩子,rightsib等于-1的话最右边的孩子就是A,这个时候时间复杂度又怎么算?

问题很多,觉得这里面很复杂,网上和教科书又找不到答案,希望哪位大神能解答一下?万分感谢

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 用C语言输入方程怎么
    • ¥15 网站显示不安全连接问题
    • ¥15 github训练的模型参数无法下载
    • ¥15 51单片机显示器问题
    • ¥20 关于#qt#的问题:Qt代码的移植问题
    • ¥50 求图像处理的matlab方案
    • ¥50 winform中使用edge的Kiosk模式
    • ¥15 关于#python#的问题:功能监听网页
    • ¥15 怎么让wx群机器人发送音乐
    • ¥15 fesafe材料库问题