码迷,mamicode.com
首页 >  
搜索关键字:空间复杂度    ( 2067个结果
归并排序 空间复杂度为O(1)的做法
#include #include using namespace std; void print(int *arr, int start, int end) { for (int i = start; i arr[j]) { k = j; key = arr[j]; whi...
分类:编程语言   时间:2015-10-27 11:21:35    阅读次数:189
算法-时间复杂度和空间复杂度
没有做过上百遍面试题,就不会知道生活的压力有多大一、算法的时间复杂度和空间复杂度合称为算法的复杂度 1、时间频度: 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。 但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间...
分类:编程语言   时间:2015-10-26 17:04:26    阅读次数:238
基本数据结构之Sort
问题描述:? BubbleSort InsertionSort ShellSort MergeSort HeapSort QuickSort 问题分析: 时间复杂度?? 空间复杂度? 代码实现: public?class?BubbleSort?{ ????public?static?<AnyType?extends?...
分类:其他好文   时间:2015-10-25 22:57:21    阅读次数:529
C++的一道变态题
题目大概是这样的:有两个数组a[N],b[N],求构造 b[i]=a[0]*a[1]*a[2]*...a[N-1]/a[i], 要求:1、不能使用除法。2、空间复杂度O(1),时间复杂度O(n)。3、除循环计数器和a[N]、b[N],不能使用其他变量。 个人看法: 与N有关,又要求空间复杂度O(1)...
分类:编程语言   时间:2015-10-25 18:01:24    阅读次数:122
算法复杂度
算法复杂度,即算法在编写成可执行程序后,运行时所需要的资源,资源包括时间资源和内存资源。同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。时间复杂度编辑(1)时间频度一个算法执行所耗费...
分类:编程语言   时间:2015-10-22 17:20:39    阅读次数:200
morris算法-----高级二叉树遍历算法
在遍历儿叉树时,常常使用的是递归遍历,或者是借助于栈来迭代,在遍历过程中,每个节点仅访问一次,所以这样遍历的时间复杂度为O(n),空间复杂度为O(n),并且递归的算法易于理解和实现。在遍历过程中,递归遍历过程的空间复杂度却是O(n),就算是转换为使用栈空间迭代时间,还是没有改变算法对额外空间...
分类:编程语言   时间:2015-10-22 00:03:25    阅读次数:326
20151021
题目一给定一个无序数组,请调整该数组,调整成奇数放在数组的左边,偶数放在数组的右边。但是奇数与奇数之间的相对顺序不变,偶数和偶数之间的相对顺序也不变。要求思考:如果额外空间复杂度必须为O(1),时间复杂度可以做到什么程度呢?01 stable sort归并排序内部缓存法实现bfprt题目二给定一棵二...
分类:其他好文   时间:2015-10-21 22:45:20    阅读次数:188
2015-10-21 算法的时间复杂度和空间复杂度课后总结
I 算法效率的度量有两种主要的方式:1、事后统计法:这种方法可行,但不是一个好的方法。该方法有两个缺陷:一是要想对设计的算法的运行性能进行评测,必须先依据算法编制相应的程序并实际运行;二是所得时间的统计量依赖于计算机的硬件、软件等环境因素,有时容易掩盖算法本身的优势。2、事前估计法:在编写程序前,依...
分类:编程语言   时间:2015-10-21 17:33:43    阅读次数:291
面试题40:数组中只出现一次的数字
题目描述一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。题目分析剑指Offer(纪念版)P211① 自己与自己异或为0② 0与数A异或为A③ 异或满足交换律代码实现void FindNumsAppearOnc...
分类:编程语言   时间:2015-10-20 22:43:36    阅读次数:199
(算法)只出现两次的最小数
题目:给定一数组,里面的数字为1~N,每个数出现一次或两次,求只出现一次的最小数。要求:空间复杂度:O(1),时间复杂度:O(n)思路:题目给定的数字为1~N,因此可以通过交换的方法,将数组下标与数字对应存放,如数字1与下标为0的数字交换,数字3与下标为2的数字交换。1、设置变量min来保存出现两次...
分类:编程语言   时间:2015-10-19 19:23:30    阅读次数:136
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!