已知一棵完全二叉树存于顺序表sa中,sa.elem[1…sa.length]含结点值,试编写算法由此顺序存储结构建立该二叉树的二叉链表。

分析:由二叉树的性质可知,一个下标为i的节点若有左子树,则其左子树的下标为2i,右子树下标为2i+1
上代码:

//主函数中传入的i为1
void CreateTree(Sqlist sa, BiTree *T, int i)//前序创建
{(*T) = (BiTree)malloc(sizeof(BiTNode));//分配空间(*T)->data = sa.elem[i];if(sa.length >= 2 * i)//若长度大于2i,证明此节点有左子树CreateTree(sa, &(*T)->lchild, 2*i);else{(*T)->lchild = NULL;}if(sa.length >= 2 * i + 1) //若长度大于2i+1,证明此节点有右子树CreateTree(sa, &(*T)->rchild, 2*i + 1);else{(*T)->rchild = NULL;}
}

已知一棵完全二叉树存于顺序表sa中,sa.elem[1..sa.length]含结点值,试编写算法由此顺序存储结构建立该二叉树的二叉链表。相关推荐

  1. 已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法...

    已知一棵二叉树的中序序列和后序序列,写一个建立该二叉树的二叉链表存储结构的算法 #define N 10 //二叉树节点的个数 char postorderstr[]={};//后序序列 char i ...

  2. 已知一棵完全二叉树的节点数n,求叶节点数

    题目如题 假设完全二叉树中,度为0的节点(即叶节点)数目为n0,度为1的节点数为n1,度为2的数目为n2,总数为n 首先我们得知道两个公式 结点总数满足: n = n0 + n1 + n2 出度.入度 ...

  3. 用二叉链表存储二叉树,并判断二叉树是否为完全二叉树

    题目: 按要求二叉树按二叉链表形式存储, 1.写一个建立二叉树的算法:2.写一个判别给定的二叉树是否是完全二叉树的算法 分析:判断是否是完全二叉树的方法:若某结点无左子女就不应有右子女 建立二叉树[递 ...

  4. 数据结构例1.已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素

    //已知顺序表L的长度为n,试编写算法实现在顺序表中删除值为elem的数据元素 //(其中n与elem从键盘输入) # include <iostream> # include <s ...

  5. 6.36③ 若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左、右子树和B2的左、右子树分别相似, 则称二叉树B1和B2相似。试编写算法,判别给定两 棵二叉树是否相似。

    6.36③  若已知两棵二叉树B1和B2皆为空,或者皆 不空且B1的左.右子树和B2的左.右子树分别相似, 则称二叉树B1和B2相似.试编写算法,判别给定两 棵二叉树是否相似. 要求实现下列函数: S ...

  6. 已知三角形三边求面积的c语言程序,已知三角形三边分别为4,5,6,求三角形的面积。用c语言编写程序...

    已知三角形三边分别为4,5,6,求三角形的面积.用c语言编写程序 关注:114  答案:6  mip版 解决时间 2021-01-18 16:33 提问者谁把流年搁浅 2021-01-17 23:52 ...

  7. 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。

    题目要求:设顺序表va中的数据元素递增有序.试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性. 代码实现: void Insert(SqList *va,int x) {int i;if( ...

  8. 设某棵二叉树中度数为 0 的结点数为 N0 ,度数为 1 的结点数为 N1 ,则该二叉树中度数为 2 的结点数为? ;若采用二叉链表作为该二叉树的存储结构,则该二叉树中共有 ? 个空指针域

    度数为 2 的结点数为N0-1:有 2N0+N1个空指针域 分析: 根据总结点数=总度数+1,所以N0+N1+N2=0✘N0+1✘N1+2✘N2+1,得出N2=N0-1,度数为2的结点数就为N0-1 ...

  9. (线性表)设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。

    (线性表)设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序. [算法的基本思想] 建立顺序表,在表中从后往前查找要插入的元素的位置,直到找到第一个比X小的数,并 ...

最新文章

  1. 福建省计算机一级应用技术基础知识,求福建省计算机一级考试的基础题
  2. Python中必备知识点:对字符编码的基本操作
  3. mem库系列函数合集(memset、memchr、memcmp、memcpy)
  4. LeetCode 53:最大子序和解题以及优化思路(第一次独立刷题记录)
  5. MySQL正则表达式的使用
  6. js获取页面URL地址并判断URL是否包含具体值
  7. 安装包没有证书怎么强行安装_该安装包未包含任何证书
  8. mysql 复制表结构和表数据
  9. PHPObject v1.51(Flash Remoting for PHP developers)
  10. echarts 不支持 手机 浏览器_中国北斗卫星导航系统真的来了!获国产手机力挺:但iPhone却不支持...
  11. matlab数字图像处理-找不同
  12. 小米笔记本pro15.6 8550u安装黑苹果+win10双系统(双硬盘版)
  13. ios原生条形码扫描 效率低下原因
  14. 聚沙成塔,亚马逊云科技为智能汽车创新加速
  15. excel 数组公式
  16. DHTML动态样式的作用
  17. 靠查看英语资料 , “一不小心”成了国内第一
  18. 基于PaddlePaddle实现的目标检测模型SSD
  19. 创建一个Android Cardboard 360 Video Viewer
  20. 菲尔博士的三十六交际方式

热门文章

  1. 【Android开发】greenrobot三大开源利器详解(一)——EventBus
  2. 阿里游戏市场分析师模拟题
  3. 大数据培训班课程表介绍
  4. 百度360等巨头抢挖安卓电视游戏金矿
  5. loadrunner 怎么设置html和url,loadrunner 添加token关联(示例代码)
  6. 996 与 郭琪 | 北漂生活 | 裙子戏言
  7. 项目动态|Apache Pulsar 2.8.1 版本发布
  8. 内蒙古商贸职业学院校计算机系,内蒙古商贸职业学院计算机系.doc
  9. 齿轮减速电机的安装与使用
  10. 用于基于 CNT 的射频辐射热计开发研究的 CPX-VF 探针台