设计一个算法,对于给定的二叉排序树中任意结点p,找出p结点中序前驱和中序后继结点。
注:根据关键字序列 a[]={25,18,46,2,53,39,32,4,74,67,60,11} 构建二叉排序树;再进行结点查找;最后输出应包含p结点和中序前驱、中序后继结点。
设计一个算法,对于给定的二叉排序树中任意结点p,找出p结点中序前驱和中序后继结点。
注:根据关键字序列 a[]={25,18,46,2,53,39,32,4,74,67,60,11} 构建二叉排序树;再进行结点查找;最后输出应包含p结点和中序前驱、中序后继结点。
如果没有要求构建二叉排序树,那就很简单,排序树的中序是一个递增数列,直接对原来的数列排序一下查找就是了。
如果要构建,就先构建二叉树,然后将二叉树转成双向链表再查找。具体转换可以就看看https://blog.csdn.net/anonymalias/article/details/9204825