算法的时间复杂度示例
本文是学习数据结构的笔记。
【效果图】
【代码】
# example.py# 算法时间复杂度示例def func_01(n):''' 时间复杂度O(Log(Log(N))) '''import mathi = ncount = 0while i > 1: i = round(math.sqrt(i)) # 注意:sqrt(i)!count += 1return countprint('时间复杂度O(Log(Log(N))),N=2000000000000000000,循环{}次'.format(func_01(2000000000000000000)))def func_02(n):''' 时间复杂度O(Log(N)) '''i = ncount = 0while i >= 1: i = i // 2 # 注意:// 2!count += 1return countprint('时间复杂度O(Log(N)),N=100000000,循环{}次'.format(func_02(100000000)))def func_03(n):''' 时间复杂度O((Log(N))^2) '''i = 1count = 0while i <= n: j = nwhile j > 0:j = j // 2 # 注意:// 2!count += 1i = i * 2 # 注意:* 2!return countprint('时间复杂度O((Log(N))^2),N=100000000,循环{}次'.format(func_03(100000000)))def func_04_01(n):''' 时间复杂度O(Sqrt(N)) '''i = s = 1count = 0while s < n:i = i + 1s = s + icount += 1return countprint('时间复杂度O(Sqrt(N)),N=10000,循环{}次'.format(func_04_01(10000)))def func_04_02(n):''' 时间复杂度O(Sqrt(N)) '''i = 1count = 0while i * i < n:count = count + 1i = i + 1return countprint('时间复杂度O(Sqrt(N)),N=10000,循环{}次'.format(func_04_02(10000)))def func_05(n):''' 时间复杂度O(N) '''count = 0for i in range(1, n): count += 1return countprint('时间复杂度O(N),N=100,循环{}次'.format(func_05(100)))def func_06_01(n):''' 时间复杂度O(N*Log(N)) '''count = 0for i in range(1, n): j = 1while j <= n:j = j * 2 # 注意:* 2!count += 1return countprint('时间复杂度O(N*Log(N)),N=1000,循环{}次'.format(func_06_01(1000)))def func_06_02(n):''' 时间复杂度O(N*Log(N)) '''count = 0for i in range(1, n):j = 1while j < n:j = j + i # 注意: + i!count = count + 1return countprint('时间复杂度O(N*Log(N)),N=1000,循环{}次'.format(func_06_02(1000)))def func_06_03(n):''' 时间复杂度O(N*Log(N)) '''count = 0for i in range(1, n // 3): # 注意:// 3!j = 1while j <= n:j = j + 4 # 注意:+ 4!count = count + 1return countprint('时间复杂度O(N*Log(N)),N=1000,循环{}次'.format(func_06_03(1000)))def func_07(n):''' 时间复杂度O(N*(Log(N))^2) '''count = 0for i in range(1, n):j = 1while j <= n:k = 1while k <= n:count += 1k = k * 2 # 注意:* 2!j = j * 2 # 注意:* 2!return countprint('时间复杂度O((N*Log(N))^2),N=100,循环{}次'.format(func_07(100)))def func_08(n):''' 时间复杂度O(N^2) '''count = 0for i in range(n):for j in range(n):count += 1return countprint('时间复杂度O((N^2),N=100,循环{}次'.format(func_08(100)))def func_09(n):''' 时间复杂度O(N^3) '''count = 0for i in range(n):for j in range(n):for k in range(n):count += 1return countprint('时间复杂度O((N^3),N=50,循环{}次'.format(func_09(50)))
算法的时间复杂度示例相关推荐
- a*算法的时间复杂度_算法基础——时间复杂度amp;空间复杂度
关注.星标公众号,学点计算机知识. 整理:persistenceBin 今天来跟大家继续分享一下数据结构的基础知识--算法效率的度量:时间复杂度和空间复杂度.首先来跟大家分享一下在电影<复仇者联 ...
- 常用的排序算法的时间复杂度和空间复杂度
常用的排序算法的时间复杂度和空间复杂度 1.时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出 ...
- a*算法的时间复杂度_算法的时间和空间复杂度,就是这么简单
算法(Algorithm) 算法是程序用来操作数据.解决程序问题的一组方法.对于同一个问题,使用不同的算法,也许最终得到的结果是一样的,但在过程中消耗的资源和时间却会有很大的区别. 那么我们应该如何去 ...
- Python数据结构与算法(一)--算法和时间复杂度
最近下班一直在学习和总结Python,最近在整理数据结构和算法这方面的知识,虽然大学的时候也学过数据结构(c语言版本),但是工作这几年一直在做前端所以,这方面的知识也忘了差不多,所以就想整理一下,方便 ...
- 如何找到算法的时间复杂度
本文翻译自:How to find time complexity of an algorithm The Question 问题 How to find time complexity of an ...
- 算法的时间复杂度与空间复杂度介绍
本文主要介绍算法的时间复杂度和空间复杂度的相关知识. 1 概述 算法(Algorithm)是指用来操作数据.解决程序问题的方法. 对于同一个问题,使用不同的算法,也许最终得到的结果是相同的,但在执行该 ...
- 算法的时间复杂度和空间复杂度总结
文章目录 前言 算法的时间复杂度和空间复杂度 1.定义 2.计算方法 3.示例 总结 一.什么是时间复杂度? 算法时间复杂度定义: 在进行算法分析时,语句总的执行次数T(n)是关于问题规模n的函数,进 ...
- 阿英讲算法的时间复杂度
首先了解一下几个概念.一个是时间复杂度,一个是渐近时间复杂度.前者是某个算法的时间耗费,它是该算法所求解问题规模n的函数,而后者是指当问题规模趋向无穷大时,该算法时间复杂度的数量级. 当我们评价一个算 ...
- 算法的时间复杂度和空间复杂度评估
通常,对于一个给定的算法,我们要做 两项分析.第一是从数学上证明算法的正确性,这一步主要用到形式化证明的方法及相关推理模式,如循环不变式.数学归纳法等.而在证明算法是正确的基础上,第二部就是分析算法的 ...
最新文章
- Python底层实现KNN
- 图解Hadoop hdfs 管理元数据的机制
- [PHP 安全] pcc —— PHP 安全配置检测工具
- 智齿客服Android集成流程,一种基于编程语言接入智齿客服的方法以及电子设备与流程...
- CompletableFuture详解~supplyAsync
- GHOST系统锁定主页常用软件及解决方案
- 利用DataSnap的回调功能在客户端显示服务器方法的执行进度
- 蓝桥杯 ALGO-102 算法训练 数对
- MongoDB vs MySQL,哪个效率更高?
- Matlab 2016a 安装及破解方法
- python opencv显示高分辨率图片时,如何改变窗口的大小
- hadoop学习笔记之-NFS配置
- MonthCalendar 的使用
- Numpy报错解决办法
- 电脑上xml文件怎么打开,xml文件如何在电脑上打开
- 教你快速随意重命名多个文件夹名称
- 存储管理——段式存储管理
- API网关,网关平台API流量统一入口
- docfx 做一个和微软一样的文档平台
- 教你免费申请5T的微软OneDrive云盘