二叉排序树中结点各不相同,预得到一个由大到小的结点值递减序列,采取什 ...
发布网友
发布时间:2024-04-22 07:24
我来回答
共2个回答
热心网友
时间:2024-06-15 11:36
如果你的排序树是升序二叉树(通常都是升序二叉树),则可以采用逆中序遍历的方法进行遍历,即右根左的遍历顺序。如果你的排序二叉树本就是降序排序树,则直接中序遍历即可。
设二叉树结点结构为Node(*lchild, key, *rchild)。visit(Node *node)为访问结点函数。
对于升序二叉树。
void ObInOrder(Node *root) {
if(root == NULL) return;
ObInOrder(root->rchild);
visit(root);
ObInOrder(root->lchild);
}
对于降序二叉树。
void InOrder(Node *root) {
if(root == NULL) return;
InOrder(root->lchild);
visit(root);
InOrder(root->rchild);
}
热心网友
时间:2024-06-15 11:29
从大到小采用逆中序遍历
从小到大采用中序遍历