当前页面: 开发资料首页 → J2ME 专题 → 一个贪心算法解决排序问题
一个贪心算法解决排序问题
摘要: 一个贪心算法解决排序问题
给定k个排好序的序列s1,s2,s3,…sk,用2路合并算法将这k个序列合并成一个序列。假设所采用的2路合并算法合并2个长度分别为m和n的序列需要m+n-1次比较。试设计一个算法确定合并这个序列的最优合并顺序,使所需的总的比较次数最少。
1、 我觉得解决这种问题的第一个思想就是先将跨度最小的几个先行合并
因为这样做就做到了高内聚
这个得比较次数是k次,做了k次减法操作
2、
2、在这些里面数据里进行内聚的比例操作。
就是将序列的长度跟序列的跨度做比得出序列的跨度比,做贪心算法
我觉得应该是考虑将不合并的多项式的项值最大。
一个思路是:
1,将所给各多项式按非减排序;
2,对排序结果进行两两归并,如果项数为偶数,其归并结果必然为有序,否则,将最后一项插入归并后的结果序列中;
3,循环第二步操作,直到得到的结果为一个多项式;
问题解决了:
对排序后的序列S,首先归并项数最小的两个序列S1-S2->S12,对得到的中间结果集合S12,S3,…Sk进行排序;然后依次归并S12-S3->S123…循环执行k-1次归并操作,直至得到一个序列S12…k.。