给定K个排好序的序列列s1,s2,s3,.sk,用2路合并算法将这个序列合并成一个序列,假设采用的2路合并算法合并2个长度分别为m和n的序列需要进行m+n-1次比较,试比较一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少.

问题描述:

给定K个排好序的序列列s1,s2,s3,.sk,用2路合并算法将这个序列合并成一个序列,假设采用的2路合并算法合并2个长度分别为m和n的序列需要进行m+n-1次比较,试比较一个算法确定合并这个序列的最优合并顺序,使所需的总比较次数最少.
备注:具体的程序可以不编写出来,只要写出详细的算法思想以及表达式就好了,最好写具体些,否则看不懂,呵呵,

n1长度的L1 与n2长度的L2 合并需要n1+n2-1 次比较
构造带权的最优二叉树
赫夫曼最优二叉树算法
先构造k个只有顶点的二叉树 用权(每个序列的长度)依次标记k个二叉树
从中选出最小权标记的树进行合并直到所有序列合并结束