从零到壹深入解析算法——算法概述

本文是E·udemon在线博客的从零到壹算法解析系列,介绍了算法与程序的区别,强调算法的五条性质,并探讨了算法的时间复杂性和空间复杂性。此外,还讲解了NP完全性理论,包括NP类问题和NPC问题的概念,以及相关典型场景。
摘要由CSDN通过智能技术生成

欢迎查看E·udemon在线博客

你好! 从零到壹深入解析算法系列博客,是以计算机算法设计与分析为基础,针对算法概念与例题编程实践理解稍有疑惑的朋友,此博客将会详细地讲解概念与代码的含义。

一、算法与程序

1.1算法

算法是由若干条指令组成的又穷序列,是解决问题的一种通用模型或基本方法。并且满足以下五条性质:

  1. 输入:有零个或者多个输入,零个指算法自身定义的初始条件,多个指由外部提供的量
  2. 输出:至少有一个量作为输出,否则算法是没有意义的
  3. 确定性:要求算法指令清晰,没有歧义
  4. 有穷性:每条指令执行的次数有限,执行每条算法的时间有限。

1.2程序

程序就是算法使用某种程序设计语言(C,C++,Java,Python…)的具体实现
可以不满足算法的性质4,可以无限循环执行程序。例如,while(true)。

二、算法复杂性分析

2.1算法复杂性

在能解决问题的前提下,通常以算法的时间复杂性与空间复杂性来衡量算法的优劣
时间复杂性:
算法的时间复杂性是一个函数,描述了算法需要的时间资源。量级,只关注算法复杂度的最高项。一般考虑三种情况下的时间复杂性: 最坏情况、最好情况、平均情况。


                
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值