期末数据结构与算法课程设计 排序重构问题

排序重构问题。令A为一个由N个已特殊排序数组成的数列:A1,A2,…,AN,其中A1=0。令B为N(N-1)/2个数(定义为Dij=Ai-Aj(i>j))组成的数列。例如,A=0,1,5,8,那么D=1,3,4,5,7,8。请完成: a)编写程序,根据A构造D; b)编写程序,构造与D相对应的某一个数列A,注意A不是唯一的。

由A构造D的算法很简单,枚举i,j即可。
现在要由D构造一个可行的A,先对D进行排序。

找出D中最大的数x,把0,x加入A,从D中删除x。

不断从D中找出最大的数k,尝试k和x-k,将符合条件的数加入A,并将D中已知的与k相关的差删掉。追问

能不能帮忙写一个,可以再加分

追答

浪了一年了,您还是别要我写代码。。。

追问

唉 那算了 分给你吧

温馨提示:答案为网友推荐,仅供参考
相似回答