树、图、排序查找重要算法(960算法)
设计求T的WPL的算法: (1) .给出二叉树结点的数据类型定义; (2) .给出C语言描述算法; 1 typedef struct node { int weight; struct node *left,*right; //指向结点左右子女的指针 }BiNode,*BiTree; 2 int WPL=0; void inorder(BiTree bt,level lv) //bt是二叉树,lv是结点的层次,初值为1 { if(bt) {inorder (bt->left,lv+1); //中序遍历左子树 if(bt->left==null &&bt->right==null) //判断该结点是否为叶子 WPL+=(lv-1)*bt->weight; //累加结点带权路径长度 inorder(bt->right,lv+1); } } NLR void PreOrder(BiTree T){ if(T!=NULL){ visit(T); //访问根结点 PreOrder(T->lchild); //递归遍历左子树 preOrder(T->rchild); } } LNR void InOrder(BiTree T){ if(T!=NULL){ InOrder(T->lchild); visit(T); InOrder(T->rchild); } } LRN void