码迷,mamicode.com
首页 >  
搜索关键字:复杂度    ( 16171个结果
STL中map与hash_map的比较
1. map : C++的STL中map是使用树来做查找算法; 时间复杂度:O(log2N)2.hash_map : 使用hash表来排列配对,hash表是使用关键字来计算表位置; 时间复杂度:O(1), 最坏的时间复杂度:O(n)总体来说:hash_map 比 map 查找速度快,而且查找速度.....
分类:其他好文   时间:2014-06-28 23:22:16    阅读次数:293
快速排序(js版本)
快速排序的时间复杂度为:O(n*log2n),相比较其他O(n2)的排序算法,还是比较有优势的。原文参考在此处,因为本人对原文的一小段代码有点不理解,所以进行了小的修改。1.基本思想:在数组的第一个或最后一个元素里选择一个,作为基准元素,也称中轴。通过排序,让中轴把数组分为俩部分,一部分比中轴小,一...
分类:Web程序   时间:2014-06-28 23:21:31    阅读次数:359
巧妙的邻接表(数组实现)
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是N2,现在我来介绍另外一种存储图的方法:邻接表,这样空间和时间复杂度就都是M。对于稀疏图来说,M要远远小于N2。先上数据,如下。4 51 4 94 3 81 2 52 4 61 3 7 第一行两个整数nm。n表示顶点个数(顶点编号...
分类:其他好文   时间:2014-06-18 10:26:09    阅读次数:250
十大基础实用算法之快速排序和堆排序
使用比较短的篇幅、详细的分析、伪代码、代码和动画详细介绍了快速排序和堆排序,并分析了算法思想和复杂度。值得一看...
分类:其他好文   时间:2014-06-18 06:48:51    阅读次数:210
数据结构《20》----Immutable stack
有趣的函数式数据结构《一》----不可变栈 什么是不可变?往栈中插入一个元素,原来的栈保持不变,返回一个新的栈(已插入新的元素)。 push, pop,getMax 等操作都要求在 常数时间内完成。 可能读者会产生疑惑,既然要返回一个新的栈,是不是就必须先拷贝一份原来的栈,然后在新的栈中插入元素。 但是这样复杂度就是线性的,如何能够在常数时间内完成呢?? 这里,就是immutab...
分类:其他好文   时间:2014-06-18 06:40:42    阅读次数:220
LeetCode: Longest Common Prefix 题解
Write a function to find the longest common prefix string amongst an array of strings.题解: 寻找一组字符串的最长公共前缀。最简单的方法,用一个字符串记录当前最长的公共前缀,然后依次比较。时间复杂度: O(N). ...
分类:其他好文   时间:2014-06-18 00:03:08    阅读次数:274
数据结构 - 归并排序(merging sort)
归并排序(merging sort): 包含2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表.归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如快速排序(quick sort)和堆排序(heap sort),但是归并排序是稳定排序, 而.....
分类:其他好文   时间:2014-06-17 23:47:38    阅读次数:299
【坐在马桶上看算法】算法12:堆——神奇的优先队列(下)
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(logi),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。n=0; for(i=1;i<=m;i++) { n++; h[n]=a[i..
分类:其他好文   时间:2014-06-17 17:54:05    阅读次数:177
【啊哈!算法】算法12:堆——神奇的优先队列(下)
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(log i),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。 n=0; for(i=1;i) { n++; h[ n]=a[ i]; //或者写成scanf("%d",&h[ n]); ...
分类:其他好文   时间:2014-06-17 16:20:33    阅读次数:322
数据结构 - 归并排序(merging sort) 详解 及 代码
归并排序(merging Sort) 详解 及 代码本文地址: http://blog.csdn.net/caroline_wendy归并排序(merging sort): 包含2-路归并排序, 把数组拆分成两段, 使用递归, 将两个有序表合成一个新的有序表.归并排序(merge sort)的时间复杂度是O(nlogn), 实际效果不如快速排序(quick sort)和堆排序(heap sort)...
分类:其他好文   时间:2014-06-17 16:19:56    阅读次数:232
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!