上一页 1 2 3 4 5 6 7 8 ··· 35 下一页
摘要: 2.4.6按照练习2.4.1的规则,用序列PRIO*R**I*T*Y***QUE***U*E操作一个初始为空的面向最大元素的堆,给出每次操作后堆的内容。 阅读全文
posted @ 2018-10-29 08:36 修电脑的龙生 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 2.4.4一个按降序排列的数组也是一个面向最大元素的堆吗?答:是的。因为满足任意节大于它的直接左右子节点,符合大堆定义。 阅读全文
posted @ 2018-10-29 08:33 修电脑的龙生 阅读(492) 评论(0) 推荐(0) 编辑
摘要: 2.4.3用以下数据结构实现优先队列,支持插入元素和删除最大元素的操作:无序数组、有序数组、无序链表和链表。将你的4种实现中的每种操作在最坏情况下的运行时间上下限制成一张表格。1)无序数组实现优先队列大堆public class E2d4d3v1<Key extends Comparable<Key 阅读全文
posted @ 2018-10-29 08:32 修电脑的龙生 阅读(1086) 评论(0) 推荐(2) 编辑
摘要: 2.4.1用序列PRIO*R**I*T*Y***QUE***U*E(字母表示插入元素,星号表示删除最大元素)操作一个初始为空的优先队列。给出每次删除最 大元素返回字符。 答:RRPOTYIIUQE 阅读全文
posted @ 2018-10-29 08:31 修电脑的龙生 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 2.4.2分析以下说法:要实现在常数时间找到最大元素,为何不用一个栈或队列,然后记录已插入的最大元素并在找出最大元素时返回 它的值? 答:如果只是找出一个最大元素,遍历所有元素记录最大者即可,没有必要再花一个栈或队列的空间来存储这些元素。 如果要找出最大元素后,除开这个元素后再继续找最大元素,用一个 阅读全文
posted @ 2018-10-29 08:31 修电脑的龙生 阅读(702) 评论(0) 推荐(0) 编辑
摘要: //按字典次序生成集合的r子集//一个有n个不重复元素的集合的r子集按字典次序排列,它的第一个排列是:123...r//最后一个排列是(n-r+1)...n,从它的第一个排列开始,下一个排列是比当前排列大,//并且是这些大于当前排列中的最小排列,按此规则直到生成最后一个排列为止。//算法具体为:// 阅读全文
posted @ 2018-10-29 08:30 修电脑的龙生 阅读(869) 评论(0) 推荐(0) 编辑
摘要: //按字典次序生成集合的排列//一个有n个不重复元素{123...n}的集合S,有n!个不同排列。//他的最小排列是123...n,最大排列是n(n-1)...1//S的字典次序排列是指从其最小排列123...n开始到最大排列n(n-1)...1为止,//每一个当前排列比下一个排列小。//生成集合S 阅读全文
posted @ 2018-10-29 08:30 修电脑的龙生 阅读(523) 评论(0) 推荐(0) 编辑
摘要: //一个有N个不重复元素的集合的某个子集,可以用这个N个元素中每个元素在或是不在这个子集中来表示。//把这N个元素一字排开,每个位置可以用1来标识对应位置的元素在子集中,用0来标识这个元素不在子集中//依据计数的乘法原理这样的排列数有2^N个,也就是一个有N个不重复元素的集合有2^N个子集。//而这 阅读全文
posted @ 2018-10-29 08:29 修电脑的龙生 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 2.3.30极端情况。用初始随机化和非初始随机化的快速排序测试练习2.1.35和练习2.1.36中描述的大型非随机数组。在将这些大数组排序时,乱序对快速排序的性能有何影响?public class E2d3d30{ public static void sort(Comparable[] a,boo 阅读全文
posted @ 2018-10-29 08:28 修电脑的龙生 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 2.3.31运行时间直方图。编写一个程序,接受命令行参数N和T,用快速排序对大小为N的随机浮点数数组进行T次排序,并将所有运行时间绘制成直方图。令N=10^3、10^4、10^5和10^6,为了使曲线更平滑,T值越大越好。这个练习最关键的地方在于找到适当的比例绘制出实码结果。1)1000时2)100 阅读全文
posted @ 2018-10-29 08:28 修电脑的龙生 阅读(249) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 35 下一页