算法基础篇之算法简介

本文介绍了算法的基本概念,包括算法的定义、特征、分类,并探讨了算法与数据结构和程序的关系。同时,文章详细阐述了算法的表示形式如自然语言、流程图等,以及如何评价算法的性能,重点讨论了时间复杂度和空间复杂度的概念及其重要性。最后,提到了寻找算法最优解的重要性以及在验证算法正确性时使用对数器的必要性。
摘要由CSDN通过智能技术生成

一、 什么是算法?

定义:算法是模型分析的一组可行的、确定的和有穷的规则。
通俗的讲:算法可以理解为一个完整的解题步骤,由一些基本运算和规定的运算顺序构成,可以解决特定问题的流程。

二、算法的特征

有穷性:算法的指令或者步骤的执行次数是有限的
确切性:每一个指令或步骤都必须有明确的定义和描述
输入性:一个算法有相应的输入条件,用来刻画对象的初始条件
输出性:一个算法有明确的结果输出
可行性:算法的执行步骤必须是可行的,且可以在有限的时间内完成。

三、算法的分类

按照应用分类
基本算法、数据结构算法、几何算法、图论算法、规划算法、数值分析算法、 加密/解密算法、排序算法、查找算法、并行算法、数论算法
按照确定性分类
确定性算法: 这类算法在有限的时间内完成计算,得到的结果是惟一的,且经常取决于输入值。
非确定性算法: 这类算法在有限的时间内完成,但是得到的结果不是唯一的,存在多植性。
按照思路分类:
递推算法、递归算法、穷举算法、贪婪算法、分治算法、动态规划算法、迭代算法等等

四、算法与数据结构和程序的关系

数据结构+算法+程序设计语言=程序

五、算法的表示形式

自然

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值