目录

算法

1.什么是算法

2.Five Criteria of Algorithm(算法的五大原则)

3. Correctness Proof of Algorithm(算法正确性)

4. Efficientcy of Algorithm (算法的效率)

5. Expressing Algorithm by Pseudo Code(使用伪代码)

数据结构

1.什么是数据结构

2. Good Algorithm Needs Proper Data Structure

3. Good Data Structure Needs Proper Accessing Algorithms

4. Good Data Structure Needs Proper Maintenance Algorithms

Why Data Structure and Algorithm?

1. Proper Use: Tradeoff of Different Factors

2. Different Tradeoff on Different Platforms


算法

1.什么是算法

2.Five Criteria of Algorithm(算法的五大原则)

  • input 输入的是什么
  • output 输出的是什么
  • definiteness 程序员能够看得懂
  • finiteness 电脑能够跑得完,不会死循环
  • effectiveness 电脑能够做得到

3. Correctness Proof of Algorithm(算法正确性)

举例:将程序问题抽象为数学问题,然后使用数学归纳法进行证明

附:【离散数学】对这块讲的比较多

4. Efficientcy of Algorithm (算法的效率)

  • 时间复杂度
  • 空间复杂度

5. Expressing Algorithm by Pseudo Code(使用伪代码)

  • 伪代码:使用口语的方式表达程序的内容,方便不同语言的程序员沟通理,举例:

  • 差劲的伪代码:

    • too details (太细节)
    • too Mysterious (看不懂)
    • too Abstract (太简略)

数据结构

1.什么是数据结构

  • 含义:容纳数据的一种容器

2. Good Algorithm Needs Proper Data Structure

  • 好的数据结构能够提高算法的效率

3. Good Data Structure Needs Proper Accessing Algorithms

所有数据结构都有的I/O操作

  • get 获取数据
  • insert 插入数据

4. Good Data Structure Needs Proper Maintenance Algorithms

执行以下操作后,要能够同时维护原有的数据结构

  • construct
  • update
  • remove 移除数据

Why Data Structure and Algorithm?

  • Algorithm 想办法节省计算资源
  • Data Strucutre 数据存储的方式

1. Proper Use: Tradeoff of Different Factors

鱼和熊掌不可兼得,如果妥协

  • time
  • space
  • power
  • bandwidth
  • man
  • hour

2. Different Tradeoff on Different Platforms

在不同平台上的需求是不一样的,所以 trade off 是不同的

  • parallel
  • transmission/computation

[数据结构与算法 DSA 林轩田] 1. Introduction to Data Structure and Algorithm相关推荐

  1. 台湾大学林轩田机器学习技法课程学习笔记9 -- Decision Tree

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Adaptive Boosting.AdaBoost演算法通过调整每笔资料的权重,得到不同的hypotheses,然后将不同的 ...

  2. 独家干货 | 林轩田机器学习课程精炼笔记!

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 台湾大学林轩田老师曾在coursera上开设了两门机器学习经典课程:<机器学习基石> ...

  3. 干货 | 林轩田机器学习「基石+技法」历史文章汇总

    AI有道 一个有情怀的公众号 台湾大学林轩田机器学习经典课程:「机器学习基石」和「机器学习技法」.课程由浅入深.内容全面,基本涵盖了机器学习领域的很多方面,还包括了机器学习一些经典算法,包括支持向量机 ...

  4. 【完结】林轩田机器学习技法终章

    AI有道 一个有情怀的公众号 1 Feature Exploitation Techniques 我们在本系列课程中介绍的第一个特征提取的方法就是kernel.Kernel运算将特征转换和计算内积这两 ...

  5. 台湾大学林轩田机器学习技法课程学习笔记16(完结) -- Finale

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Matrix Factorization.通过电影推荐系统的例子,介绍Matrix Factorization其实是一个提取用 ...

  6. 台湾大学林轩田机器学习技法课程学习笔记15 -- Matrix Factorization

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Radial Basis Function Network.它的原理就是基于距离相似性(distance-based simi ...

  7. 台湾大学林轩田机器学习技法课程学习笔记13 -- Deep Learning

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了神经网络Neural Network.神经网络是由一层一层的神经元构成,其作用就是帮助提取原始数据中的模式即特征,简称为pat ...

  8. 台湾大学林轩田机器学习技法课程学习笔记12 -- Neural Network

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Gradient Boosted Decision Tree.GBDT通过使用functional gradient的方法得到 ...

  9. 台湾大学林轩田机器学习技法课程学习笔记10 -- Random Forest

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了Decision Tree模型.Decision Tree算法的核心是通过递归的方式,将数据集不断进行切割,得到子分支,最终形 ...

最新文章

  1. SQL Server 2012 OFFSET/FETCH NEXT分页示例
  2. ASP.NET Core Web Razor Pages系列教程:使用ASP.NET Core创建Razor Pages Web应用程序
  3. Python 实现一个全面的单链表
  4. 两层或以上的showModalDialog解决方法
  5. cocos2dx-lua之断点调试支持
  6. 谈谈新手如何学习PHP^_^【转】
  7. 前后端开发是怎么合作分工的
  8. 《大型门户网站是这样炼成的!(Struts 2+Spring 2+Hibernate 3) 》
  9. SilverlightCMS开发之3经典三页面CMS浮现
  10. 数仓如何设置大小写不敏感函数
  11. python numpy修改数据维度
  12. htt:// ************不在以下 request 合法域名列表中,请参考文档:******************************
  13. 基于JAVA+SpringBoot+Mybatis+MYSQL的高铁售票系统
  14. Node连接MySQL数据库进行基本的增删改查操作(一看就会)
  15. 数据库备份与还原c#.net实现
  16. 奋斗吧,程序员——第八章 衣带渐宽终不悔,为伊消得人憔悴
  17. 光学系统建模之Light Tools安装关键点、教程指引
  18. 告别人工叫号!门诊排队叫号系统,这样配置,性价比高
  19. 分享一个计算机视觉图片或者视频的标注神器
  20. Djano3.0使用-CBV使用实例

热门文章

  1. 我的第一台手提 | 关于你的第一台手提征文活动
  2. 毕业设计-基于协同过滤算法的旅游推荐系统
  3. myeclipse2014版本破解出现的问题,过程及解决方案
  4. 互联网创业公司黑话指南 | 嘿嘿嘿……
  5. PADS打开.asc文件
  6. 专注少儿成长,掌门少儿打造多维思维启蒙体验
  7. 卡洛斯·斯利姆·埃卢
  8. 基于单片机的四层电梯仿真设计(#0012)
  9. rrpp协议如何修改_RRPP快速环网保护协议
  10. QCMS企业建站系统 v5.0.1