摘要: 三种查找算法:顺序查找,二分法查找(折半查找),分块查找,散列表(以后谈)一、顺序查找的基本思想:从表的一端开始,顺序扫描表,依次将扫描到的结点关键字和给定值(假定为a)相比较,若当前结点关键字与a相等,则查找成功;若扫描结束后,仍未找到关键字等于a的结点,则查找失败。说白了就是,从头到尾,一个一个地比,找着相同的就成功,找不到就失败。很明显的缺点就是查找效率低。适用于线性表的顺序存储结构和链式存储结构。计算平均查找长度。例如上表,查找1,需要1次,查找2需要2次,依次往下推,可知查找16需要16次,可以看出,我们只要将这些查找次数求和(我们初中学的,上底加下底乘以高除以2),然后除以结点数, 阅读全文
posted @ 2012-10-14 21:17 曾先森在努力 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 8种排序之间的关系: 1,直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。(2)实例①直接插入排序例:六个数12 15 9 20 6 31 24 用直接插入排序,如下图:思路:第一步:从给出的六个数中,随便拿出一个数,比如12,形成一个有序的数据序列(一个数当然是有序的数据序列了,不看12之外的数,就当其他的数不存在);第二步:从剩下的五个数中挑出一个数来,比如15,和刚才的12作比较,12<15,因此,放在12后面,形成数据序列1 阅读全文
posted @ 2012-10-14 21:10 曾先森在努力 阅读(592) 评论(0) 推荐(0) 编辑