码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
Hark的数据结构与算法练习之堆排序
前言堆排序我是看了好半天别人的博客才有了理解,然后又费了九牛二虎之力才把代码写出来,我发现我的基础真的很差劲啊……不过自己选的路一定要坚持走下去。我试着把我的理解描述出来,如有不妥之处希望大家可以指点出来算法说明堆排序,是基于堆的排序。 堆也就是二叉树的一种(完全二叉树),首先要确定堆的定义,才可以...
分类:编程语言   时间:2015-03-17 07:03:33    阅读次数:169
排序算法总结
目录简介交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序总结简介排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参...
分类:编程语言   时间:2015-03-16 08:38:00    阅读次数:264
堆排序、胜者树、败者树,孰优孰劣?
在顺序存储结构中,堆排序是一种非常不错的高级选择排序算法,普通情况和最差情况下都可以将时间复杂度控制在O(n * logn)。 堆排序可以用在顺序存储结构,是因为完全二叉树的一种独特性质。而这里还要先提一下满二...
分类:编程语言   时间:2015-03-15 21:30:04    阅读次数:451
堆排序
1 template 2 void percolatedown(T a[], int n, int i) 3 { 4 T tm = a[i]; 5 int child = i a[child+1]) 9 child++;10 if (tm >...
分类:编程语言   时间:2015-03-15 21:12:36    阅读次数:174
《转载》一步一步写算法(之 算法总结)
自10月初编写算法系列的博客以来,陆陆续续以来写了几十篇。按照计划,还有三个部分的内容没有介绍,主要是(Dijkstra算法、二叉平衡树、红黑树)。这部分会在后面的博客补充完整。这里主要是做一个总结,有兴趣的朋友可以好好看看,欢迎大家提出宝贵意见。 (1) 排序算法 快速排序 合并排序堆排序选...
分类:编程语言   时间:2015-03-15 18:07:09    阅读次数:184
C语言实现数据结构中的堆创建,堆排序
#include "stdio.h"#include "stdlib.h"void swap(int *a,int *b)//交换两个数{int t;t=*a;*a=*b;*b=t;}void minheap(int *a,int i) //小根堆的调整,在i节点向上调整,根据一个所给的数组,对数....
分类:编程语言   时间:2015-03-14 21:43:47    阅读次数:353
冒泡法、选择法、插入法、二分法
小序            排序是非常重要且很常用的一种操作,有冒泡排序、选择排序、插入排序、希尔排序、快速排序、堆排序等多种方法。这里我们先简单介绍前三种排序算法和代码的实现,其余算法将在后续课程《数据结构》中学习到。算法只是一种思想,其实现依赖于数据结构,所以这里提取出一些典型的算法和数据结构,包括排序以及链表/堆栈/队列等结构的操作。 ----------------------...
分类:其他好文   时间:2015-03-14 17:01:30    阅读次数:204
几种排序算法的认识
所有排序算法总结:冒泡排序,快速排序,插入排序,归并排序,堆排序,shell排序,选择排序1. 冒泡排序 很简单的排序,外层循环是n-1趟,内层循环是n-1次两两比较。主要思路:从底部往上冒泡,通过无序区中相邻记录关键字间的比较和位置的交换,使关键字最小的记录如气泡一般逐渐往上“漂浮”直至“水面”....
分类:编程语言   时间:2015-03-13 18:22:50    阅读次数:167
数据结构堆排序
#include #include // 创建一个结构体 typedef struct node{ int data; struct node *left,*right; }BiTreeNode; int rear=0,front=0;//全局变量 //创建完全二叉树 BiTreeNode *CreateBiTree(int a[],BiTreeNode **Q,int n)...
分类:编程语言   时间:2015-03-13 00:25:14    阅读次数:224
Java排序算法(五):堆排序
[算法说明] 堆排序是对简单选择排序的改进 简单选择排序是从n个记录中找出一个最小的记录,需要比较n-1次。但是这样的操作并没有把每一趟的比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟排序时未保存这些比较结果,所以后一趟排序时又重复执行了这些比较操作,因而记录的比较次数较多。 堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆...
分类:编程语言   时间:2015-03-12 22:35:02    阅读次数:206
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!