概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。快速排序:是目前基于比较的...
分类:
编程语言 时间:
2015-07-10 20:43:43
阅读次数:
94
// Heap.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includeint h[101];//存放数组int n;//存放数组元素个数using namespace std;//void swap(int *a,int *b)//{// int temp...
分类:
编程语言 时间:
2015-07-09 11:01:43
阅读次数:
122
游戏中,活动的定时开启及游戏数据的定时保存等等,都会用到定时器。而堆排序对于定时器的实现有着至关重要的作用。
定时器的工作原理:
定时器的工作原理的工作原理其实不难,就是内部保存多个时间及其回调函数,当系统时间达到我们保存的时间值时,就执行回调函数;从而达到定时工作的效果。
同时,判断是否达到指定时间时,只需要判断最早的时间(最早的时间没有达到,更晚的时间肯定不会达到),因此需要对时间列...
分类:
其他好文 时间:
2015-07-09 00:53:39
阅读次数:
93
6.1 堆## 6.1-1 ##
在高度为h的堆中,最多元素为2 ^(h+1)-1 个,最少元素有 2^h+1 个## 6.1-3 ##
最大堆的特性是除了根结点外的每个结点都有A[PARENT(i)]>=A[i]故,在一个最大堆的某颗子树中最大元素必然位于该子树的根上。## 6.1-4 ##
根据最大堆的性质,任何子树的子结点都小于根节点,故整棵树的最小元素必然位于堆的最底层或者倒数第二层的叶子...
分类:
编程语言 时间:
2015-07-08 22:37:48
阅读次数:
166
一、堆排序 (Heap ?sort) ? ? ?定义: 完全二叉树的非终端节点的值均不大于(不小于)子节点的值 ? ? ?存储结构: ?数组 | ?vector ? ? ?逻辑结构: ?完全二叉树 ? ? ?性质: ? ? ? ? ? ...
分类:
其他好文 时间:
2015-07-08 16:45:48
阅读次数:
121
1 package iYou.neugle.sort; 2 3 public class Heap_sort { 4 public static void HeapSort(double[] array) { 5 for (int i = (int) Math.floor...
分类:
编程语言 时间:
2015-07-06 15:52:47
阅读次数:
153
目录:算法一:快速排序算法算法二:堆排序算法算法三:归并排序算法四:二分查找算法算法五:BFPRT(线性查找算法)算法六:DFS(深度优先搜索)算法七:BFS(广度优先搜索)算法八:Dijkstra算法算法九:动态规划算法算法十:朴素贝叶斯分类算法算法一:快速排序算法快速排序是由东尼·霍尔所发展的一...
分类:
编程语言 时间:
2015-07-05 18:08:51
阅读次数:
259
一、冒泡排序[java]view plaincopyprint?packagesort.bubble;importjava.util.Random;/***依次比较相邻的两个数,将小数放在前面,大数放在后面*冒泡排序,具有稳定性*时间复杂度为O(n^2)*不及堆排序,快速排序O(nlogn,底数为2...
分类:
编程语言 时间:
2015-07-02 00:52:51
阅读次数:
212
主要内容:1、什么是堆?2、如何建堆3、堆排序4、参考代码一、什么是堆?“堆”是个很有趣的数据结构,是个完全二叉树。“堆”的特性:每个节点的键值一定总是大于(或小于)它的父节点(大于:称为“最大堆”,小于:称为“最小堆”),或者说每个节点总是大于或小于它的子节点。对于最大堆而言,根节点为最大值;对于...
分类:
编程语言 时间:
2015-07-01 13:40:31
阅读次数:
161
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较...
分类:
编程语言 时间:
2015-07-01 09:55:58
阅读次数:
274