zoukankan      html  css  js  c++  java
  • 查找

    顺序查找同叫线性查找

    有序查找包括:折半查找法、插值查找(按比例查找)、斐波那契查找(黄金分割法查找)
    无序查找:二叉排序树

    顺序查找

    原理是让关键字与队列中的数从最后一个开始逐个比较,直到找出与给定关键字相同的数为止,它的缺点是效率低下。

    • 必须是顺序

    • 要进行顺序查找,则线性表既可以以顺序方式存储,也可以链式方式存储;

    • 若表中元素个数为n,则顺序查找的平均比较次数为(n+1)/2

      二分查找 (别称:折半查找)

    • 必须以顺序存储结构

    • 必须按关键字大小有序排序

    • 表必须有序,且表只能以顺序方式存储

    • 对线性表进行二分查找时,要求线性表必须以链接方式存储,且数据元素有序.换一句话说,适用于折半查找的表的存储方式及元素排列要求为顺序方式存储,元素有序。

    • 要进行折半查询,则线性表必须以顺序方式存储,且数据已按递增或递减顺序排好;

    • 若表中元素个数为n,折半查找的平均比较次数为log2(n+1)

    • 折半查找的时间复杂性为O(logn)

      分块查找 (别称:索引顺序查找)

    分块查找是折半查找和顺序查找的一种改进方法

    • 只要求索引表是有序的,对块内节点没有排序要求,因此特别适合于节点动态变化的情况。

    • 数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块。

    • 当采用分快查找时,数据的组织方式为数据分成若干块,每块内数据不必有序,但块间必须有序,每块内最大(或最小)的数据组成索引块

  • 相关阅读:
    挑战编程 uva100 3n+1
    《算法问题实战策略》 BOGGLE
    图论 最短路专辑
    acwing 76. 和为S的连续正数序列
    leetcode 19 删除链表的倒数第N个节点
    水文一篇 汇报下最*的学**况
    acwing 81. 扑克牌的顺子
    Solr基础理论与维护管理快速上手(含查询参数说明)
    Solr基础理论与维护管理快速上手(含查询参数说明)
    利用SolrJ操作solr API完成index操作
  • 原文地址:https://www.cnblogs.com/fly-me/p/cha-zhao.html
Copyright © 2011-2022 走看看