各种算法的时间复杂度
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. |
|
箱排序 |
O(n) |
设置若干个箱子,把关键字等于 k 的记录全都装入到第 k 个箱子里 ( 分配 ) ,然后按序号依次将各非空的箱子首尾连接起来 ( 收集 ) 。 |
分配排序的一种:通过 " 分配 " 和 " 收集 " 过程来实现排序。 |
桶排序 Bucket Sort |
O(n) |
桶排序的思想是把 [0 , 1) 划分为 n 个大小相同的子区间,每一子区间是一个桶。 |
各种算法的时间复杂度相关推荐
- a*算法的时间复杂度_算法基础——时间复杂度amp;空间复杂度
关注.星标公众号,学点计算机知识. 整理:persistenceBin 今天来跟大家继续分享一下数据结构的基础知识--算法效率的度量:时间复杂度和空间复杂度.首先来跟大家分享一下在电影<复仇者联 ...
- a*算法的时间复杂度_从经典算法题看时间复杂度
本文首发公众号:架构精进,排版比较清晰. 经常有同学在 LeetCode 的题解中问解法的复杂度是多少.作为一个懒人,我一直在「逃避」这个问题,毕竟这东西听起来就这么「复杂」. 但本着对题解认真负责 ...
- 【转】算法中时间复杂度概括——o(1)、o(n)、o(logn)、o(nlogn)
2019独角兽企业重金招聘Python工程师标准>>> 在描述算法复杂度时,经常用到o(1), o(n), o(logn), o(nlogn)来表示对应算法的时间复杂度.这里进行归纳 ...
- 常用的排序算法的时间复杂度和空间复杂度
常用的排序算法的时间复杂度和空间复杂度 1.时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出 ...
- 【计算理论】计算复杂性 ( 小 O 记号 | 严格渐进上界 | 分析算法的时间复杂度 )
文章目录 一.小 O 记号 ( 严格渐进上界 ) 二.分析算法的时间复杂度 一.小 O 记号 ( 严格渐进上界 ) 如果 g(n)\rm g(n)g(n) 是 f(n)\rm f(n)f(n) 渐进上 ...
- 关于算法的时间复杂度和空间复杂度的总结
一.算法的概念 算法(Algorithm)是将一组输入转化为一组输出的一系列计算步骤,其中每个步骤必须能在有限时间内完成.算法是用来解决一类计算问题的,注意是一类问题,而不是一个特定的问题. 二. ...
- 简单分析算法的时间复杂度
目录 一.什么是算法的时间复杂度 二.如何分析一个算法的时间复杂度 1.有确定次数的算法 2.次数不确定的算法 一.什么是算法的时间复杂度 时间复杂度是一个函数 ,定性描述一个算法(程 ...
- 【算法的时间复杂度和空间复杂度】-算法02
算法的时间复杂度和空间复杂度 一个算法的好坏我们主要从"时间"和"空间" 两个维度来衡量 时间维度:是指执行当前算法所消耗的时间,我们通常用 "时间复 ...
- 《大话数据结构》第2章 算法基础 2.9 算法的时间复杂度
2.9 算法的时间复杂度 2.9.1 算法时间复杂度定义 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进而分析T(n)随n的变化情况并确定T(n)的数量级.算法的时间复杂度,也就 ...
- vant coupon 时间戳如何计算_计软考研双日练 | 如何计算拓扑排序算法的时间复杂度?...
☝☝☝ 软件工程考研独家平台 撰稿 | 康康哥 编辑 | 丽丽姐 本文由懂计算机.软件工程的博士师哥原创 双日练:NO.20200610 若将n个顶点e条弧的有向图采用邻接表存储,则拓扑排序算法的时间 ...
最新文章
- 【C010】Python - 基础教程学习(一)
- Reveal:分析iOS UI该武器
- sql server中对xml进行操作
- MySQL子查询操作实例详解
- Flex与外部的数据通信
- centos7安装redmine3,并升级redmine1.8到3
- dairy-20110419-每日总结
- 这本关于Node.js的书,是一本神书,助你学会Node.js,为你升职加薪,走上人生巅峰
- 多规则策略如何筛选|视频版
- python tkinter输入框_python tkinter-按钮.标签.文本框、输入框
- python将列表转换成集合_python 将DataFrame转换为List
- three.js 制作3D相册
- Postman下载教程
- VB里怎样使用GetWindowRect、GetClientRect、ScreenToClient、ClientToScreen
- 十连跌!这个一线城市的房价到底怎么了?
- Sloth演示程序及源代码发布
- 全球顶尖科创和商业巨头齐聚,巨杉数据库亮相2021CNBC全球科技大会
- zurb是什么网站_Zurb的Tribute库的Vue.js包装器,用于本机@mentions
- 游戏陪玩小程序怎么开发-游戏陪玩小程序功能
- Java递归子集算法(树状结构)的逻辑和实例代码实现 @杨章隐
热门文章
- a = a + 1,a+=1, a++, ++a 区别在哪
- 理财通app的设计与实现(三)
- 深蓝卡通风人教版小学五年级英语课件PPT模板
- C语言strtok()函数:字符串分割
- Keil_uvision_4基本使用教程
- 加拿大计算机硕士gpa不够,申请加拿大硕士课程有GPA不足的硬伤怎么办?
- 华为这次是给所有企业挡了子弹
- Java 使用Socket 实现基于DTU的TCP服务器 + 数据解析 + 心跳检测
- jupyter notebook把txt文件写成所需格式的txt文件
- 怎么把好几行弄成一行_怎么把excel表格里多行变成一行数据|excel表格中让多行内容变成为一行...