假设K1,…,K是n个关键词,试解答: 试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K,,如,…,K时,用算法建立一棵以LLINK—RLlNK链接表示的二叉查找树。

admin2019-08-15  17

问题 假设K1,…,K是n个关键词,试解答:
试用二叉查找树的插入算法建立一棵二叉查找树,即当关键词的插入次序为K,,如,…,K时,用算法建立一棵以LLINK—RLlNK链接表示的二叉查找树。

选项

答案非递归建立二叉排序树,在二叉排序树上插入的结点都是叶子结点。 typedef struct node{ Elemtype data; struct node * LLINK,*RLINK: }node *BiTree: void Create_BST(BiTree bst,datatype K[],int n){ //以存储在数组K中的n个关键字,建立一棵初始为空的二叉排序树 int i; BiTree p,f; for(i=1;i<=n;i++){ P=bst;f=null; //在调用Create_BST时,bst=null while(P!=null) if(P一>data<K[i]){f=P;P=p一>RLINK;} //f是p的双亲 else if(p一>data>K[i]){f=p;p=p一>LLINK;} S=(BiTree)malloc(sizeof(BiNode));//申请结点空间 s一>data=K[i];s->LLINK=null;s一>RLINK=null: if(f==null)bst=S; //根结点 else if(s一>data<f->data)f->LLINK=S; //左子女 else f一>RLINK=S; //右子树根结点的值大于等于根结点的值 } }

解析
转载请注明原文地址:https://kaotiyun.com/show/m0Ci777K
0

相关试题推荐
最新回复(0)