在一个操场的四周摆放着n堆石子。现要将石子有次序地合并成一堆。规定每次至少选2堆最多选k堆石子合并成新的一堆,合并的费用为新的一堆的石子数。试设计一个算法,计算出将n堆石子合并成一堆的最大总费用和最小总费用。 输入数据的第1行有2个正整数n和k,表示有n堆石子,每次至少选2堆最多选k堆石子合并。第2行有n个数,分别表示每堆石子的个数。(贪心算法,要求给出贪心策略)
简答题查看答案
(1)设有数据集合{40,29,7,73,101,4,55,2,81,92,39},依次取集合中各数据构造一棵二叉排序树。(2)一组记录的关键字序列为(5,8,6,3,4,7),利用堆排序(堆顶元素是最小元素)的方法建立初始堆。(要求用完全二叉树表示)
简答题查看答案
判别下列序列是否为堆,如不是,按照堆排序思想把它调整为堆,用图表示建堆的过程。 ⑴(1,5,7,25,21,8,8,42) ⑵(3,9,5,8,4,17,21,6)
简答题查看答案
输入10个数据和一个整数m,把输入的10个数据依次向右移动m次。例如输入的数据为:1,2,3,4,5,6,7,8,9,10,m的值为3,则移动后的数据为:8,9,10,1,2,3,4,5,6,7。
简答题查看答案
输入10个数据和一个整数m,把输入的10个数据依次向左移动m次。例如输入的数据为:1,2,3,4,5,6,7,8,9,10,m的值为3,则移动后的数据为:4,5,6,7,8,9,10,1,2,3
简答题查看答案
(1)设有数据集合{50,39,17,83,111,14,65,13,91,102,49},依次取集合中各数据构造一棵二叉排序树。 (2)一组记录的关键字序列为(6,9,7,4,5,8),利用堆排序(堆顶元素是最小元素)的方法建立初始堆。(要求用完全二叉树表示)
简答题查看答案
内存缓冲区BUFFER定义如下,按照要求,写出指令序列 BUFFER DB 20 DUP(?) (1)将缓冲区全部置为0,并使执行时间最短。 (2)将缓冲区全部置为空格字符(ASCII代码20H),使用的指令条数最少 (3)将缓冲区各字节依次设置为0,1,2,3,4,……,19 (4)将缓冲区各字节依次设置为0,-1,-2,-3,-4,……,-19 (5)将缓冲区各字节依次设置为30,29,28,27,……,11 (6)将缓冲区各字节依次设置为0,2,4,6,8,……,38 (7)将缓冲区各字节依次设置为0,1,2,3,0,1,2,3,…,3
简答题查看答案
设栈S的初始状态为空,现有五个元素组成的序列1,2,3,4,5,对该序列在栈S上依次进行PUSH,PUSH,POP,PUSH,POP,PUSH,PUSH操作,出栈的元素序列是()。
单选题查看答案
元素1,3,5,7按顺序依次入队列,按该队列的出队序列进栈,该栈的可能输出序列是()
单选题查看答案