算法的优劣通常用
算法的优劣通常用:时间复杂度和空间复杂度、递推法、递归法等等方法 。
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、递归法 。
程序调用自身的编程技巧称为递归 。一个过程或函数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量 。递归的能力在于用有限的语句来定义对象的无限集合 。
【算法的优劣通常用】一般来说,递归需要有边界条件、递归前进段和递归返回段 。当边界条件不满足时,递归前进 。当边界条件满足时,递归返回
推荐阅读
- 早安的说说正能量 比较正能量的早安心语
- 难过的夜晚说说
- 怎样做饼子简单又好吃,怎样做的饼子又软又好吃
- 有什么软件可以查看附近的手机店
- 全程通关玩法图文详细攻略 大精灵之泉旁边的神庙怎么解
- 未安装的app在哪一个文件夹,没安装成功的软件在哪里找
- 挖树根的最简单方法 怎么挖树根最简单
- 工业除锈方法有哪些,货车水箱除锈的方法有哪些
- 一文看懂事件营销的作用 蒙牛事件营销成功案例分析
- 浏览器缓存的视频在哪