课程内容第1章 免费试看2 视频 | 2 练习字符串和二叉树问题免费试看1.1 二叉树打印 免费1.2 二叉树打印练习题 免费1.3 字符串 免费1.4 两串旋转练习题 免费 第2章 排序4 视频 | 16 练习详细介绍常见的排序算法过程,以及各个排序算法稳定性、时间和空间复杂度,当然还有常见面试题 ...
分类:
编程语言 时间:
2017-12-08 18:36:17
阅读次数:
214
#include using namespace std; //计算fibonacci数 //方法一:二分递归法,时间复杂度为O(2^n),额外空间复杂度为常数 int RecursiveFibonacci(int n) { return (n < 2) ? n : RecursiveFibonac... ...
分类:
其他好文 时间:
2017-12-06 20:00:24
阅读次数:
152
完美洗牌算法 题目详情:有个长度为2n的数组{a1,a2,a3,...,an,b1,b2,b3,...,bn},希望排序后{a1,b1,a2,b2,....,an,bn},请考虑有无时间复杂度o(n),空间复杂度0(1)的解法。 http://blog.csdn.net/starcuan/artic ...
分类:
编程语言 时间:
2017-12-03 17:15:42
阅读次数:
176
Write a function to find the longest common prefix string amongst an array of strings.第二遍做法:时间复杂度应该是O(m*n),m表示字符串的最大长度,n表示字符串的个数,空间复杂度应该是O(m),即字符串的长度 ... ...
分类:
其他好文 时间:
2017-12-03 13:00:03
阅读次数:
186
直接插入排序是一种非常简单的排序,基本思想是:依次将带排序序列中的每一个记录插入到一个以排序好的序列中,直到全部记录都有序。 在这个过程中,为了减少比较次数,在数组0下标位置设置一个哨兵。直接插入排序简单直观,但是效率较低,时间复杂度为O(n2),因为需要一个哨兵,所以空间复杂度为O(1)。 下面是 ...
分类:
编程语言 时间:
2017-11-30 14:03:59
阅读次数:
170
希尔排序图解:时间复杂度O(nlog2n),空间复杂度O(1) 数组:[243, 5, 7, 22, 3, 11] 核心代码实现: ...
分类:
编程语言 时间:
2017-11-29 16:14:06
阅读次数:
257
插入排序图解:时间复杂度O(n^2),空间复杂度O(1) 数组:[243, 5, 7, 22, 3] 核心代码实现: ...
分类:
编程语言 时间:
2017-11-29 14:38:48
阅读次数:
194
选择排序图解:时间复杂度O(n^2),空间复杂度O(1) 数组:[243, 5, 7, 22, 3] 选出第一个最小值: 选出第二个最小值: 选出第三个最小值: 选出第四个最小值: 核心代码实现: ...
分类:
编程语言 时间:
2017-11-29 12:49:30
阅读次数:
453
选择排序法会在每一步中选出一个最小值,进而完成排序。与插入排序法和冒泡排序法一样,选择排序法的各个计算步骤中,数组也分成“已排序部分”和“未排序部分”。 具体流程: 重复执行 n 1(数组长度为n)次下述操作 1. 找出未排序部分最小值的位置min(数组中的索引)。 2. 将min位置的元素与未排序 ...
分类:
编程语言 时间:
2017-11-29 10:22:03
阅读次数:
167
随机洗牌算法: 时间和空间复杂度都为O(n)。 可以由概率算出,每个数(每张牌)在每个位置的概率都是1/maxn。 ...
分类:
编程语言 时间:
2017-11-28 13:26:49
阅读次数:
140