美文网首页
静态查找表&动态查找表

静态查找表&动态查找表

作者: nipeiqing | 来源:发表于2019-07-30 20:08 被阅读0次

静态查找表:只查找,不改变集合内的数据元素。

一、顺序查找( Linear search,又称线性查找 )用逐一比较的办法顺序查找关键字。

1、顺序查找时间复杂度:O(n)

2、顺序查找平均查找长度 ASL=(n+1)/2

顺序查找

二、折半查找前提是顺序存储,记录有序。

思想:与记录中间值比较,如果比中间值小去左边查,否则去右边查找,直到找到为止,区域内没记录时查找失败。

1、折半查找时间复杂度:O(\log_2 n )

2、折半查找平均查找长度  ASL=\log_2 n

折半查找

动态查找表:既查找,又改变(增减)集合内的数据元素。

二叉排序树满足下列性质

1)若左子树不为空,则左子树上的所有结点的值(关键字)都小于根节点的值;

2)若右子树不为空,则右子树上的所有结点的值(关键字)都大于根节点的值;

3)左、右子树都分别为二叉排序树。

二叉排序树的查找思想

1)首先将给定的K值与二叉排序树的根节点的关键字进行比较:若相等,则查找成功;

2)若给定的K值小于二叉排序树的根节点的关键字:继续在该节点的左子树上进行查找;

3)若给定的K值大于二叉排序树的根节点的关键字:继续在该节点的右子树上进行查找。

二叉排序树总结

1)查找过程与顺序结构有序表中的折半查找相似,查找效率高;

2)中序遍历此二叉树,将会得到一个关键字的有序序列(即实现了排序运算);

3)如果查找不成功,能够方便地将被查元素插入到二叉树的叶子结点上,而且插入或删除时只需修改指针而不需移动元素。

相关文章

  • 据结构与算法学习-查找与二叉排序树

    查找表操作方式分为静态查找和动态查找。静态查找表(Static Search Table): 只作查找操作的查找表...

  • 6.1 查找算法_基础

    1. 查找基本概念 查找:只有两种情况,查找成功,查找失败 查找表:查找的数据集合称为查找表 静态查找表 / 动态...

  • 查找

    静态查找表:只作查找操作的查找表 动态查找表:在查找过程中同时插入查找表中不存在的数据元素,或者从查找表中删除已经...

  • 查找算法总结及其算法实现(Python/Java)

    -----正文开始----- 预备知识 查找算法分类 1)静态查找和动态查找; 注:静态或者动态都是针对查找表而言...

  • 静态查找表&动态查找表

    静态查找表:只查找,不改变集合内的数据元素。 一、顺序查找( Linear search,又称线性查找 )用逐一比...

  • 2018-03-30 算法 :查找简介

    世界上没有最好的算法,只有最合适的算法 查找算法:静态查找,动态查找 静态查找(一般使用线性表)的分类: 顺序查找...

  • 第9章 查找

    9.1 静态查找表 查找操作的性能分析平均查找长度(Average Search Length)。其中为查找表中第...

  • 数据结构与算法学习 (16)查找与二叉排序树

    查找:根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。1)静态查找和动态查找;注:静态...

  • 六、查找

    六、查找 1. 静态查找表 静态查找表在查找过程中不改变表中数据——不插不删,故采用顺序存储结构。它适用于数据不变...

  • 查找技术

    静态表查找 只做查找操作的查找表应用线性表结构来组织数据,用顺序查找算法。如果对主关键字排序,可以折半查找等高效查...

网友评论

      本文标题:静态查找表&动态查找表

      本文链接:https://www.haomeiwen.com/subject/gtsorctx.html