码迷,mamicode.com
首页 >  
搜索关键字:时间复杂度    ( 8884个结果
冒泡排序
1 算法原理元素依次两两比较,大的数往后浮出,那么第一趟当n-2与n-1比较后,最大的数即浮到最后一个位置。第二趟,当n-3与n-2比较时,第二大的数即浮到倒数第二个位置。最后一趟,当0与1向比较的时候,最小的和第二小的数确定。冒泡排序时间复杂度为O(n^2),速度比较慢。当数组长度为10万时,就耗...
分类:其他好文   时间:2014-06-18 12:47:17    阅读次数:172
【Leetcode】Set Matrix Zeroes
Given a m x n matrix, if an element is 0, set its entire row and column to 0. Do it in place. Could you devise a constant space solution? 思路:因为需要遍历整个矩阵,时间复杂度肯定需要O(m * n),对于空间复杂度而言,第一种是可以使用O(m * n),...
分类:其他好文   时间:2014-06-18 12:33:39    阅读次数:167
巧妙的邻接表(数组实现)
之前我们介绍过图的邻接矩阵存储法,它的空间和时间复杂度都是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
【坐在马桶上看算法】算法12:堆——神奇的优先队列(下)
接着上一Pa说。就是如何建立这个堆呢。可以从空的堆开始,然后依次往堆中插入每一个元素,直到所有数都被插入(转移到堆中为止)。因为插入第i个元素的所用的时间是O(log i),所以插入所有元素的整体时间复杂度是O(NlogN),代码如下。n=0;for(i=1;i=1;i--) siftd...
分类:其他好文   时间:2014-06-17 20:36:51    阅读次数:298
【坐在马桶上看算法】算法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
《数据结构与算法分析:C语言描述》复习——第四章“树”——伸展树
2014.06.15 20:42简介: 伸展树是一种介于普通二叉搜索树和AVL树之间的,比较平衡的一种二叉搜索树。它不像AVL树那样总是高度平衡,虽然单次操作的就可能耗费O(n)时间,但连续M次基本操作的时间复杂度能做到O(M * log(N)),M当然不能和1太接近。这种复杂度叫做均摊复杂度,英....
分类:编程语言   时间:2014-06-17 00:21:20    阅读次数:363
《python源码剖析》笔记 python中的Dict对象
1.PyDictObject对象 --> C++ STL中的map是基于RB-tree的,搜索时间复杂度是O(logN) PyDictObject采用了hash表,时间复杂度是O(1) typedef struct{ Py_ssize_t me_hash; //me_key的hash值,避免每次查询都要重新计算一遍hash值 PyObject *me_key; PyObject *me_value; }PyDictEntry; 将(key,value)对称为entry,它可以在3种状态...
分类:编程语言   时间:2014-06-16 21:22:45    阅读次数:272
TOJ---2621--全排列
这个方法 是超神教我的 --- 全排列的方法太多种了 感觉他这种写的 字典序法 是最简单的 最容易让人接受的而且在时间复杂度和空间复杂度上 都可以让人接受我待会将具体每步做法简要写一下...-> 我现在被一个 三角形给 深深烦死了 。。。。。。贴个代码 来 缓解下..... 1 #include ....
分类:其他好文   时间:2014-06-16 13:09:45    阅读次数:190
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!