一、堆与堆排序的产生及定义
在简单选择排序中,每次从n个元素中比较n-1次选取最小的元素,这很好理解,但是前面比较过的数据在之后还要重新比较,这将花费大量的运算时间。堆排序算法就很好的解决了这个问题,堆排序在每次选择到最小记录的同时会根据比较结果对其他数据进行调整,堆排序的时间复杂度为O(Nlog....
分类:
其他好文 时间:
2014-05-10 00:25:14
阅读次数:
299
查看DB2 该数据库参数命令:db2 get db cfg for
databasename修改 "APP_CTL_HEAP_SZ" 值,命令:db2 update db cfg for databasename using
APP_CTL_HEAP_SZ 1000关于db2中sql文过长,过复杂的...
分类:
数据库 时间:
2014-05-09 15:58:41
阅读次数:
343
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永...
分类:
编程语言 时间:
2014-05-09 13:51:25
阅读次数:
536
帮客户买了一个vps, 结果里面装了一堆没用的软件,所以全部删掉CentOS 桌面安装大多都是
以软件包的 形式安装所以 最好是设置好 国内的yum 源,然后执行:>yum grouplist列出所有的 “软件包”Installed Groups:
X窗口系统 Yum Utilities 万维网服务...
分类:
其他好文 时间:
2014-05-09 12:51:17
阅读次数:
249
作用: 插入元素,O(lgN) 修改元素,O(lgN) 删除元素,O(lgN)
查询元素,O(1) 动态查询最值,O(NlgN)-O(lgN)-O(1) 核心操作: 上浮与下沉 最小堆:上浮是指较小值上浮,下沉是指较大值下沉。
最大堆:上浮是指较大值上浮,下沉是指较小值下沉。 具体操作: 预处理中,...
分类:
其他好文 时间:
2014-05-09 09:38:29
阅读次数:
315
前言
集合是一种数据结构,在编程中是非常重要的。好的程序就是好的数据结构+好的算法。java中为我们实现了曾经在大学学过的数据结构与算法中提到的一些数据结构。如顺序表,链表,栈和堆等。Java
集合框架API是用来表示和操作集合的统一框架,它包含接口,实现类以及一些编程辅助算法。具体位于...
分类:
编程语言 时间:
2014-05-09 08:25:24
阅读次数:
374
基本C/C++、STL(vector、set、map、queue、string、algorithm)枚举、贪心、递归、分治、递推、模拟构造、位运算、常数优化数据结构队列、堆、栈、链表排序(插入、冒泡、快速、归并、堆、桶、基数)二分查找、散列表、并查集、哈夫曼树排序二叉树、左偏树、平衡树(Splay/...
分类:
其他好文 时间:
2014-05-09 08:10:36
阅读次数:
338
当4GB的内存被使用的一干二净,我们该考虑这个垃圾的程序还有没有价值?当堆栈存放不下一个数组,我们是否该考虑我们是否放任我们的代码范围。当用户空间无法动态创建内存块,我们该考虑是什么占用了整个系统,而不是去考虑如何释放已经使用的空间。在程序中无法创建内存块,而..
分类:
其他好文 时间:
2014-05-09 06:54:37
阅读次数:
287
堆的删除
按定义,堆中每次都只能删除第0个数据。为了便于重建堆,实际的操作是将最后一个数据的值赋给根结点,然后再从根结点开始进行一次从上向下的调整。调整时先在左右儿子结点中找最小的,如果父结点比这个最小的子结点还小说明不需要调整了,反之将父结点和它交换后再考虑后面的结点。相当于从根结点将一个数据的“下沉”过程。
堆的插入
每次插入都是将新数据放在数组最后。可以发现从这个新...
分类:
其他好文 时间:
2014-05-09 02:16:57
阅读次数:
255
fork函数是linux中创建进程的函数,linux创建进程只有用fork,别无他法。我自己写代码fork用的不多,对它的一些细节还不是清楚,今天抽空研究了下fork,把它的一些关键点总结一下,以后用到了自己也好有个参考。1)fork函数会在父进程中创建子进程,子进程的堆,栈,数据段,PC..
分类:
系统相关 时间:
2014-05-09 00:42:46
阅读次数:
600