码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
对c语言系统库函数、堆排序、希尔排序、折半插入排序、快速排序消耗时间的比较
对c语言系统库函数、堆排序、希尔排序、折半插入排序、快速排序消耗时间的比较...
分类:编程语言   时间:2014-06-10 15:02:33    阅读次数:305
第六章 堆排序
以后尽量能用迭代就别用递归啊,递归只是让自己轻松了,但是却增加了电脑的负担。 package chap06_Heap_Sort;import static org.junit.Assert.*;import java.util.Arrays;import org.junit.Test;public ...
分类:其他好文   时间:2014-06-10 11:57:27    阅读次数:252
普林斯顿公开课 算法4-3:堆排
堆排的灵感源自于堆的数据结构。它是一种原地排序算法,不需要额外的临时数组。 基本思想 堆排的基本思想是: 先建立一个最大堆 将最大的元素移动到数组末尾,减小堆的大小,调整最大堆使其符合最大堆的性质 重复第二步,直到最大堆耗尽为止 第一个步骤建立最大堆的代码非常简单,只要对每个节点执行sink操作即可。 ...
分类:其他好文   时间:2014-06-10 06:55:08    阅读次数:295
堆排序
堆排序 // 测试堆排序 // @start:调整的起点 // @end:调整的终点,在堆排序的过程中,不断地减小调整区间,end参数起作用 void SiftDown(int arr[], int start, int end) { int i = start; int j = 2*i + 1; // j记录的是i结点的左孩子 int temp = arr[i]; ...
分类:其他好文   时间:2014-06-08 16:19:45    阅读次数:187
探讨排序算法的实现
排序算法是我们工作中使用最普遍的算法,常见的语言库中基本都会有排序算法的实现,比如c标准库的qsort,stl的sort函数等。本文首先介绍直接插入排序,归并排序,堆排序,快速排序和基数排序等比较排序算法,然后介绍计数排序,基数排序等具有线性时间的排序算法。本文主要讨论算法的实现方法,并不会过多介绍...
分类:其他好文   时间:2014-06-07 21:23:31    阅读次数:348
算法快速回顾——排序算法
常用排序算法有以下几种:冒泡排序、插入排序、快速排序、归并排序、堆排序。本文将对五种常用算法分析并实现。//交换两个元素的值 这里列出几种不同写法void swap(int *a, int *b){ int c = *a; *a = *b; *b = c;}void swap(in...
分类:其他好文   时间:2014-06-07 20:30:48    阅读次数:315
白话经典算法二叉堆排序之思想简介
常用的排序算法有冒泡排序,插入排序和选择排序。他们的时间复杂度是o(n²),与数据量的平方成正比。他们的效率还是比较低的。现在来说说他们的效率为什么比较低下。以冒泡排序为例,它每一轮都是与相邻的元素进行交换,交换的距离为1,每次每个(没有冒泡出来的)元素都要与前一个比较再交换。每次相邻的比较只能比较出两个元素的大小,不能以整个数组进行参照来确定在整个数组里的大小,也就是说每次的比较不能确定其他元素...
分类:其他好文   时间:2014-06-07 16:16:01    阅读次数:172
快速排序结合插入排序
继上一篇堆排序之后,用相同的数据结构写了个快速排序和插入排序,当数组的长度较小的时候,可使用插入排序,实现如下:QuickSort.h 1 #ifndef __QUICKSORT 2 #define __QUICKSORT 3 #include "MySqList.h" 4 #include "In...
分类:其他好文   时间:2014-06-06 10:50:30    阅读次数:282
#排序算法#【3】堆排序
堆是一个完全二叉树,树中每个结点对应于原始数据的一个记录,并且每个结点应满足以下条件:非叶结点的数据大于或等于其左、右孩子结点的数据(若是按从大到小的顺序排序,则要求非叶结点的数据小于或等于其左、右孩子结点的数据)。由堆的定义可看出,其根结点为最大值,堆排序就是利用这一特点进行的。堆排序过程包括.....
分类:其他好文   时间:2014-06-02 21:00:35    阅读次数:257
简单选择排序
9.4选择类排序法选择排序的基本思想是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。我们主要介绍简单选择排序、树型选择排序和堆排序。简单选择排序简单选择排序的基本思想:第i趟简单选择排序是指通过n-i次关键字的比较,从n-i+1个记录中选出关键字最...
分类:其他好文   时间:2014-06-02 01:42:56    阅读次数:256
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!