博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
01. 算法介绍与列表查询
阅读量:5033 次
发布时间:2019-06-12

本文共 958 字,大约阅读时间需要 3 分钟。

作为自学的总结,本部分包括基本的算法介绍和***(以后补)

Part one.

* 算法的基本概念

 一个计算过程,解决问题的方法

* 相关复习

 递归:自己调用自己,并且有结束条件

* 两个基本属性

 时间复杂度:用来评估算法运行效率的一个东西(所用时间)

       类比生活中的一些事情,比如:眨眼——一瞬间、口算题——几秒、烧水——几分钟

       自己总结来说就是不同数量级的时间计量单位。

print('Hello World!')            #O(1)          注意:此种形式即使多行,时间复杂度不变for i in range(n):                #O(n)          循环n次    print('Hello World!')    for i in range(n):                #O(n*n)       循环n*n次    for j in range(n):        print('Hello World!')for i in range(n):                #O(n*n*n)    循环n*n*n次    for j in range(n):        for k in range(n):            print('Hello World!')

       note:数量级意味着在上述过程中,不受一行/几行的影响

       * 时间复杂度时用来估计算法运行时间的一个式子

       * 一般来说,时间复杂度高的算法比复杂度低的算法慢

       * 常见的时间复杂度(按效率排序)

        O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n2logn) < O(n3)

       * 如何一眼判断时间复杂度

        循环减半的过程-> O(logn)

        几次循环就是n的几次方的复杂度

 空间复杂度:用来评估算法内存占用大小的一个式子(所占空间)

       “空间换时间”

转载于:https://www.cnblogs.com/april-aaa/p/9090285.html

你可能感兴趣的文章
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
网站访问者UA检测及跳转
查看>>
eclipse中集成maven
查看>>
word2010中如何去掉标题前面的小黑点
查看>>
极客前端部分题目收集【索引】
查看>>
第四天 selenium的安装及使用
查看>>
关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)...
查看>>
KMPnext数组循环节理解 HDU1358
查看>>
5、散列表
查看>>
团队作业---软件制作10
查看>>
你拥有的最宝贵的财富是什么?(通向财富自由学习笔记三)
查看>>
tomcat 启动正常访问却是 404
查看>>
android调试debug快捷键
查看>>
【读书笔记】《HTTP权威指南》:Web Hosting
查看>>
Inoodb 存储引擎
查看>>
数据结构之查找算法总结笔记
查看>>