快速排序(Quicksort),因其排序之快而得名,虽然Ta的平均时间复杂度也是o(nlgn),但是从后续仿真结果看,TA要比归并排序和堆排序都要快。快速排序也用到了分治思想。(一)算法实现 1 protected void quicksort(int[] array, int first, int...
分类:
编程语言 时间:
2015-06-21 00:39:21
阅读次数:
271
堆排序(Heapsort)是一种利用数据结构中的堆进行排序的算法,分为构建初始堆,减小堆的元素个数,调整堆共3步。(一)算法实现 1 protected void sort(int[] toSort) { 2 buildHeap(toSort); 3 for ...
分类:
编程语言 时间:
2015-06-20 23:31:54
阅读次数:
341
章节简述
本章主要介绍堆,用该数据结构解决下面两个重要的问题:
排序,采用堆排序算法对n元数组排序,所花的时间不会超过O(nlogn),而且只需要几个字的额外空间;
优先级队列,堆通过插入新元素和提取最小元素这两种操作来维护元素集合,每个操作所需的时间都为O(logn);
本章采用自底向上的组织结构,从细节开始逐步过渡到正题。
堆数据结构
该部分介绍堆数据结构的设计思想。...
分类:
其他好文 时间:
2015-06-19 18:51:01
阅读次数:
156
最近做了一个用Unity3D动态演示堆排序过程的程序。堆排序(Heap sort) 堆排序总是建立这样一个二叉树:其父结点总大于其子结点。 首先建堆。 每轮将根结点与最后一个结点互换,然后对剩余部分建堆。您可以在此下载安卓APK。
分类:
编程语言 时间:
2015-06-17 13:22:15
阅读次数:
169
Sort a linked list in O(n log n)
time using constant space complexity.
分析:排序算法中,堆排序、归并排序、快速排序、希尔排序的时间复杂度是nlogn,堆排序和归并排序对下标依赖性比较强,比较适合顺序表的排序,对链表处理起来比较复杂。希尔排序用的比较少。所以我选择的是快速排序,结果是正确的,但时间超出限...
分类:
其他好文 时间:
2015-06-17 11:41:17
阅读次数:
108
---恢复内容开始---从开始准备学编程就一直听算法算法。算法个毛东西?今天开始我就开始准备接触算法算法那么首先就是排序:排序大概份四种排序: 交换排序: 包括冒泡排序,快速排序。 选择排序: 包括直接选择排序,堆排序。 插入排序: 包括直接插入排序,希尔排序。 合并排序: 合并排序。...
分类:
编程语言 时间:
2015-06-16 22:44:14
阅读次数:
163
Description 编写程序堆排序算法。按照非递减排序,测试数据为整数。Input 第一行是待排序数据元素的个数; 第二行是待排序的数据元素。Output 一趟堆排序的结果。Sample Input1231050 36 41 19 23 4 20 18 12 22Sample Output14 ...
分类:
编程语言 时间:
2015-06-16 16:05:13
阅读次数:
161
//堆排序C++实现
#include
#include
using namespace std;
void HeapSort(int* arr, int cnt)
{
function percdown = [&](int* arr, int i, int cnt) //下滤操作
{
int child = 0, tmp = 0;
for (tmp = arr[i]; 2 * ...
分类:
编程语言 时间:
2015-06-13 09:53:00
阅读次数:
205
1. 堆排序是一种不稳定的排序,时间复杂度是O(nlogn),最差也是O(nlogn),堆排序也可看成是一个“完全二叉树”,其中MinHeap经常被当作最小优先队列。堆排序的过程:每次弹出堆的堆顶元素,然后把堆的最右下叫元素交换,然后重新调整堆。调整堆主要依据:找左/右子节点的最大的那个元素,然后交...
分类:
其他好文 时间:
2015-06-08 14:40:20
阅读次数:
210
常见排序算法包括以下七种:选择排序、冒泡排序、插入排序、快速排序、希尔排序、堆排序、归并排序。
在学习具体算法实现并进行比较前,先来学习算法比较的几个维度。
一是稳定性
所谓稳定性,是指值相等的两个元素在排序前后是否会发生位置的交换。如果不会发生交换,则认为是稳定的算法;反之,则认为是不稳定的排序算法。
二是时间复杂度,指执行算法所需的时间长短。简单说就是算法执行的快慢程序。
三是空间复杂...
分类:
编程语言 时间:
2015-06-08 11:40:43
阅读次数:
240