摘要: 虽然左式堆每次操作花费O(logN),这有效的支持了合并,插入和DeleteMin,但还是有改进的余地,因为我们知道,二叉堆以每次操作花费常数平均时间支持插入。二项队列支持所有这种操作,每次操作的最坏情形运行时间为O(logN),而插入操作平均花费常数时间。 1.二项队列结构 二项队列不同于左式堆和 阅读全文
posted @ 2016-06-05 17:42 简单爱_wxg 阅读(737) 评论(0) 推荐(0)
摘要: 1.简介 设计一种堆结构像二叉堆那样高效的支持合并操作而且只使用一个数组似乎很困难。原因在于,合并似乎需要把一个数组拷贝到另一个数组中去,对于相同大小的堆,这将花费O(N)。正因为如此,所有支持高效合并的高级数据结构都需要使用指针。像二叉堆那样,左式堆也有结构性和堆序性。不仅如此,左式堆也是二叉树, 阅读全文
posted @ 2016-06-05 15:49 简单爱_wxg 阅读(485) 评论(0) 推荐(0)
摘要: 1、概述 队列是一种满足先进先出(FIFO)的数据结构,数据从队列头部取出,新的数据从队列尾部插入,数据之间是平等的,不存在优先级的。这个就类似于普通老百姓到火车站排队买票,先来的先买票,每个人之间是平等的,不存在优先的权利,整个过程是固定不变的。而优先级队列可以理解为在队列的基础上给每个数据赋一个 阅读全文
posted @ 2016-06-05 14:32 简单爱_wxg 阅读(1473) 评论(0) 推荐(0)