透彻理解时间复杂度

透彻理解时间复杂度

若觉得本文写得还可以,请多多关注本人所作书籍《C++语法详解》电子工业出版社出版,网盘地址:
https://pan.baidu.com/s/1dIxLMN5b91zpJN2sZv1MNg

本文为原创文章,转载请注明出处,或注明转载自“黄邦勇帅(原名:黄勇)

本文是本人所作文章《透彻理解渐近表示法》的后续,若读者不怎么理解渐近表示法可参该文章

时间复杂度是用来衡量算法好坏的,因此,首先需要对算法及其衡量标准作一讲解

一、算法的定义

1、算法是为解决某一问题而设计的一个指令的序列。算法应具有以下特点:

  • 输入和输出:这是明显的,通常,一个问题需要根据期望的输入通过算法产生一个期望的输出作为结果,也就是说,算法用于求解输入和输出之间的关系。
  • 正确性:对每个输入,算法都应以正确的输出停机。当然,这并不代表不正确的算法就没有用,若算法的错误率可控有时也是有用的。
  • 有限性:很明显,任意算法都应在执行有限次数之后终止运行并给出输出。若一个算法具有算法的所有其他特点,但缺少有限性,则这个算法被叫做计算方法,计算方法有时也是有用的。
  • 确定性和可行性:是指算法应由若干语义明确的基本操作组成,且每一基本操作在对应的计算机模型中是可兑现的。

2、针对一个问题需要先设计出一个算法(注:一个问题通常会有多种算法),然后还需证明该算法的正确性、有限性࿰

猜你喜欢

转载自blog.csdn.net/hyongilfmmm/article/details/103575022