在查找成功的情况下,若待查找的数据元素恰好是数组的第一个元素,则只需比较一次即可找到,这就是最好情况,T(n)=O(1),称最好时间复杂度。

若是最后一个元素,则要比较n次才能找到。T(n)=O(n),称最坏时间复杂度。

在查找不成功的情况下,无论何时进行不成功的查找都需要进行n次比较,T(n)=O(n)。

成功查找是的平均次数:(n+1)/2,T(n)=O(n)。 称平均时间复杂度。一般取最坏或平均时间复杂度。

public static int rSearch(int a[], int x) {int n = a.length;            for (int i = 0; i<n&&i!=a[i];i++) {if ( i==n)return -1;else  return i; }   return 0;       }

冒泡排序对数组a中的n个整数数据元素进行排序。

                    public class 时间复杂度2 {public static void Bubble_sort(int[] a, int n) {    int temp, flag = 1;    for (int i = 1; i < n && i < flag; i++) {  flag = 0;              for (int j = 0; j < n - i; j++) {     if (a[j] > a[j + 1]) {      flag = 1;          temp = a[j];       a[j] = a[j + 1];              a[j + 1] = temp;      }       }   }}}

此算法正序最好,逆序最坏T(n)= n(n-1)/2+2n(n-1) = O(n*n)

  n个数据元素的a数组中删除第i个元素
public class 时间复杂度3 {
public static int delete(int a[],int n,int i) { int j;  if(i<1||i>n) return 0;        for(j=i;j<n;j++)          a[j-1]=a[j];           return 1;   }}

最坏n-1,最好0,所以求平均T(n)=(n-1)

       常数阶O(1),对数阶O(log2n)(以2为底n的对数,下同),线性阶O(n),线性对数阶O(nlog2n),平方阶O(n^2),立方O(n^3),...,k次方阶O(n^k),指数阶O(2^n)。随着问题规模n的不断增大,上述时间复杂度不断增大,算法的执行效率越低。

有错误之处,请各位大佬多多指教。

最好,最坏和平均时间复杂度相关推荐

  1. 常见排序算法的最好、最坏、平均时间复杂度以及空间复杂度

    文章目录 思考 前言 如何分析一个排序算法? 排序算法的执行效率 排序算法的内存消耗 排序算法的稳定性 如何选择合适的排序算法? 如何优化快速排序? 解答思考题 参考链接 思考 为什么插入排序比冒泡排 ...

  2. 常见排序算法的最好、最坏、平均时间复杂度、稳定性、是否基于比较

    先看表格 分类 算法 时间复杂度 空间复杂度       稳定性           关联性        最好          最差        平均       插入排序        直接插 ...

  3. 算法复杂度分析(下):最好、最坏、平均、均摊等时间复杂度概述

    细化时间复杂度分析 代码千千万,有些代码逻辑会很复杂,所以为了更细化的分析算法的复杂度,再复杂度分析方面引入了4个知识点: 1.最好情况时间复杂度(best case time complexity) ...

  4. 【数据结构与算法-java实现】二 复杂度分析(下):最好、最坏、平均、均摊时间复杂度的概念

    上一篇文章学习了:如何分析.统计算法的执行效率和资源消耗? 点击链接查看上一篇文章:复杂度分析上 今天的文章学习以下内容: 最好情况时间复杂度 最坏情况时间复杂度 平均情况时间复杂度 均摊时间复杂度 ...

  5. 详细分析冒泡排序、选择排序、插入排序(最好/最坏/平均时间复杂度(有序度)、稳定性、内存消耗(原地排序))

    如何分析排序算法 最好.最坏.平均时间复杂度 算法的时间复杂度,会随着排序集合的有序性而改变.我们需要分析不同算法在不同数据下的表现 最好时间复杂度:在完全有序的情况下的时间复杂度(满有序度) 最坏时 ...

  6. 3.最好、最坏、平均、均摊时间复杂度

    关注公众号 MageByte,设置星标点「在看」是我们创造好文的动力.后台回复 "加群" 进入技术交流群获更多技术成长. 本文来自 MageByte-青叶编写 上次我们说过 时间复 ...

  7. 3L-最好、最坏、平均、均摊时间复杂度

    关注公众号 MageByte,设置星标点「在看」是我们创造好文的动力.后台回复 "加群" 进入技术交流群获更多技术成长. 本文来自 MageByte-青叶编写 上次我们说过 时间复 ...

  8. 浅析最好、最坏、平均、均摊时间复杂度

    浅析最好.最坏.平均.均摊时间复杂度 下面讲解四个复杂度分析方面的知识点,最好情况时间复杂度(best case time complexity).最坏情况时间复杂度(worst case time ...

  9. 04 | 复杂度分析(下):浅析最好、最坏、平均、均摊时间复杂度

    // n表示数组array的长度 int find(int[] array, int n, int x) {int i = 0;int pos = -1;for (; i < n; ++i) { ...

最新文章

  1. tomcat配置manager
  2. mysqldump备份数据库
  3. .ini文件的读写操作
  4. koa2+vue实现登陆以及是否登陆控制
  5. OpenCV imwrite
  6. 今晚直播:WLS/WAS故障基本分析介绍
  7. python unique函数_《Python编程从入门到实践》json数据可视化练习详解
  8. 用Python2编译Python3.X的代码: __future__ 模块
  9. 《3D数学基础:图形与游戏开发 》
  10. 100个最常用的PHP函数(建议收藏)
  11. Python爬取并分析IMDB电影
  12. laravel Excel 3.1 列宽设置不起作用
  13. 项目经验不丰富、技术不突出的程序员怎么打动面试官?
  14. 打开outlook显示服务器内存不足,outlook无法启动,总说计算机内存不足或磁盘已满,是怎么回事?...
  15. java必背综合知识点总结(基础篇)
  16. 支付宝小程序支付(统一收单交易创建接口)
  17. Office 2010 中受保护的视图
  18. 微信小程序WebView嵌入别人网页的解决办法
  19. 2021-5-11【头歌】【歌手评分系统】
  20. git fork代码保持与原代码同步

热门文章

  1. matlab水声定位,基于水平投影的ROV水下GPS精确定位算法
  2. 通信电源专业技术交流
  3. 【智能商业】传统企业该如何拥抱AI?德勤说野心别太大,分四步实施
  4. 数码管驱动芯片+语音芯片的应用场景介绍,WT588E02B-24SS
  5. AD20原理图转pcb失败
  6. Origin C访问数据库(MySQL)
  7. 《论语》全译——雍也篇第六
  8. LaTex 之 百分号 \% 和 下划线 \_
  9. 软考中级和高级选哪个比较好?
  10. 【Linux】Ubuntu云服务器配置MySQL