码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
常见排序算法之python实现
本文介绍了几种常用的排序算法,包含冒泡排序,选择排序,插入排序,归并排序,快速排序,堆排序,本文涉及的代码可以在https://github.com/lianyingteng/Programming-practice上找到 1. 冒泡排序 时间复杂度为O(n^2), 稳定的排序算法 思路:一开始比较 ...
分类:编程语言   时间:2017-10-27 01:18:27    阅读次数:205
堆排序代码实现
array=[0,30,20,80,40,50,10,60,70,90] #待排序序列 #i=4-1或1 #n=len(array) total=len(array)-1 #调整为大顶堆,i是指从哪个结点开始调整,n代表待排序元素总数 defadjust_heap(n,i,array): #length=len(array) #print_tree(array) whilei*2<=n: lchild_index=2*i max_child..
分类:编程语言   时间:2017-10-26 00:04:05    阅读次数:209
堆排序算法
堆排序(HeapSort)概念堆在树中是一个完成二叉树 堆分为大顶堆和小顶堆 大顶堆:非叶子结点的值大于或等于其左右孩子结点 小顶堆:非叶子结点的值小于或等于其左右孩子结点 特征:堆的根结点的值肯定是极值堆排序的实现步骤构建完全二叉树 将此完全二叉树调整为堆 根据堆的特性,使..
分类:编程语言   时间:2017-10-25 23:36:26    阅读次数:247
最小堆排序MinHeap
MinHeap基本性质 MinHeap用途 1.求一个数列中的第K大的数,建立一个大小为K的最小堆,堆顶就是第K大的数 2.递归去除最顶元素,用于取top K等。 MinHeap可设置容量上限N带来两个好处: 以上述思想,接下来开始java编码: 我们要用inputs=[1, 2, 5, 12, 7 ...
分类:编程语言   时间:2017-10-23 20:47:55    阅读次数:297
堆(利用堆进行数组排序)-堆排序
将随意填充的数组排序成堆的形式,然后进行删除堆的操作,因为堆删除的永远是当前堆中最大的,根据这个特性,可以获取有序的数组(排成堆)从最后一个父节点开始向下调整,一直到最上面的父节点。(删除堆)删除操作,获得的是当前最大的值 ...
分类:编程语言   时间:2017-10-23 15:02:46    阅读次数:231
MergingSort
递归排序的两种实现 <script type="text/javascript"> //归并排序(递归实现) //思想:堆排序利用了完全二叉树的性质,但是比较麻烦 //而归并排序则是直接利用构造一颗完全二叉树 //实现策略:先对数据分组,分到只有一个元素是:拷贝数组的元素到本次函数的 //SR数组中 ...
分类:其他好文   时间:2017-10-20 10:03:12    阅读次数:163
数据结构——堆排序(使用Java)
一、简介 堆排序(HeapSort)是选择排序的改进版,它可以减少在选择排序中的比较次数,进而减少排序时间,堆排序法用到了二叉树的技巧,它利用堆积树来完成,堆积是一种特殊的二叉树,可分为大根堆和小根堆。 大根堆需要具备的条件: 它是一棵完全二叉树 所有节点的值都大于或等于它左右子节点的值 树根是堆积 ...
分类:编程语言   时间:2017-10-19 12:38:50    阅读次数:153
堆排序
堆排序过程: 主函数中: public void main(String[] args)1. 定义初始化数组:int[] a = new int[]{.............}2. 循环建堆 调用建堆函数: for (int i = 0; i < a.length - 1; i++) { buil ...
分类:编程语言   时间:2017-10-18 21:44:41    阅读次数:288
python实现堆排序
#!/usr/bin/env python # -*- coding: utf-8 -*- def heap_sort(arr): l = len(arr) for i in xrange(l/2, -1, -1): form_heap(arr, i, l-1) for i in xrange(l-... ...
分类:编程语言   时间:2017-10-18 16:09:08    阅读次数:210
HeapSort
堆排序 <script type="text/javascript"> //堆是一种特殊的完全二叉树(使用的是二叉树的顺序存储结构):每个节点的值都大于等于孩子节点的是大顶对 //小于等于孩子节点的是小顶对 //排序的思想:将待排的序列构成一个大顶堆,此时把最大值是根节点; //把根节点和最后一个元 ...
分类:其他好文   时间:2017-10-18 02:00:43    阅读次数:155
1969条   上一页 1 ... 61 62 63 64 65 ... 197 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!