算法导论作者的课程(英文有字幕)
顺便学一下英语(x
第一集十六分钟左右正片开始。

算法
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
我的理解就是“解题方案”。
特点:有输入,有输出,确定性,有限性
运行时间
取决于本身的输入、输入规模,运行机器等等。

对算法的分析
算法的复杂性C包括时间复杂性T和空间复杂性S
C是一个三元函数,即C=F(N,I,A).
其中N指问题的规模,I指输入的规模,A指算法本身。

T(n)表示程序运行需要的时间。由以下几种情况进行决定最终的T(n)。
最坏情况Wast-case
T(n)表示输入规模为n时,程序运行所需要的(可能的)最长时间。
平均情况Average-case
T(n)表示输入规模为n时,所有可能的输入情况下,程序运行需要的期望时间。
最好情况Best-case

渐进复杂性

用于n无穷大的情况。
取一个公式的最高阶项

可以把公式看成一个算法需要运行的时间与n的关系。

大O表示法【算法运行时间的上界
取得是最高阶项除去它的系数

用上图表示,则这个算法的大O复杂度为O(n^3),即算法的时间增长最多像 n^3那样快。
阶越低越有价值。

对于两段复杂性不同的程序,选择比较复杂的那一段。

大Ω表示法【算法运行时间的下界
阶越高越有价值。

复杂性排序
常数级<对数级<线性级<多项式级<指数级<阶乘级

【我要去啃一下算法了,因为想考一下蓝桥杯。安卓的学习应该也不会停,因为那是我的小组任务,不能拖后腿。我发誓这几天没学studio只是因为身体不舒服!!】
【刚开始学东西会分不清什么重要什么不重要。就像小时候1+1=2也要记个小笔记。求饶】

【算法学习】1.渐进复杂性相关推荐

  1. 算法学习四:算法性能分析理论基础——函数增长与渐进分析

    算法学习四:算法性能分析理论基础--函数增长与渐进分析 在算法性能分析过程中,特别是在算法运行效率分析中,我们经常使用渐渐分析法,它使我们在分析算法性能时不必纠结于不同硬件平台的差异性,着重考虑算法的 ...

  2. cart算法 java_CART算法学习及实现

    CART算法学习及实现 作者:大卡卡   撰写时间:2011.9.29 1.算法介绍 分类回归树算法:CART(Classification And Regression Tree)算法采用一种二分递 ...

  3. AI 自动研发机器学习系统,DeepMind 让算法学习强化学习

    人工智能研发的一个大方向是用AI系统来自动化开发AI系统.虽然这一目标尚未实现,但目前的进展让已足够令人人震惊.本文介绍了最新的一些进展,包括伯克利让算法自我优化.MIT自动生成神经网络架构,以及在这 ...

  4. Python预测 数据分析与算法 学习笔记(特征工程、时间序列)

    微信公众号:数学建模与人工智能 GitHub - QInzhengk/Math-Model-and-Machine-Learning 第3章 探索规律 3.1 相关分析 相关关系是一种与函数关系相区别 ...

  5. c语言将AOE网络的数据写入TXT文档中,数据结构与算法学习辅导及习题详解.张乃孝版-C/C++文档类资源...

    数据结构与算法学习辅导及习题详解.张乃孝版.04年10月 经过几年的努力,我深深体会到,编写这种辅导书要比编写一本湝通教材困难得多. 但愿我的上述理想,在本书中能够得以体现. 本书的组织 本书继承了& ...

  6. 拿下斯坦福和剑桥双offer,00后的算法学习之路

    董文馨,00后,精通英语,西班牙语.斯坦福大学计算机系和剑桥大学双Offer,秋季将进入斯坦福大学学习. 10岁开始在国外上学:12岁学Scratch: 13岁学HTML & CSS: 14岁 ...

  7. 好久没有看到这么有建设性德文章,由衷地赞叹《知其所以然地学习(以算法学习为例)》-By 刘未鹏(pongba)

    知其所以然地学习(以算法学习为例) By 刘未鹏(pongba) C++的罗浮宫(http://blog.csdn.net/pongba) Updated(2008-7-24):更新见正文部分,有标注 ...

  8. 原创 | 初学者友好!最全算法学习资源汇总(附链接)

    在计算机发展飞速的今天,也许有人会问,"今天计算机这么快,算法还重要吗?"其实永远不会有太快的计算机,因为我们总会想出新的应用.虽然在摩尔定律的作用下,计算机的计算能力每年都在飞快 ...

  9. 基本算法学习(一)之希尔排序(JS)

    参考书: 严蔚敏-数据结构 希尔排序(Shell's Sort) 希尔排序又称"缩小增量排序",归属于插入排序一类,简单来说,和我们的插入排序比,它更快. 奇妙的记忆点: 内排序( ...

  10. 大顶堆删除最大值_算法学习笔记(47): 二叉堆

    堆(Heap)是一类数据结构,它们拥有树状结构,且能够保证父节点比子节点大(或小).当根节点保存堆中最大值时,称为大根堆:反之,则称为小根堆. 二叉堆(Binary Heap)是最简单.常用的堆,是一 ...

最新文章

  1. python翻译成计算机是啥_基于Python的业英语翻译器实现
  2. 荣耀开年第一机!荣耀60 SE今日官宣:搭载天玑900处理器
  3. 为什么很少人学汇编_要想精通C语言,必须先学习汇编吗
  4. ObjectDetecionAPI TypeError: __new__() got an unexpected keyword argument 'serialized_options'
  5. 大数据应用智能交通有哪些意义
  6. struts2的package和result的标签的属性
  7. C语言的printf输出格式控制
  8. 信息检索与利用(第三版)第五章 信息法与综合性信息检索
  9. 快速排序时间复杂度数学证明
  10. [每日一氵]笔记本电脑充电后卡得一批
  11. Markdown使用指南
  12. 微信大更新,黄脸表情会动了,还能炸群!还有状态、浮窗...张小龙剧透的功能全来了...
  13. 法航AF447失事,机上有228人
  14. 像素值为什么归一化?归一化作用?
  15. Javascript的优点和缺点
  16. FPGA——FIFO
  17. 利用Python调用云Api实现多地域同步运行TAT命令
  18. 什么是RAIN RFID?
  19. Android9--android 10.0 去掉未知来源弹窗 默认授予安装未知来源权限
  20. 【小白】SQLyog下载安装配置篇全攻略

热门文章

  1. 5V转24V差分信号转TTL电平脉冲信号隔离变送器
  2. NetWare网络操作系统
  3. 华御上网行为管理FAQ
  4. 什么叫取反_PLC指令中的取反是什么意思
  5. nginx 配置https 负载均衡
  6. 如何实现手机注册验证
  7. 猪圈密码 摩斯密码 QWE加密 栅栏加密 当铺密码
  8. 反编译软件JD-GUI
  9. lingo入门教程之二 --- 集合运用
  10. select 设置不可用,提交表单时能传值