1:冒泡排序:
// BubbleSort.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include
using namespace std;
/*
冒泡排序是稳定排序
时间复杂度是 O(n^2)
*/
void Swap(int& a, int& b)
{
int temp = a;
a = ...
分类:
编程语言 时间:
2015-01-16 14:52:26
阅读次数:
311
当并算法具体解释请见点我想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~所以自己总结了一下,首先看sort函数见下表: 函数名 功能描写叙述 sort 对给定区间全部元素进行排序 stable_sort 对给定区间全部元素进行稳定排序...
分类:
编程语言 时间:
2015-01-06 15:14:43
阅读次数:
195
排序算法比较常见的有:冒泡排序、简单选择排序、直接插入排序;希尔排序、堆排序、归并排序和快速排序算法等。今天先学习一下前面三种比较简单的算法。排序的相关概念:
①排序的稳定性:两个或多个元素相等,排序过后仍然是原来的顺序则为稳定排序。
②内部排序:排序过程都在内存中进行;外部排序:需要对外存进行访问的排序过程。
③内排序算法性能因素:1、时间性能,比较与移动;2、辅助空间;3、算法复杂性
...
分类:
编程语言 时间:
2014-11-05 10:59:35
阅读次数:
228
想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~所以自己总结了一下,首先看sort函数见下表:函数名功能描写叙述sort对给定区间全部元素进行排序stable_sort对给定区间全部元素进行稳定排序partial_sort对给定区间....
分类:
编程语言 时间:
2014-10-10 22:57:04
阅读次数:
296
希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。希尔排序是非稳定排序算法。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时, 效率高, 即可以达到线性排序的效率但插入排序一般来说是低效的, 因为插入排序每次只能将数据移动一位本文地址:ht...
分类:
编程语言 时间:
2014-10-10 14:33:40
阅读次数:
226
这道题目主要是排序,刚开始简单写了一个代码,发现最后一个测试数据。发现超时了,sort排序用的是快排。快排平均是O(NlogN),最坏是O(N*N)。输入数据是10^5级的,最坏的情况会超过10^10,会超时。所以刚开始想用其他排序方法sort()---排序stable_sort---稳定排序hea...
分类:
其他好文 时间:
2014-10-10 00:17:03
阅读次数:
250
梳排序(Comb sort)是一种由Wlodzimierz Dobosiewicz于1980年所发明的不稳定排序算法,并由Stephen Lacey和Richard Box于1991年四月号的Byte杂志中推广。梳排序是改良自冒泡排序和快速排序。在冒泡排序算法中,只比较阵列中相邻的二项,即比较的二项...
分类:
其他好文 时间:
2014-10-09 02:33:07
阅读次数:
145
想起来自己天天排序排序,冒泡啊,二分查找啊,结果在STL中就自带了排序函数sort,qsort,总算把自己解脱了~所以自己总结了一下,首先看sort函数见下表:函数名功能描写叙述sort对给定区间全部元素进行排序stable_sort对给定区间全部元素进行稳定排序partial_sort对给定区间....
分类:
编程语言 时间:
2014-10-05 14:38:08
阅读次数:
299
为方便自己看懂,所以用的语言比较通俗。 排序算法稳定性解释:如果a=b,a原来在b前面,排序算法后a也在b前面,就是稳定排序。 归并排序:稳定排序,时间复杂度为O(NlogN),将若干有序的数组合并成一个有序的数组...
分类:
其他好文 时间:
2014-09-25 17:30:07
阅读次数:
267
参考资料:算法导论性能:给定n个d位数,每一个数位可以取k种可能的值,基数排序算法时间为O(d(n+k)),当d为常数,k=O(n)时,基数排序为O(n)时间优点:稳定排序缺点:不是原地排序实现代码(用户需要提供一个RSHelper的实现即可完成排序,本例给出一个随意的实现仅作示意)RadixSor...
分类:
其他好文 时间:
2014-09-12 23:22:44
阅读次数:
289