码迷,mamicode.com
首页 >  
搜索关键字:建堆    ( 167个结果
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
Java内存模型(一切为了面试)
java内存分两种:栈内存和堆内存栈用来存储基本类型变量和指向对象的引用类型变量,对象本身总是在堆中被创建堆内存用来存放由new创建的对象和数组以及成员变量堆内存被所有线程共享,但每个线程有自己的栈
分类:编程语言   时间:2015-03-11 19:54:53    阅读次数:237
[C/C++]_[中级]_[数据地址对齐]
场景: 1. 有些频繁使用的指针变量地址不对齐的话运行效率和对齐后的运行效率差别很大,所以在创建堆空间时,有必要对内存地址对齐提高运行效率. 2. 有些音视频处理的代码或者说自定义的malloc基本都是地址对齐的. 3. 使用原子访问的互锁函数时,InterlockedExchangeAdd都需要地址对齐. 3. 主要还是宏APR_ALIGN, 这个说是Apache源码里,就借用一下吧。...
分类:编程语言   时间:2015-02-27 23:03:20    阅读次数:368
内存分配
操作系统 VirtualAlloc 需要程序员控制 内存空间分配 / 页调拨 HeapAlloc 程序员不需要处理 内存空间 页 问题 ,但需要自己创建堆 管理堆 销毁堆 进程创建时有默认堆 . 程序员可以HeapCreate创建自定义堆 ...
分类:其他好文   时间:2015-02-12 13:47:29    阅读次数:118
Merge k Sorted Lists
Merge k sorted linked lists and return it as one sorted list. Analyze and describe its complexity. 解题思路:一般而言,合并两个有序链表较为简单,只需要两两逐个比较即可.而本题要求合并K个有序链表,事实上只需要对每个链表的头结点建堆.每次输出最小值.并插入其所在链表的下个结点并维护堆.可以利用S...
分类:其他好文   时间:2015-01-31 14:40:42    阅读次数:190
STL容器(五)——heap
STL容器(五)——heap          我们可以调用STL中的heap堆,实现建堆和堆排序等操作。     首先,STL中的heap默认构建的是最大堆,程序如下: #include #include #include using namespace std; int main() { int a[]={2, 3, 5, 1, 9, 6}; vector vec(a...
分类:其他好文   时间:2015-01-28 10:00:58    阅读次数:236
堆排序
1.堆:类似二叉树 数组对象 2.种类:    最大堆->A[PARENT(i)] >= A[i] 最小堆->A[PARENT(i)] 3.建堆:Heap_max_Build    保持堆性质:Heap_max_Ify     堆排序:Heap_max_Sort 4.Code #include #include #define PAR...
分类:编程语言   时间:2015-01-21 09:01:25    阅读次数:143
【POJ1740】A New Stone Game 构造博弈
题意:多组数据,每组数据一个先n,然后给出n堆石子的数目。 两人轮流操作,每次可以从某数量为xi的石子堆中扔掉k个石子(k∈[1,xi]),然后剩余xi-k个,可以把g个石子随意分给其他堆(不能凭空建堆出来,g∈(0,xi-k))。 题解: 首先构造平衡状态: 有偶数堆,且可以两两配对。 这样可以理解为先手玩一下,后手可以有同样的应对策略。(脑洞开一下就好了,这不是难点少年) ...
分类:其他好文   时间:2015-01-10 18:18:22    阅读次数:145
堆排序(Java实现)
《算法导论》中堆排序主要将其分为堆的性质、维护堆的性质、建堆、堆排序算法堆的性质:给定一个结点的下标i,很容易计算得到它的父结点、左孩子和右孩子的下标(伪代码):PARENT(i) return i/2LEFT(i) return 2i RIGHT(i) return 2i+...
分类:编程语言   时间:2015-01-06 13:19:17    阅读次数:176
STL中排序算法
[1]    push_heap:默认为大根堆,主要是上滤操作。 [2]    make_heap:创建堆,默认构建大根堆。他的实现基于这样一个简单的想法:将二叉树中的每个仅二层的子树都构成堆,那么整个数据集的布局几乎即可以满足堆的定义。 [3]    pop_heap:将已构成堆的迭代器区间中最大值元素移到区间的最后元素位置。原来的最后元素调整为根结点元素后,再对除最后一个元素之外的区间调整...
分类:编程语言   时间:2014-12-18 15:13:55    阅读次数:192
167条   上一页 1 ... 12 13 14 15 16 17 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!