【数据结构】查找番外篇 静态数表的查找 次优查找树

void SecondOptional(BiTree &T,Elemtype R[],float sw[],int low,int high){/** 由有序表R[low..high]及其累计权值表sw(其中sw[0]=0)递归构造次优查找树T */i = low; min = abs(sw[high]-sw[low]) ; dw = sw[high]+sw[low-1];for(j = low+1 ; j <= high ; j ++) {if(abs(dw-sw[j]-sw[j-1]) < min) {i = j;min = abs(dw-sw[j]-sw[j-1]);}}T = (BiTree)malloc(sizeof(BiTNode));T -> data = R[i];//生成结点if(i == low) T->lchild = NULL;//左子树空else SecondOptimal(T->lchild,R,sw,low,i-1);//构造左子树if(i == high) T->rchild = NULL;//右子树空else SecondOptimal(T->rchild,R,sw,i+1,high);//构造右子树}//SecondOptimal

,心有多大,舞台就有多大。

【数据结构】查找番外篇 静态数表的查找 次优查找树

相关文章:

你感兴趣的文章:

标签云: