算法的优劣通常用

作者:原创时间:2022-06-27
文档

算法的优劣通常用:时间复杂度和空间复杂度、递推法、递归法等等方法。

1、时间复杂度。

算法的时间复杂度是指执行算法所需要的计算工作量。一般来说,计算机算法是问题规模n的函数f(n),算法的时间复杂度也因此记做。

T(n)=Ο(f(n))。

因此,问题的规模n越大,算法执行的时间的增长率与f(n)的增长率正相关,称作渐进时间复杂度。

2、空间复杂度。

算法的空间复杂度是指算法需要消耗的内存空间。其计算和表示方法与时间复杂度类似,一般都用复杂度的渐近性来表示。同时间复杂度相比,空间复杂度的分析要简单得多。

空间复杂度记做S(n)=O(f(n))。比如直接插入排序的时间复杂度是O(n^2),空间复杂度是O(1)。而一般的递归算法就要有O(n)的空间复杂度了,因为每次递归都要存储返回信息。一个算法的优劣主要从算法的执行时间和所需要占用的存储空间两个方面衡量。

算法的方法:

1、递推法。

递推是序列计算机中的一种常用算法。它是按照一定的规律来计算序列中的每个项,通常是通过计算机前面的一些项来得出序列中的指定项的值。其思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。

2、递归法。

程序调用自身的编程技巧称为递归。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。

一般来说,递归需要有边界条件、递归前进段和递归返回段。当边界条件不满足时,递归前进。当边界条件满足时,递归返回

显示全文
2022愚人节祝福语汇总 国内十大最美直播女神 中型鹦鹉有哪些 2022年7月8日是清扫房屋吉日吗 2022年农历六月初十清扫房屋吉日 什么手机电池格是叶子 青椒油碟怎么做 2022年爱情祝福语短信大全 论文选题理由怎么写 为什么很多人吃老干妈上瘾 深圳小型服装加工厂哪里有 2022年7月8日大扫除好吗 2022年7月8日大扫除行吗 上市公司股东如何赚钱 2022年7月8日是理头的黄道吉日吗 2022年7月8日理头吉日一览表 送给亲人们的端午节祝愿 佳能打印复印传真一体机怎么用 智能马桶盖优点有哪些 最新2022新郎给新娘的一段话 老干妈保质期是多久 汽车多少年报废年限 赵匡胤“偷菜”的故事 猪油有什么好处和害处 过小年祝福语短信2022 结婚拿花球祝福语 一个关于公主的珍珠鞋故事 巴西特产水果有哪些 送给朋友的结婚祝福短信 圣诞心愿卡祝福语集锦 什么锻造过热 2022年7月8日开学黄道吉日 2022年7月8日开学好吗 什么什么秀丽成语 如何申请全民主播 2022年7月8日上学吉日一览表 论语关于智慧的语录 2022年7月8日上学黄道吉日 河初三祝福语 晚上不吃饭的危害