数据结构与算法学习笔记第二天--什么是算法
来源:互联网 发布:php字符串的拆分 编辑:程序博客网 时间:2024/05/18 01:46
一、什么是算法
算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有限序列,并且每条指令表示一个或多个操作。一个问题可以由多种算法解决,一个算法也不可能具有解决所有问题的能力。
二、算法的五个基本特征
算法有五个基本特性:输入、输出、有穷性、确定性和可行性。
- 输入:算法具有零个或多个输入。
- 输出:算法至少有一个或多个输出(或返回值)。
- 有穷性:指算法在执行有限的步骤之后,自动结束而不会出现无限循环,并且每个步骤在可接受的时间内完成。
- 确定性:算法的每一个步骤都具有确定的含义,不会出现二义性。
- 可行性:算法的每一步都必须是可行的,也就是说,每一步都能够通过执行有限次数完成。
三、算法的设计要求
正确性
算法的正确性是指算法至少应该具有输入、输出和加工处理无歧义性,能正确反映问题的需求,能够得到问题的正确答案。
大体分为以下四个层次:- 算法程序没有语法错误;
- 算法程序对于合法输入能够产生满足要求的输出;
- 算法程序对于非法输入能够产生满足规格的说明(错误提示信息,提升用户体验);
- 算法程序对于故意刁难的测试输入都有满足要求的输出结果(代码质量强健;提升系统稳定性)。
- 时间效率高和存储量低
即设计的算法应尽可能的降低时间复杂度和空间复杂度,提升算法效率和性能。在设计算法时我们应该尽量思考这两方面的问题。
0 0
- 数据结构与算法学习笔记第二天--什么是算法
- 数据结构与算法学习笔记第一天--什么是数据结构
- 数据结构与算法 java版 学习笔记 第二章
- 数据结构与算法分析学习笔记---第二章
- 数据结构与算法学习笔记
- 数据结构与算法学习笔记
- 数据结构与算法学习笔记
- 算法 与 数据结构 学习笔记
- 算法与数据结构学习笔记
- 数据结构与算法学习笔记之--数据结构
- 【算法零基础入门】 学习笔记一 什么是数据结构
- 什么是算法-数据结构学习笔记1.2(基本概念)
- 数据结构与算法 第二课
- 数据结构与算法分析_学习笔记
- 数据结构与算法分析学习笔记
- 算法与数据结构-诸论-学习笔记
- 数据结构与算法分析 学习笔记
- 数据结构与算法分析学习笔记---第一章
- 欢迎使用CSDN-markdown编辑器
- mysql中exists和in的区别
- android的界面定制
- jvisualvm使用注意事项
- js实验2.(4)AJAX的POST请求
- 数据结构与算法学习笔记第二天--什么是算法
- grub rescue模式下启动
- Android之什么时候调用onSaveInstance方法的时候(为什么按Home键盘会调用,按Back不调用)
- Android NDK 在Release模式下编译提示找不到方法的问题
- 学习编程的过程中可能会走哪些弯路,有哪些经验可以参考?
- 2017.4.17
- CF-Codeforces Round #409 (rated, Div. 2, based on VK Cup 2017 Round 2)-A-Vicious Keyboard
- JS+html+css实现的一个小小的贪吃蛇游戏
- AngualrJs入门第一页