美文网首页
算法基础概念

算法基础概念

作者: 借缕春风绽百花 | 来源:发表于2020-07-01 22:07 被阅读0次

1.算法的定义

算法是解决某个问题的特定的指令序列。

2.算法四个性质:

①输入
②输出
③确定性
④有限性

3.算法的本质

算法的本质是解决问题的方法

4.算法的优势

①把复杂的事交给计算机完成
②一个算法可以解决一类问题

5.算法的核心任务

核心任务是设计合理的算法

6.算法的描述方式

自然语言
数学公式
流程图
伪代码
程序设计语言

7.好的算法具有的特点

正确性(Correctness)
有效性(Efficiency)
时间有效性(Time efficiency)
空间有效性(Space efficiency)
易理解(Understandability)
易实现(Implementability)
通用性(Generaty)

8.时间有效性

通常使用时间复杂度和空间复杂度来衡量算法的时间有效性和空间有效性。

8.1时间有效性衡量标准

运行时间

优点:最直接地反映算法的时间复杂度。
缺点:
①机器依赖,不同机器运行时间不同。
②缺乏解释,未回答不同程序的时间差异。

时间复杂度

使用基本运算(加,减,乘,除,判断,数组存取,函数调用)的发生次数来衡量。

优点:与机器无关,具有解释力。
缺点:
①统计基本运算次数工作繁琐。
②算法时间复杂度主要由输入规模决定,关键式增长量级,增长函数不是那么重要。

近似表示:
O(f(n)):算法运行时间的上界,也就是最坏情况下的时间复杂度;

Ω(f(n)):算法运行时间的下界,也就是最好情况下的时间复杂度;

Θ(f(n)):算法运行时间的上界和下界,这里Θ(f(n))是渐近的确界,
另外,并非所有的算法都有Θ(f(n))。

时间复杂度的增长量级(从小大排列)

O(1) constant time 常数级
O(log n) logarithmic time 对数级
O(n) linear time 线性级
O(nlog n)
O(n^2) quatdratic time 平方级
O(n^k) polynomial time 多项式级
O(2^n) exponential time 指数级
O(n!) factorial time 阶乘级

算法复杂度的三种情形

最好情形
最坏情形
平均情形

9.算法设计模式

① 暴力求解(Brute force)
②分治法(Divide and conquer)
③贪婪算法(Greedy approach)
④动态规划(Backtracking)
⑤回溯法(Branch and bound)
⑥分支界限法(Randomized algorithm)
⑦概率算法(randomized algorithm)

10.算法思维

现实问题——>形式化描述——>设计算法——>方案实施——>现实问题

相关文章

  • 算法基础概念

    1.算法的定义 算法是解决某个问题的特定的指令序列。 2.算法四个性质: ①输入②输出③确定性④有限性 3.算法的...

  • 算法基础概念

    1、概述 算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的...

  • 普林斯顿算法中级笔记4(基础算法,选择排序,插入排序,希尔排序)

    基础算法 一些概念 comparable:下面的算法实现用到了java中的一个业务排序概念。comparable类...

  • 算法基础概念(一)

    一 . 概念 我们评估一种算法的优劣,可以使用它的时间复杂度和空间复杂度来衡量(一个算法的优劣主要从算法的执...

  • 【Python算法】算法基础-概念区分

    图论: 连通图: 连通图基于联通的概念。在一个无向图中,若顶点a,到b有路径相连,则称a,b是连通的。如果图中的任...

  • 0.课程介绍及教学说明

    机器学习基础概念和基础知识 机器学习常用算法,分类聚类 机器学习流程 阿里云PAI 云计算、大数据、人工智能的概念...

  • 算法入门:堆排序

    基础概念#### 堆排序是比较基础的排序算法,也是我认为比较难的一种算法,因为它的流程比较多,理解起来不会像冒泡排...

  • GC算法基础相关概念

    以下为《垃圾回收的算法与实现》中序章及相关概念读书笔记 1.GC 定义 GC: Garbage Collecti...

  • 限流算法(一)基础概念

    先铺垫一下限流算法相关的知识,给大家扫个盲,网上先关的概念有很多,我就不自己写了。本文章基础概念部分转至 http...

  • 强化学习不错的资料

    Reinforcement Learning Cheat Sheet 这篇不错,将强化学习中的经典算法基础概念清晰...

网友评论

      本文标题:算法基础概念

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