
排序
文章平均质量分 61
jeiwt
这个作者很懒,什么都没留下…
展开
-
快速排序
单向扫描//单向的void qsort1(int *arr, int begin, int end){ if(begin >= end) return ; int m = begin; //Assert arr[begin+1....m] =arr[begin] ) for(int i=begin+1; i<=end; i++) { if(arr[i]原创 2010-04-13 16:36:00 · 887 阅读 · 0 评论 -
深入分析qsort库函数
近来其实常用到qsort库函数。用法很简单qsort 的函数原型是void __cdecl qsort ( void *base, size_t num, size_t width, int (__cdecl *comp)(const void *, const void* ) ) 其中base是排序的一个集合数组,num是这个数组元素的个数,width是一个元素的大小,comp是一个比较转载 2010-04-08 09:58:00 · 5039 阅读 · 3 评论 -
归并排序
<br />时间复杂度O(N*logN)<br />空间复杂度O(N)<br /> <br />对应申请的临时存储空间,应该及时释放,避免内存猛增与内存泄露<br /> <br />#include<stdio.h> #include<stdlib.h> //array[begin...mid] is sorted //array[mid+1...end] is also sorted void merge(int *arr, int begin, int mid, int end) {原创 2010-09-10 10:43:00 · 458 阅读 · 0 评论 -
关于内部排序的小总结
数据结构本科就没好好学,甚是后悔~~~ 排序这东西我也总是看了就忘... 常见的排序: 1. 插入排序 (稳定排序,时间复杂度o(n^2));2. 冒泡排序 (稳定排序,时间复杂度o(n^2);3. 快速排序 (非稳定排序,时间复杂度平均o(N*logN),最差情况下时间复杂度也为o(n^2));(书上说递归栈上空间占用o(logN),被快速排序所使用的空间,依原创 2010-01-07 21:23:00 · 650 阅读 · 1 评论 -
堆排序
#include#include#define Left(x) ((x)<<1)#define Right(x) (((x)<<1) + 1)//Be careful + opeator > << operator//假设数组从标号1开始存数值//在Left(x)与Right(x)已经是大根堆的情况下void heapify(int x, int *arr,原创 2010-04-19 15:49:00 · 570 阅读 · 0 评论 -
归并排序(二分) 应用
原文 见 http://blog.youkuaiyun.com/mitedu/article/details/3882343转载 2014-07-24 22:56:31 · 850 阅读 · 0 评论 -
6天通吃树结构
第一天 儿茶 http://www.cnblogs.com/huangxincheng/archive/2012/07/21/2602375.html转载 2014-07-28 22:53:30 · 1671 阅读 · 0 评论