2-算法

作者: Vicent_Z | 来源:发表于2018-04-27 17:26 被阅读7次

算法

1.定义

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

2.特性

  • 有穷性
  • 确定性
  • 可行性
  • 输入
  • 输出

3.设计要求

  • 正确性
  • 可读性
  • 健壮性
  • 高效率
  • 低存储

4.度量方法

  • 事后统计方法
  • 事前统计方法

函数渐进增长:给定两个函数f(n)和g(n),如果存在一个整数N,使得对于所有的n > N,f(n)总是比g(n)大,那么,我们就说f(n)的增长渐进快于g(n)。

5.时间复杂度

  • 衡量标准:大O阶

  • 推导步骤:

    • 用常数1取代运行时间中的素有加法常数。
    • 在修改后的运行次数函数中,只保留最高阶。
    • 如果最高阶存在且不是1,则去除这个项相乘的常数。

5.1.时间复杂度消耗时间的大小排列

O(1) < O(logN) < O(n) < O(nlogN) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

6.空间复杂度

算法所占空间的一个衡量标准。

由于硬件性能越来越好,通常算法都是用空间换时间的方式。

友情链接

博客地址

简书地址

GitHub

相关文章

  • 2-算法

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

  • 算法踩坑6-二叉搜索树排序

    背景 接上面五篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 ...

  • 数据结构与算法-目录

    数据结构与算法-目录 C语言篇 数据结构和算法-C语言篇1-绪论数据结构和算法-C语言篇2-初识算法数据结构与算法...

  • 算法踩坑5-归并排序

    背景 接上面四篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 算法踩坑4-冒泡排序 来...

  • 每日Leetcode—算法(9)

    83.删除链表中的重复元素 输入: 1->1->2->3->3,输出: 1->2->3 算法: 88.合并两个有序...

  • 算法踩坑4-冒泡排序

    背景 接上面三篇文章算法踩坑-快速排序 算法踩坑2-插入排序 算法踩坑3-堆排序 来继续聊聊最近我写的一些算...

  • 算法踩坑3-堆排序

    背景 接上面两篇文章算法踩坑-快速排序 算法踩坑2-插入排序 来继续聊聊最近我写的一些算法的小例程,这次要聊的...

  • 算法2-链表反转

    定义一个链表 1.创建链表并打印 打印结果2019-02-12 18:09:27.224236+0800 demo...

  • 数据挖掘:理论与算法笔记3-从贝叶斯到决策树

    上一篇: 数据挖掘:理论与算法笔记2-数据预处理下一篇: 数据挖掘:理论与算法笔记4-神经网络 3 从贝叶斯到决策...

  • 算法导论阅读笔记2-分治算法

    分治算法的三个主要步骤: 分:将问题划分为数个子问题,每个子问题是该问题的更小实例。 治:通过递归迭代处理子问题。...

网友评论

      本文标题:2-算法

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