⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 algo0903.cpp

📁 数据结构 清华严蔚敏c语言版 配套光盘 献给大家
💻 CPP
字号:
Status SecondOptimal(BiTree &T, ElemType R[], float sw[], 
                     int low, int high) {  // 算法9.3
   // 由有序表R[low..high]及其累计权值表sw
   // (其中sw[0]==0)递归构造次优查找树T。
   int i,j;
   float min,dw;
   i = low;  min = (float)fabs(sw[high]-sw[low]);  
   dw = sw[high]+sw[low-1];
   for (j=low+1;  j<=high;  ++j)           // 选择最小的ΔPi值
      if (fabs(dw-sw[j]-sw[j-1]) < min) {
         i = j;  min = (float)fabs(dw-sw[j]-sw[j-1]);
      } 
   if (!(T = (BiTree)malloc(sizeof(BiTNode)))) return ERROR;
   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);  // 构造右子树
   return OK;
} // SecondOptimal

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -