算法
我不叫小海南
这个作者很懒,什么都没留下…
展开
-
7中排序算法学习总结(图解+程序代码)
我们通常所说的排序算法往往指的是内部排序算法,即数据记录在内存中进行排序。 排序算法大体可分为两种: 一种是比较排序,时间复杂度O(nlogn) ~ O(n^2),主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。 另一种是非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。常用排序算法的时间复杂转载 2017-06-08 17:08:49 · 9062 阅读 · 1 评论 -
时间复杂度和空间复杂度详解
算法的复杂度分为时间复杂度和空间复杂度1、时间复杂度 表示为总的执行次数T(n)是关于问题规模n的函数,也就是T(n)随着n的变化,用一个函数表示为: T(n) = O(f(n))所以我们说到算法的时间复杂度原创 2017-06-21 21:37:10 · 499 阅读 · 0 评论 -
递归详解(斐波拉契和汉诺塔应用)
1、什么是递归递归是一种特殊的算法,简单来说,程序中的函数不仅仅是被其他函数调用,也可以被自己本身调用,一个函数调用自己就是所谓的“递归”。任何可以用选择结构和循环结构来编写的程序代码,都可以用递归编写。2、递归的条件(1)可以反复执行的递归过程(2)有一个跳出递归过程的条件,也就是不能无限递归。举一个简单的例子,数学中的阶乘我们可以用递归的思想去解决。3的阶乘我们可以表示3!原创 2017-06-23 12:54:34 · 763 阅读 · 0 评论