nimo_096 2015-07-31 07:26 采纳率: 50%
浏览 1771
已结题

C语言根据数组建立KD树的代码问题

数组x已经从小到大排好顺序
根据这个数组建立kd树(即每次选取中位数作为节点)
代码如下:

struct node *createKdTree(int x[],int size){

  struct node *root;
  root = malloc(sizeof(struct node));
  if(size==0){
    root=NULL;
  }
  else{
    int i=size/2;
    root->xValue=x[i];//根


    if(i>=1){
      root->left=createKdTree(x,i);//左
      root->right=createKdTree(x+i+1,i-1);//右
    }

  }

感觉是递归的部分出了问题,左子和右子的createKdTree()里的两个参数不知道应该是什么
现在总是Segmentation fault: 11的错误

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 R语言Rstudio突然无法启动
    • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
    • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
    • ¥15 用windows做服务的同志有吗
    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值