算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且一个指令表示一个或多个操作

算法的五个基本特征:

  1. 输入
    – 算法具有零个或多个输入
  2. 输出
    – 算法至少有一个或多个输出
  3. 有穷性
    – 算法在执行有限步骤后,会自动结束,而不会出现无限循环,每个步骤都在可接受的时间内完成
  4. 确定性
    – 算法的每个步骤,都有确定的含义,不会有二义性
    – 算法在一定条件下,只有一条执行路径,相同的输入只能有唯一的输出结果
  5. 可行性
    – 算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成

算法设计的要求

  • 正确性
    – 算法应具有输入、输出、加工处理无歧义性、能正确反映问题的需求、能够得到问题的正确答案
    – 大体分为下面四个层次:
    1.算法程序没有语法错误
    2.算法程序对合法输入能产生满足要求的输出
    3.算法程序对非法输入能产生满足规格的说明
    4.算法程序对故意刁难的测试输入有满足要求的输出结果
  • 可读性
    – 算法设计的另一目的是为了便于阅读、理解和交流
  • 健壮性
    – 输入不合法也能做出相关处理
  • 时间效率高和存储量低

数据结构和算法———P2 算法概述相关推荐

  1. 数据结构与算法—1、概述

    数据结构与算法-1.概述 一.什么是数据结构与算法分析 1.数据结构 2.算法 3 .数据结构与算法的作用 二.数据结构 1.数据之间的关系--逻辑结构 2.关系在计算机上的存储--物理结构 3.线性 ...

  2. 数据结构及算法总结(概述)

    开头瞎逼逼 程序的本质:程序是为了实际的问题而存在的,从本质上而言,程序是解决问题的步骤描述. 首先要理解实际问题,确认问题类型(如:数值计算.求最小值),确认求解的步骤(如:打开文件.读数据.关闭文 ...

  3. 什么是数据结构?什么是算法?怎么学习数据结构与算法?

    01 前言 学习算法,我们不需要死记硬背那些冗长复杂的背景知识.底层原理.指令语法--需要做的是领悟算法思想.理解算法对内存空间和性能的影响,以及开动脑筋去寻求解决问题的最佳方案.相比编程领域的其他技 ...

  4. 【数据结构】字符串 模式匹配算法的理解与实现 Brute Force算法(BF算法)与KMP算法 (C与C++分别实现)

    #笔记整理 若不了解串的定义,可至: 串(string)的定义与表示 查看 串的模式匹配算法 求子串位置的定位函数 Index(S, P, pos) 求子串的定位操作通常称作串的模式匹配(其中子串P称 ...

  5. 万字总结 JS 数据结构与常用的算法

    大厂技术  高级前端  Node进阶 点击上方 程序员成长指北,关注公众号 回复1,加入高级Node交流群 一.前言 首先,为什么我会学习数据结构与算法呢,其实主要是有两方面 第一,是我在今年的fla ...

  6. 数据结构习题答案(全部算法)---严蔚敏版

    第一章绪论 1.16 void print_descending(int x,int y,int z)//按从大到小顺序输出三个数 { scanf("%d,%d,%d",& ...

  7. Fiber 内部:React 中新的协调算法的深入概述

    https://github.com/lizuncong Fiber 内部:React 中新的协调算法的深入概述 深入了解 React 的 Fiber 新架构,并了解新协调算法的两个主要阶段.我们将详 ...

  8. 【数据聚类】第六章第二节:层次聚类算法之BIRCH算法(算法概述、流程和sklearn实现)

    注意:文章中部分内容来自刘建平博客,多谢多谢:刘建平:BIRCH聚类算法原理 文章目录 一:BIRCH算法概述 (1)聚类特征CF (2)聚类特征树 CF Tree (3)聚类特征树的生成 A:生成规 ...

  9. 数据结构与算法:算法简介

    数据结构与算法:算法简介 雪柯 大工生物信息 提笔为写给奋进之人 已关注 你说呢 . shenwei356 等 70 人赞同了该文章 引用自算法图解,作者[美] Aditya Bhargava 译袁国 ...

最新文章

  1. 2018-3-19李宏毅机器学习笔记八--HomeWork1-PM2.5 Predicition
  2. Windows Embedded为航海护航!
  3. python学习笔记(3) -- 常用数据类型
  4. CRM How to configure text type to allow html editor
  5. Python应用实战-Clumper库 | Groupby具体案例用法
  6. Kendo UI开发教程:Kendo UI模板概述
  7. 【代码笔记】Web-ionic单选框
  8. jQuery选择器,用逗号分隔的时候需要注意范围问题
  9. httpd2.4.9主配置文件参数详解
  10. 深度学习自学(二十六):人脸关键点检测
  11. js 字符串 常用方法
  12. 解析微分电路和积分电路的区别
  13. vue2和vue3区别
  14. 2022/12/26总结
  15. 绩效管理三原则,让你做好绩效
  16. Redis学习笔记(四):过期策略、持久化、事件
  17. WordPress安装论坛插件
  18. fitnesse java_从Fitnesse中学习Java单元测试
  19. tensorflow with求导_tensorflow求导和梯度计算实例
  20. [译]为什么R语言是当今最值得学习的数据科学语言

热门文章

  1. idea java文件显示j_IDEA 快捷使用指南
  2. dw代码能在php运行吗,php新手求助,为什么在DW中设计里能看到运行php程序的结果,但…...
  3. Spring-context-ApplicationEvent/ApplicationListener/ApplicationEventMulticaster
  4. SpringMvc-HandlerMethodArgumentResolver
  5. python显示gif图片报错_用Python制作在地图上模拟瘟疫扩散的Gif图
  6. mysql使用已有的数据库_使用SQL操作MySQL数据库
  7. python输入变量输出常量_Python输入input、输出print
  8. 《构建之法》读后感二
  9. 使用jmeter做接口测试----柠檬不萌!
  10. 第一百七十四天 how can i 坚持