码迷,mamicode.com
首页 >  
搜索关键字:时间复杂度    ( 8884个结果
快速排序、堆排序和归并排序的实现
1、快速排序 通过选择轴值,一次划分都能确定该轴值得位置,其时间复杂度最好的情况(每次划分都恰好将区间平分为等长的两半)下为Ο(nlgn),最差情况(每次划分将区间分成0与n-1)为O(n^2)。其空间复杂度考虑递归的栈深为O(lgn)。 1 /********************...
分类:其他好文   时间:2014-05-16 19:24:46    阅读次数:361
把数组排成最小的数
我们先把数组中的整数转换成字符串,在函数compare中定义比较规则,并根据该规则用库函数qsort排列。最后把排序好的数组中的数字依次打印出来,就是该数组中数字拼接出来的最小数字。这种思路的时间复杂度是O(nlogn)。
分类:其他好文   时间:2014-05-16 09:22:04    阅读次数:262
山东理工大学的训练计划
SDUT集训计划假设已有C/C++/JAVA中任何一门程序设计语言基础,熟练掌握基本语法。Step1:入门hdu——water~,刷完Step2:数据结构——课本算法代码熟敲。数据结构需要掌握的内容(数据结构C语言版严蔚敏|吴伟民):第1章绪论算法和算法分析(时间复杂度分析和空间复杂度分析)第2章线...
分类:其他好文   时间:2014-05-16 05:25:47    阅读次数:371
数据结构之排序
1.排序的分类在待排序的文件中,若存在多个关键字相同的记录,经过排序后这些具有相同关键字的记录之间的相对次序保持不变,该排序方法是稳定的;若具有相同关键字的记录之间的相对次序发生变化,则称这种排序方法是不稳定的。稳定的排序时间复杂度 空间复杂度冒泡排序最差和平均是O(n2),最好是O(n) 1双向....
分类:其他好文   时间:2014-05-15 16:54:49    阅读次数:297
第七章 快速排序
快速排序最坏情况下时间复杂度是O(n*n),但是它平均时间复杂度是O(N*logn),并且常数因子很小,可实现就地排序,所以被作为内排序的常用排序方法. #include using namespace std; void swap(int &i,int &j) { int temp=i; i=j; j=temp; } int partition(int *vector...
分类:其他好文   时间:2014-05-15 06:05:35    阅读次数:254
leetCode-002 Median of Two Sorted Arrays
leetCode-002 Median of Two Sorted Arrays 【题目】 There are two sorted arrays A and B of size m and n respectively. Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)). 【题意】 有两个有序的数组,找出这两数组整合后的中位数,要求时间复杂度O(nlogn)...
分类:其他好文   时间:2014-05-15 04:42:05    阅读次数:274
位图排序
基于比较的排序时间复杂度至少为O(nlgn),在时间上堆排序和快速排序基本上都达到了比较排序的极限,如果要获取更快的排序速度,就需要找不是基于比较的排序方法,位图排序就是其中的一个。 位图排序是效率最高的排序算法,其时间复杂度是O(n),空间复杂度也非常小,但是要求输入的数据不能重复,而且要知道数据的范围。 位图排序的思想比较简单,用计算机的每一位表示一个数,一个int类型的变量就能表...
分类:其他好文   时间:2014-05-15 04:41:27    阅读次数:262
左旋转字符串
题目描述: 定义字符串左旋转操作:把字符串前面的若干个字符移动到字符串尾部,如把字符串 abcdef 左旋转 2 位得到字符串 cdefab。请实现字符串左旋转的函数,要求对长度为 n 的字符串操作的时间复杂度为 O(n),空间复杂度为 O(1)。 解法一:暴力移位法 此方法就是将需要移动的字符串逐个移动到大字符串的末尾 移动一个字符(java方法) /** * * ...
分类:其他好文   时间:2014-05-14 20:55:47    阅读次数:281
判断素数的方法
判断n是否为素数1、最简单的方法:用n除以2~sqrt(n),有一个能除尽就不是素数,否则是素数。时间复杂度:O(sqrt(n))为什么是sqrt(n),n的开方呢? 假设n是个合数,它必然可以由两个数a,b相乘而得到,即a*b = n。在这两个数中,如果a>sqrt(n), 则bsqrt(n), ...
分类:其他好文   时间:2014-05-14 18:05:31    阅读次数:363
算法导论第六章 堆排序
建堆的时间复杂度是O(n),堆排序的时间复杂度是O(NLogN),具体算法如下所示: #include using namespace std; void swap(int &i,int &j) { int temp=i; i=j; j=temp; } void shiftDown(int *A, int start,int len) { int temp=A[...
分类:其他好文   时间:2014-05-13 13:55:15    阅读次数:270
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!