zoukankan      html  css  js  c++  java
  • 算法设计分析作业(两种检索方法(遍历检索+二分检索))

    1. 问题

    写出两种检索算法:在一个排好序的数组T[1..n]中查找x,如果x在T中,输出x在T的下标j;如果x不在T中,输出j=0.按实验模板编写,“分析”部分仅给出复杂度结果即可。

    2. 解析

    常规检索算法:因为数组T已经排好序了,因此通过遍历,当T[i] > x时,仍然没有找到T[k] == x(k < i),说明T数组中不存在,T[i] == x

    二分检索算法:因为数组T的有序性,且已知X的值,我们可以不断二分从而缩小T[i] == x可以存在的区间。

    3. 设计

    4. 分析

    常规检索时间复杂度:O(n)

    二分检索实践复杂度:O(logn)

    5. 源码

    https://github.com/BambooCertain/Algorithm.git

  • 相关阅读:
    (QR14)带权的DAG节点排序
    数字组合
    最长连续不重复子序列
    树状数组
    归并排序
    差分
    前缀和
    64位整数乘法
    MySQL8 常用指令
    离线及实时实操架构
  • 原文地址:https://www.cnblogs.com/DreamACMer/p/12500157.html
Copyright © 2011-2022 走看看