• 算法: 指解决问题的一种方式或一个过程,算法是若干指令的有穷序列。

  • 满足性质: 输入、输出、确定性、有限性。

  • 程序与算法之间的联系: 程序是算法用某种程序设计语言的具体实现。

  • 计算机的两大资源: 时间、空间。

  • 常用提升算法的效率的方式: 牺牲空间换时间。

    • 问题求解的逻辑过程:

      1. 建模:对输入参数和解给出形式化或半形式化的描述。
      2. 设计算法: 采用什么算法设计技术,正确——是否对所有的实例都得到正确的解。
      3. 分析算法: ——效率
  • 常见排序算法的效率:

  • 算法时间复杂度: 针对指定基本运算,计数算法所做的运算次数。

    • 最坏情况下的时间复杂度:W(n);
    • 平均情况下的时间复杂度 :A(n);
  • 平均情况下的时间估计(顺序检索法):

  • 函数的渐近的界:

  • 相应定理:

    • 同阶:
    • 低阶:
    • 高阶:
  • 阶的高低:

  • 函数取整: ⌊X⌋ 向下取整,⌈x⌉ 向上取整;

  • 主定理的应用:

  • 公式:T(n)= aT(n/b)+f(n)

    • a:归约后的子问题的个数
    • n/b: 归约后子问题的规模
    • f(n):归约过程及组合子问题的解的工作量
  • 共有三种情况:此处省略;

  • 常见的主定理

  • 二分检索: T(n)= T(n/2)+1

  • 二分归并排序: T(n)= 2T(n/2)+n-1

  • 例:

  • T(n)= 9T(n/3)+n

  • a = 9

  • b = 3

  • f(n) = n

T(n) = O(n^2)

算法入门基础知识总结相关推荐

  1. 大数据分析入门基础知识学什么?

    大数据分析入门基础知识学什么?做好数据分析要掌握多方面的知识和技能,软实力包括沟通能力.表达能力.设计能力等.学大数据分析需要掌握可视化分析.数据挖掘算法.预测性分析能力.语义引擎.数据质量和数据管理 ...

  2. 音视频开发入门基础知识(视频入门篇)

    RTSP实时音视频开发实战课程:<RTSP实时音视频开发实战> 音视频开发入门基础知识(音频入门篇) 目录 一.前言 二.视频采集和显示 三.视频常见的格式 四.RGB转YUV和YUV转R ...

  3. Spark —— 闪电般快速的统一分析引擎 —— 入门基础知识

    Spark 入门基础知识 Spark 的特点 速度快 使用方便 通用 兼容 Spark 基础 下载 独立部署模式(Standalone) 弹性分布式数据集 Scala shell 1. 数组中的最值: ...

  4. 神经网络入门基础知识 neural networks basics

    神经网络入门基础知识 neural networks basics 也许现在提到深度学习(deep learning)连非计算机专业的人都听说过,尤其是最近"人机大战"更是掀起了人 ...

  5. Python培训入门基础知识学什么?

    Python培训基础知识主要是针对一些零基础的同学安排的,虽说Python是相对比较简单的一门编程语言,但是没有基础的同学还是要进行系统的学习,那么Python培训入门基础知识学什么呢?来看看下面小编 ...

  6. NLP汉语自然语言处理入门基础知识介绍

    NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部 ...

  7. 负荷计算的时候assert失败_负荷计算的入门基础知识,小白入门必备!

    负荷计算是电气设计人员必须掌握的一必修课,选导体.设备还有保护开关的选择,电网系统分析,都离不开负荷计算的内容,为此小编特意总结9个负荷计算的入门基础知识,分享给大家,希望能在工作和学习中作为一份参考 ...

  8. python笔记基础-Python入门基础知识学习笔记之一

    为什么要写这篇文章? 本人做过Objective-C开发,现在在用C#做WinForm开发.近段时间在学习Python入门基础知识时,发现有很多知识点和Objective-C的不一样.故想通过本文记录 ...

  9. 电脑的基础知识_电脑入门基础知识

    电脑入门基础知识 学习电脑应该先了解电脑的基本的组件,然后学习操作,包括键盘.鼠标的使用,能基本使用操作系统,再学习打字. 作为一个电脑小白,想要学习电脑,首先要知道如何操作,学习打字,接着就是熟练使 ...

  10. ***入门基础知识(超全)

    ***入门基础知识(超全) [sell=2]  DOS 常用命令: dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前目录 copy 拷贝文件 diskcopy 复制磁盘 de ...

最新文章

  1. Java面试题系列之Java基础类库(一)
  2. C语言程序设计 | 大端小端存储解析以及判断方法
  3. 服务器显示禁止设置多个ip地址,服务器禁止设置多个ip解决办法
  4. 关于js拷贝对象的问题
  5. 懂,你的App生,不懂,死!
  6. STL源码剖析学习十四:算法之set相关算法
  7. Away3D学习笔记-物体位置和移动
  8. PHP调用拼多多接口以及配置签名
  9. 详解JAVA对象实例化过程
  10. 推荐几部不错的网络玄幻小说
  11. 图灵奖Alan Kay:突破常规思维!道翰天琼认知智能机器人平台API接口大脑为您揭秘
  12. untiy Resorces目录动态加载资源
  13. 万能遥控器小制作(四)
  14. 深度学习细颗粒图像分析综述
  15. 2022-2028全球聚乙交酯(PGA)行业调研及趋势分析报告
  16. 凹凸中的相与国 ——读《大清相国》
  17. 趁舍友上个厕所的时间,掌握步进电机驱动方式和电路
  18. 考CISP必须要做哪些准备?
  19. 论文结论的写作类型和注意事项
  20. 如何在Vs2019中启动installer工具

热门文章

  1. 从《目标》、《凤凰项目》到《持续交付》:DevOps 的过去、现在及未来
  2. Tecplot绘制流体后处理图的问题
  3. json文件编辑器android版,json editor手机版下载
  4. 全链路压测之全链自动化
  5. MySQL彻底卸载干净
  6. php pos系统,Linux下的十大开源POS系统软件
  7. 基于树莓派的人脸识别(Linux系统 百度智能云平台)
  8. 计算空间中点到直线的距离
  9. android桌面半透明,Android仿Iphone屏幕底部弹出半透明PopupWindow效果
  10. 极限精简服务器系统,极限精简斐讯T1/N1 极客开发者强迫症福音6.25