美文网首页
2.数据结构---算法的基本概念

2.数据结构---算法的基本概念

作者: 梁炜东 | 来源:发表于2017-08-24 16:57 被阅读0次

算法:算法是解决特定问题的求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或者多个操作
一:算法的特性
算法的5个基本特性:输入,输出,有穷性,确定性,可行性
1》输入:算法具有零个或多个输入。大多数算法都需要输入参数,但对于个别例如NSLog输出文本算法们就没有输入,所以输入有零个或者多个
2》输出:算法至少有一个或者多个输出。算法必须有输出,要不你要这个算法干嘛,输出可以是打印吗,也可以是返回值等
3》有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。(像平时的我们写了一个死循环,这就不满足算法要求。还有这个有穷性不一定是理论的有穷,加入一个算法执行10年一定会结束,但是这个算法其实意义也不大)
4》确定性:算法的每一步骤都具有确定的含义,不会出现二义性。也就是说输出相同的值会出现唯一的输出结果,每个步骤都会被精确定义而无歧义
5》可行性:算法的每一步都必须是可行的,也就是说,每一步都能通过执行有限的次数完成。也说:可行性意味着算法可以转换为程序上机运行,并能得道正确的结果

二:算法设计的要求
1》正确性:算法的正确性是指算法至少应该具有输入,输出和加工处理无歧义性,能正确反映问题的需求,能够得道为题的正确答案
2》可读性:算法设计的另一目的是为了便于阅读,理解和交流
3》健壮性:当输入数据不合法时,算法也能做出相关处理,而不是产生异常或莫名其妙的结果
4》时间效率高和存储量低:也就是我们平时说的时间复杂度和空间复杂度

三:时间复杂度
1,时间复杂度我们一般记作大O,那么这个大O推导方法是什么呢?
1》用常数1取代运行实践中的所有加法常数
2》在修改后的运行次数函数中,只保留最高阶项
3》如果最高阶项存在且不是1,则去除与这个项相乘的常数
最后得到的结果就是大O阶

2,常见的时间复杂度



上面这些时间复杂度所耗费时间从小到大排序


其实算法时间复杂度有:平均时间复杂度和最坏时间复杂度。
我们一般说的都是最坏时间复杂度
平均的时间复杂度我们一般在概率学上认为是n/2,但是在实际情况中,平均时间复杂度是通过一定数量的实验数据之后估算出来的

四:算法的空间复杂度
算法的空间复杂度通过计算算法所需的存储空间实现,算法空间复杂度的计算公式记作S(n)=O(f(n)),其中n位问题的规模,f(n)为语句关于n所占存储空间的函数

相关文章

  • 一、基本概念

    1. 数据结构+算法=程序设计 2.基本概念 数据结构包括:逻辑结构和物理结构 逻辑结构:(1). 集合 (2)线...

  • 《数据结构》第一章:数据结构基本概念

    数据结构:用程序代码把现实世界的问题信息化 1.1数据结构的基本概念 1.2.1算法的基本概念 1.2.3算法的空...

  • 数据结构学习大纲

    第一章 绪论 数据结构基本概念数据结构基本概念算法的基本概念算法的时间复杂度与空间复杂度分析基础时间复杂度分析空间...

  • 数据结构-数据结构的一般概念

    大纲:掌握数据结构的基本概念和术语。了解抽象数据类型的概念。掌握算法的特性,算法的描述和算法的分析。 数据结构的基...

  • 2.数据结构---算法的基本概念

    算法:算法是解决特定问题的求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或者多个操作一:算法...

  • 数据结构学习进度一

    一 4.23 1.学习了数据结构的基本概念和术语 2.掌握了抽象表达式 3.了解尝试掌握了算法的时间复杂度算法 4...

  • 数据结构读书笔记

    集合框架 数据结构基本概念 任何一个算法的涉及取决于算法的数据结构,而算法的实现依赖于采用的存储结构。 数据类型一...

  • 数据结构与算法-深入浅出数据结构

    前言 在数据结构与算法开篇的部分,我们了解到数据结构的一些基本概念。 数据结构就是指一组数据的存储结构,而算法,就...

  • 数据结构与算法(一)基础知识

    程序 = 数据结构 + 算法 想让你的程序拥有天才般的灵魂,就一起学习数据结构和算法吧 基本概念和术语 1. 数据...

  • [数据结构]第一章绪论(2)——算法

    绪论第二节——算法 基本概念 什么是算法? 程序=数据结构+算法 算法的特性 有穷性:一个算法必须总在执行有穷步之...

网友评论

      本文标题:2.数据结构---算法的基本概念

      本文链接:https://www.haomeiwen.com/subject/htmedxtx.html