文章目录

  • 什么是算法
  • 算法举例
    • 高斯简算1到100加法
  • 算法的五个基本特征
  • 算法设计的要求

什么是算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。(技巧、方式)
算法可以脱离了数据结构存在,每一个数据加工过程都是算法。

算法举例

高斯简算1到100加法

高斯7岁那年开始上学。10岁的时候,他进入了学习数学的班级,这是一个首次创办的班,孩子们在这之前都没有听说过算术这么一门课程。数学教师是布特纳,他对高斯的成长也起了一定作用。
一天,老师布置了一道题,1+2+3······这样从1一直加到100等于多少。高斯很快就算出了答案,起初高斯的老师布特纳并不相信高斯算出了正确答案:"你一定是算错了,回去再算算。”高斯非常坚定,说出答案就是5050。高斯是这样算的:1+100=101,2+99=101······50+51=101。从1加到100有50组这样的数,所以50X101=5050。
布特纳对他刮目相看。他特意从汉堡买了最好的算术书送给高斯,说:“你已经超过了我,我没有什么东西可以教你了。”接着,高斯与布特纳的助手巴特尔斯建立了真诚的友谊,直到巴特尔斯逝世。他们一起学习,互相帮助,高斯由此开始了真正的数学研究。
(百度复制来的)

算法的五个基本特征

  • 输入:
    算法具有零个或多个输入。
  • 输出:
    算法至少有一个或多个输出。
  • 有穷性:
    指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每一个步骤在可接受的时间内完成。
  • 确定性:
    算法的每一个步骤都具有明确的含义,不会出现二义性。
    算法在一定的条件下,只有一条执行路径,相同的输入只能有唯一的输出结果。
    算法的每个步骤都应该被精确定义而无歧义。
  • 可行性:
    算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。

算法设计的要求

  • 正确性:
    算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性,能正确反映问题的需求,能够得到问题的正确答案。
    大体分为四个层次
    - 算法程序没有语法错误
    - 算法程序对于合法的输入能够产生满足要求的输出。
    - 算法程序对于非法的输入能够产生满足规格的说明。
    - 算法程序对于故意刁难的测试输入都有满足要求的输出结果。
  • 可读性:
    算法设计另一目的是为了便于阅读、理解和交流
  • 健壮性:
    当输入数据不合法时,算法也能做出相应的处理,而不是产生异常,崩溃或莫名其妙的结果。
  • 时间效率高和存储量低
    应该具备时间效率高和存储量低的特点,尽量思考这两方面的问题

谈谈算法(数据结构学习笔记)相关推荐

  1. 数据结构与算法-链表学习笔记

    数据结构与算法-链表学习笔记 链表的概念 链表是有序的列表. 链表是以节点的方式来存储,是链式存储,它在内存中并不是一定是连续的. 每个节点包含 data 域:存储数据, next 域:指向下一个节点 ...

  2. 数据结构学习笔记——顺序表的基本操作(超详细最终版+++)建议反复看看ヾ(≧▽≦*)o

    目录 前言 一.顺序表的定义 二.顺序表的初始化 三.顺序表的建立 四.顺序表的输出 五.顺序表的逆序输出 六.顺序表的插入操作 七.顺序表的删除操作 八.顺序表的按位和按值查找 基本操作的完整代码 ...

  3. Python数据结构学习笔记——队列和双端队列

    目录 一.队列的定义 二.队列 实现步骤分析 三.队列的Python实现代码 四.队列的应用 六人传土豆游戏 五.双端队列的定义 六.双端队列 实现步骤分析 七.双端队列的Python实现代码 八.双 ...

  4. 数据结构学习笔记:变位词侦测案例

    数据结构学习笔记:变位词侦测案例 通过字符串变位词侦测问题可以很好地了解具有不同数量级的算法.变位词,就是两个字符串构成要素完全相同,但是要素的排列顺序不同.比如,heart与earth.python ...

  5. 《数据结构学习笔记》-持续记录

    数据结构学习笔记 1.基本概念 1.1 数据 2.数据结构 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构 2.1.3 树形结构 2.1.4 图形结构 2.2物理结构(存储结构) 2.2. ...

  6. 考研数据结构学习笔记1

    考研数据结构学习笔记1 一.绪论 1.基本概念和术语 2.数据结构三要素 2.1逻辑结构 2.1.1 集合结构 2.1.2 线性结构:一对一 2.1.3 树形结构:一对多 2.1.4 图状结构:多对多 ...

  7. 考研[*数据结构*]学习笔记汇总(全)

    文章目录: 一:预备阶段 二:基础阶段笔记 三:冲刺阶段笔记 四:各章节思维导图 五:题库 来源:王道计算机考研 数据结构 一:预备阶段 之前的数据结构笔记 数据结构--学习笔记--入门必看[建议收藏 ...

  8. 数据结构学习笔记(王道)

    数据结构学习笔记(王道) PS:本文章部分内容参考自王道考研数据结构笔记 文章目录 数据结构学习笔记(王道) 一.绪论 1.1. 数据结构 1.2. 算法 1.2.1. 算法的基本概念 1.2.2. ...

  9. 算法训练营学习笔记1

    算法训练营学习笔记 贪心算法 心算法总是做出当前最好的选择,期望通过局部最优选择得到全局最优的解决方案.从问题的初始解开始,一步歩地做出当前最好的选择,逐步逼近问题的目标,尽可能得到最优解: 贪心本质 ...

  10. 计算机视觉算法——Transformer学习笔记

    算机视觉算法--Transformer学习笔记 计算机视觉算法--Transformer学习笔记 1. Vision Transformer 1.1 网络结构 1.2 关键知识点 1.2.1 Self ...

最新文章

  1. 直接在sublime中运行php
  2. 计算机视野仪检测青光眼的操作,计算机视野仪检测青光眼的操作及体会
  3. php获取函数里参数吗,php函数中获取参数信息方法(记录)
  4. 用Java刷OJ超时怎么办?原因分析及解决方式
  5. 实现自己的类加载时 重写方法loadClass与findClass的区别
  6. 人工智能时代职教教师能力提升的路径
  7. boot入门思想 spring_SpringBoot基础入门
  8. python md5算法调用与hashlib模块
  9. 拼音搜索 拼音首字母搜索 (pinyin-match) js
  10. C语言基础编程题1.0
  11. dis的前缀单词有哪些_前缀dis-(dif-,di-) = apart;to undo;lack of,to remove;not
  12. 如何给HTML文件加一张背景图,如何在css中添加背景图?
  13. PMP 第六章 项目时间管理
  14. 度阴山先生的《知行合一王阳明》有感
  15. 阿里系-淘宝接口抓取
  16. 硬核,这 3 款 IDE 插件让你的代码牢不可破
  17. 【前端三剑客三】 JavaScript
  18. Excel表格之——某一列生成UUID
  19. 基于3dmax及Unity的虚拟博物展览馆
  20. OpenWrt配置打印服务器无线桥接,手机无线打印

热门文章

  1. Kafka动态认证SASL/SCRAM配置+整合springboot配置
  2. 王者荣耀服务器维修多久,王者荣耀今天维护到几点 维护时间详解
  3. BZOJ4408:[FJOI2016]神秘数
  4. PARL源码走读——使用策略梯度算法求解迷宫寻宝问题
  5. 杀人 真心话大冒险 起底
  6. 傅里叶级数展开的详细推导和部分证明
  7. 12.4.1 索引顺序存取方法文件 / ISAM文件
  8. 汽车材料QC/T 942-2013 ELV中六价铬的检测
  9. 前端身份证号码校验js代码
  10. Centos开机启动项