博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
步步为营——算法初阶 1.算法概述
阅读量:4455 次
发布时间:2019-06-07

本文共 905 字,大约阅读时间需要 3 分钟。

--------------------------------------------------------------

1.1什么是算法?

字面义:算法就是用于计算的方法,通过这样的方法能够达到预期的结果。

专业定义:算法是模型分析的一组可行的、确定的和有穷的规则。

从程序设计角度:算法由一系列求解问题的指令构成,可以依据规则的输入在有限的时间内获得有效的输出结果。

 

算法的五个特征:有穷性、确切性、输入、输出、可行性。

 

1.2 算法的发展历史

周髀算经——>9世纪“算法”——>欧几里得算法(碾转相除法)

 

1.3 算法的分类

依照顾用来分类:基本算法、数据结构相关的算法、几何算法、图论算法、规划算法、数值分析算法、加密/解密算法、排序算法、查找算法、并行算法和数论算法等

依照结果的确定性分类:确定性算法和非确定性算法

依照算法的思路分类:递推算法、递归算法、穷举算法、贪婪算法、分治算法、动态规划算法和迭代算法

 

1.4 算法相关概念的区分

1.算法与公式的关系:公式是一种算法,但算法绝不全然等于公式,算法的形式能够更复杂,解决的问题更广泛

2.算法与程序的关系:学习一门程序语言非常easy。正确合理的运用算法来编写却是非常难的

3.算法与数据结构的关系:数据结构是数据的组织形式,能够用来表征特定的对象数据。算法往往依赖某种数据结构。数据结构+算法+程序语言=程序

 

1.5 算法的表示

自然语言表示、流程图表示、N-S图表示和伪代码表示

 

1.6 算法的性能评价

时间复杂度:算法运行所须要耗费的时间,时间越短算法越好。能够对算法代码进行评估。从而得到时间复杂度

空间复杂度:算法程序在计算机中运行所须要消耗的存储空间。可分为

(1)程序保存所须要的存储大小。也就是程序的大小

(2)程序在运行过程中所须要消耗的存储空间资源。比如程序运行过程中中间变量资源

--------------------------------------------------------------

转载于:https://www.cnblogs.com/claireyuancy/p/6798032.html

你可能感兴趣的文章
备忘pwnable.kr 之passcode
查看>>
好久没敲代码了,手有点生——一个小小的时钟
查看>>
运算符 AS和IS 的区别
查看>>
(转)详解C中volatile关键字
查看>>
easyui时的时间格式yyyy-MM-dd与yyyy-MM-ddd HH:mm:ss
查看>>
专题:动态内存分配----基础概念篇
查看>>
Codeforces Round #426 (Div. 2) (A B C)
查看>>
The Most Simple Introduction to Hypothesis Testing
查看>>
UVA10791
查看>>
P2664 树上游戏
查看>>
jQuery 停止动画
查看>>
Sharepoint Solution Gallery Active Solution时激活按钮灰色不可用的解决方法
查看>>
MyBatis Generator去掉生成的注解
查看>>
教你50招提升ASP.NET性能(二十二):利用.NET 4.5异步结构
查看>>
lua连续随机数
查看>>
checkstyle使用介绍
查看>>
history.js 一个无刷新就可改变浏览器栏地址的插件(不依赖jquery)
查看>>
会了这十种Python优雅的写法,让你工作效率翻十倍,一人顶十人用!
查看>>
二维码图片生成
查看>>
在做操作系统实验的一些疑问
查看>>