二.算法描述与分析
来源:互联网 发布:网购选哪软件好 编辑:程序博客网 时间:2024/06/06 10:54
一.算法
定义:通常把基于存储结构得运算实现的步骤或过程称为算法。
五个特性:(1)有穷性;
(2)确定性;
(3)可行性;
(4)有输入;
(5)有输出;
好算法应具备:(1)正确性;
(2)可读性;
(3)健壮性;
(4)通用性;
(5)效率与存储量需求;
二.算法描述
输入→算法→输出
返回值 算法对应的函数名(形参列表)
{ //临时变量的定义
//实现由输入参数的操作
......
}
返回值:通常为bool类型,表示算法是否成功执行。
形参列表:由输入型参数和输出型参数构成。
三.算法分析基础
1.算法时间复杂度分析
①分析算法的执行时间
Ⅰ.求出算法所有原操作的执行次数(也称为频度),它是问题规模n的函数,用T(n)表示。
Ⅱ.算法执行时间大致=原操作所需的时间×T(n)。
Ⅲ.比较不同算法的T(n)大小得出算法执行时间的好坏。
②算法的执行时间用时间复杂度来表示
T(n)=O(f(n))
时间复杂度比较关系:O(1)<O(log2n)<O(n)<O(nlog2n)<O(n²)<O(n³)<O(2^n)<O(n!)
2.算法空间复杂度分析
时间复杂度:用于量度一个算法在运行过程中临时占用的存储空间的大小。
S(n)=O(g(n))
3.其他情况的算法分析
①最好、最坏和平均时间复杂度分析
定义:设一个算法的输入规模为n,Dn是所有输入的集合,任一输入I∈Dn,P(I)是I出现的概率,有ΣP(I)×T(I) (I∈Dn)
算法的最坏时间复杂度为:W(n)=MAX{T(I)}
算法的最好时间复杂度为:B(n)=MIN{T(I)}
- 二.算法描述与分析
- 《数据结构与算法分析java语言描述》学习笔记二
- 《数据结构与算法分析c++描述》读书笔记二——二叉树
- 《数据结构与算法分析-C语言描述》详解-Sec2(二)
- 数据结构与算法分析 java语言描述
- 算法设计与分析复习-分治法算法描述
- 算法分析与设计复习-贪心算法描述
- 数据结构与算法javascript描述(二) 优先队列实例
- 数据结构与算法Javascript描述(二)队列
- 数据结构与算法js描述(习题二答案)
- 基于时间片优先级排课算法描述与分析
- 基于时间片优先级排课算法描述与分析
- 数据结构与算法分析_Java语言描述 递归简论
- 《数据结构与算法分析-C语言描述》笔记
- 《数据结构与算法分析--c语言描述》之第一章:引论
- 树——《数据结构与算法分析C++描述》
- 数据结构与算法分析-C语言描述 重点笔记
- 《数据结构与算法分析:c语言描述》读书笔记
- 数据结构(DATE STRUCTURE)实验A
- 测试适配及MyApplication
- mysql ,MD5盐值加密
- vue.js2.0非父子 组件之间传参
- <2> 内存四区和函数的调用模型
- 二.算法描述与分析
- vue 如何使用websocket
- Android常用开源项目(四十七)
- EditText如何修改光标颜色?
- Gradle for Android(四)
- post表单提交后,后台获取数据为null 大量数据的时候会出现这个问题
- 数组去重
- android不同形状的头像
- html中插入图片