构造二叉排序树_二叉排序树的构造过程_二叉排序树怎么构造(2)

电脑杂谈  发布时间:2017-03-06 02:05:53  来源:网络整理

二叉排序树怎么构造_构造二叉排序树_二叉排序树的构造过程

loc(sizeof(BiTNode)); s->data=e;s->lchild=s->rchild=NULL; if(!p) T=s; else if (LT(e.key,p->data.key) p->lchild=s; else p->rchild=s; return TRUE; } else return FALSE; }//InsertBST 在二叉排序树中删除一个节点的算法:Status DeleteBST(BiTree &T,KeyType key){ if(!T) return FALSE; else{ if EQ(key,T->data.key) Delete(T); else if LT(key,T->data.key) DeleteBST(T->lchild,key); else DeleteBST(T->rchild,key); return TRUE; } } void Delete(BiTree &p){ if(!p->rchild){ q=p; p=p->lchild; free(q); } else if(!p->lchild){ q=p;p=p->rchild; free(q); } else{ //方法一:如图示q=p;s=p->lchild; while(s->rchild){q=s;s=s->rchild}//转左,然后向右到尽头 p->data=s->data; //s 指向被删结点的"前驱" if(q!=p)q->rchild=s->lchild; //重接*q 的右子树 else q->lchild=s->lchild;//重接*q 的左子树(方法一结束) //或可用方法二: //q=s=(*p)->l; //while(s->r) s=s->r; //s->r=(*p)->r; //free(*p); //(*p)=q;} } 请看一个示例源程序。

四、总结 回目录 上一课 下一课第三十二课:哈希表( 第三十二课:哈希表(一)本课主题: 本课主题: 哈希表(一) 教学目的: 教学目的: 掌握哈希表的概念作用及意义,哈希表的构造方法 教学重点: 教学重点: 哈希表的构造方法 教学难点: 教学难点: 哈希表的构造方法 授课内容: 授课内容:一、哈希表的概念及作用 一般的线性表,树中,记录在结构中的相对位置是随机的,即和记录的关键字之 间不存在确定的关系, 因此, 在结构中查找记录时需进行一系列和关键字的比较。 这一类查找方法建立在“比较“的基础上,查找的效率依赖于查找过程中所进行 的比较次数。 理想的情况是能直接找到需要的记录, 因此必须在记录的存储位置和它的关键字 之间建立一个确定的对应关系 f,使每个关键字和结构中一个唯一的存储位置相 对应。 哈希表最常见的例子是以学生学号为关键字的成绩表, 1号学生的记录位置在第 一条,10号学生的记录位置在第10条... 如果我们以学生姓名为关键字,如何建立查找表,使得根据姓名可以直接找到相 应记录呢? abcdefghij k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26刘丽 姓名中各字拼音首字 母刘宏英 吴军吴小 艳 wxy 72李秋梅 陈伟 ...lllhy 46wj 33lqm 42cw 26... ...用所有首字母编号值 24 相加求和 最小值可能为 3 最大值可能为 78 可放 75 个学生 用上述得到的数值作为对应记录在表中的位置,得到下表: 成绩一 成绩二... 3 ...... ... 24 25 26 刘丽 ... 陈伟 82 95... ... 33 吴军... ... 42 李秋梅... ... 46 刘宏英... ... 72 吴小艳... ... 78 ...上面这张表即哈希表。 如果将来要查李秋梅的成绩,可以用上述方法求出该记录


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-36021-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...