1.Hash 算法的时间复杂度:

O(1)

2.遍历二叉树的时间复杂度:

对含有n个节点的二叉树,遍历算法的时间复杂度为O(n),控件复杂度也为 O(n)

3。常见的排序算法的时间复杂度

名称

 复杂度  说明  备注
 冒泡排序
Bubble Sort

O(N*N)

将待排序的元素看作是竖着排列的“气泡”,较小的元素比较轻,从而要往上浮

 

插入排序

Insertion sort

O(N*N)

逐一取出元素,在已经排序的元素序列中从后向前扫描,放到适当的位置

起初,已经排序的元素序列为空

选择排序

O(N*N)

首先在未排序序列中找到最小元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小元素,然后放到排序序列末尾。以此递归。

 

快速排序

Quick Sort

O(n *log2(n))

先选择中间值,然后把比它小的放在左边,大的放在右边(具体的实现是从两边找,找到一对后交换)。然后对两边分别使用这个过程(递归)。

 

堆排序Heap Sort

O(n *log2(n))

利用堆(heaps)这种数据结构来构造的一种排序算法。堆是一个近似完全二叉树结构,并同时满足堆属性:即子节点的键值或索引总是小于(或者大于)它的父节点。

近似完全二叉树

希尔排序

SHELL

O(n1+)

0<£<1

选择一个步长(Step) ,然后按间隔为步长的单元进行排序.递归,步长逐渐变小,直至为1.

 

箱排序
Bin Sort

O(n)

设置若干个箱子,把关键字等于 k 的记录全都装入到第 k 个箱子里 ( 分配 ) ,然后按序号依次将各非空的箱子首尾连接起来 ( 收集 ) 。

分配排序的一种:通过 " 分配 " 和 " 收集 " 过程来实现排序。

桶排序

Bucket Sort

O(n)

桶排序的思想是把 [0 , 1) 划分为 n 个大小相同的子区间,每一子区间是一个桶。

各种算法的时间复杂度相关推荐

  1. a*算法的时间复杂度_算法基础——时间复杂度amp;空间复杂度

    关注.星标公众号,学点计算机知识. 整理:persistenceBin 今天来跟大家继续分享一下数据结构的基础知识--算法效率的度量:时间复杂度和空间复杂度.首先来跟大家分享一下在电影<复仇者联 ...

  2. a*算法的时间复杂度_从经典算法题看时间复杂度

    本文首发公众号:架构精进​,排版比较清晰. 经常有同学在 LeetCode 的题解中问解法的复杂度是多少.作为一个懒人,我一直在「逃避」这个问题,毕竟这东西听起来就这么「复杂」. 但本着对题解认真负责 ...

  3. 【转】算法中时间复杂度概括——o(1)、o(n)、o(logn)、o(nlogn)

    2019独角兽企业重金招聘Python工程师标准>>> 在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度.这里进行归纳 ...

  4. 常用的排序算法的时间复杂度和空间复杂度

    常用的排序算法的时间复杂度和空间复杂度                                           1.时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出 ...

  5. 【计算理论】计算复杂性 ( 小 O 记号 | 严格渐进上界 | 分析算法的时间复杂度 )

    文章目录 一.小 O 记号 ( 严格渐进上界 ) 二.分析算法的时间复杂度 一.小 O 记号 ( 严格渐进上界 ) 如果 g(n)\rm g(n)g(n) 是 f(n)\rm f(n)f(n) 渐进上 ...

  6. 关于算法的时间复杂度和空间复杂度的总结

    一.算法的概念   算法(Algorithm)是将一组输入转化为一组输出的一系列计算步骤,其中每个步骤必须能在有限时间内完成.算法是用来解决一类计算问题的,注意是一类问题,而不是一个特定的问题. 二. ...

  7. 简单分析算法的时间复杂度

    目录 一.什么是算法的时间复杂度 二.如何分析一个算法的时间复杂度 1.有确定次数的算法 2.次数不确定的算法 一.什么是算法的时间复杂度         时间复杂度是一个函数 ,定性描述一个算法(程 ...

  8. 【算法的时间复杂度和空间复杂度】-算法02

    算法的时间复杂度和空间复杂度 一个算法的好坏我们主要从"时间"和"空间" 两个维度来衡量 时间维度:是指执行当前算法所消耗的时间,我们通常用 "时间复 ...

  9. 《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度

    2.9 算法的时间复杂度 2.9.1 算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级.算法的时间复杂度,也就 ...

  10. vant coupon 时间戳如何计算_计软考研双日练 | 如何计算拓扑排序算法的时间复杂度?...

    ☝☝☝ 软件工程考研独家平台 撰稿 | 康康哥 编辑 | 丽丽姐 本文由懂计算机.软件工程的博士师哥原创 双日练:NO.20200610 若将n个顶点e条弧的有向图采用邻接表存储,则拓扑排序算法的时间 ...

最新文章

  1. 【C010】Python - 基础教程学习(一)
  2. Reveal:分析iOS UI该武器
  3. sql server中对xml进行操作
  4. MySQL子查询操作实例详解
  5. Flex与外部的数据通信
  6. centos7安装redmine3,并升级redmine1.8到3
  7. dairy-20110419-每日总结
  8. 这本关于Node.js的书,是一本神书,助你学会Node.js,为你升职加薪,走上人生巅峰
  9. 多规则策略如何筛选|视频版
  10. python tkinter输入框_python tkinter-按钮.标签.文本框、输入框
  11. python将列表转换成集合_python 将DataFrame转换为List
  12. three.js 制作3D相册
  13. Postman下载教程
  14. VB里怎样使用GetWindowRect、GetClientRect、ScreenToClient、ClientToScreen
  15. 十连跌!这个一线城市的房价到底怎么了?
  16. Sloth演示程序及源代码发布
  17. 全球顶尖科创和商业巨头齐聚,巨杉数据库亮相2021CNBC全球科技大会
  18. zurb是什么网站_Zurb的Tribute库的Vue.js包装器,用于本机@mentions
  19. 游戏陪玩小程序怎么开发-游戏陪玩小程序功能
  20. Java递归子集算法(树状结构)的逻辑和实例代码实现 @杨章隐

热门文章

  1. a = a + 1,a+=1, a++, ++a 区别在哪
  2. 理财通app的设计与实现(三)
  3. 深蓝卡通风人教版小学五年级英语课件PPT模板
  4. C语言strtok()函数:字符串分割
  5. Keil_uvision_4基本使用教程
  6. 加拿大计算机硕士gpa不够,申请加拿大硕士课程有GPA不足的硬伤怎么办?
  7. 华为这次是给所有企业挡了子弹
  8. Java 使用Socket 实现基于DTU的TCP服务器 + 数据解析 + 心跳检测
  9. jupyter notebook把txt文件写成所需格式的txt文件
  10. 怎么把好几行弄成一行_怎么把excel表格里多行变成一行数据|excel表格中让多行内容变成为一行...