太谷教育信息网资讯考研内容页

计算机考研:数据结构常用算法分析(八)

2023-02-25 22:48:24考研204

今天考研方面的内容由太谷教育信息网小编为大家分享:

计算机考研:数据结构常用算法精析(8)

  

  数据结构是计算机考研408计算机学科专业基础综合的重要组成部分,考生需要认真复习,尤其是对于数据结构中一些常用的算法问题,考生一定要弄懂弄会,理解的去掌握。小编下面一一为大家分析一下,帮助考生更好地去掌握。

  第九章 查找

  查找分成静态查找和动态查找,静态查找只是找,返回查找位置。而动态查找则不同,若查找成功,返回位置,若查找不成功,则要返回新记录的插入位置。也就是说,静态查找不改变查找表,而动态查找则会有插入操作,会改变查找表的。

  不同的查找所采用的存储结构也不同,静态查找采用顺序表,而动态查找由于经常变动,所以用二叉排序树,二叉平衡树、B-和B+。

  静态查找有,顺序查找,折半查找,分块查找(索引顺序查找)

  顺序查找(Sequential Search)是最简单的一种查找方法。

  算法思路

  设给定值为k,在表(R1R2……Rn)中,从Rn即最后一个元素开始,查找key=k的记录。若存在一个记录Ri(l≤i≤n)的key为k,则查找成功,返回记录序号i;否则,查找失败,返回0。

  算法描述

  int sqsearch(sqlist r,keytype k) //对表r顺序查找的算法//

  { int i;

  r.data[0].key=k; //k存入监视哨//

  i=r.len; //取表长//

  while(r.data[i].key!=k)

  i–; //顺序查找//

  return(i);

  }

  算法用了一点技巧:先将k存入监视哨,若对某个i(≠0)有r.data[i].key=k,则查找成功,返回i;若i从n递减到1都无记录的key为k,i再减1为0时,必有r.data[0].key=k,说明查找失败,返回i=0。

  平均查找成功长度ASL= ,而查找失败时,查找次数等于n+l。

  折半查找算法及分析

  当记录的key按关系≤或≥有序时,不管是递增的还是递减的,只要有序且采用顺序存储。

计算机考研:数据结构常用算法精析(8)

太谷教育信息网(Sxtgedu.net)专注教育信息,涵盖范文,研究生,考研,本科大学,MBA,高考,成人自考,艺考,中专,技校,职业学校,高职,卫校录取分数,成绩查询,招生简章等信息

再来一篇
上一篇:2014考研计算机复习:缺少真题,心态好
猜你喜欢