算法设计分析测试文档.doc
上传人:sy****28 上传时间:2024-09-15 格式:DOC 页数:2 大小:89KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

算法设计分析测试文档.doc

算法设计分析测试文档.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

实验4稳定婚姻问题算法分析:在每一轮中,每个尚未匹配的男生在他还没有进行匹配的女生选择一个自己最喜欢的匹配(不管之前她是否已匹配)。然后每个女生在向她匹配的人之中选择她最喜欢的一个匹配,并且拒绝其他人。注意,这些向她匹配的人中包含她原本匹配的,因此她可以选择另一个自己更喜欢的人订婚,而抛弃自己的现任匹配。当所有人都匹配时,算法结束。是否会出现某人孤独终老的可能,答案是否定的,这种情况不可能发生,因为每个女生一旦匹配,就将一直处于匹配成功状态,因此如果有哪个女生没有匹配,只有一种可能,就是从来没有男生向她匹配。但这是不可能的,因为如果存在一个找不到伴侣的男生,在放弃之前是会向所有的女生匹配的。接下来证明我们得到的算法是稳定的。考虑任意男生A和女生B,假设算法结束后,A和C匹配,B和D匹配,有可能出现B更喜欢A而A更喜欢B吗?(跟原来对象相比较)如果A更喜欢B,那么在算法结束之前A一定向B匹配过,并且B拒绝了他。注意到女生每次换对象的时候,一定是更喜欢新的那一个,所以B不可能认为她曾今拒绝过的A会比她的最终伴侣D更好。算法复杂度分析:程序中每次直接选一个男生进行匹配,并且根据情况让求婚对象接受或者拒绝他即可。因为每个男生最多考虑每个女生各一次,而每次考虑的时间复杂度均为O(1),因此算法的总时间复杂度为O(),这已经是输入下限了。输入格式:输入男女生对数n,输入每个男女生喜欢对象号数的排序。输出格式:输出n行,每行为男女号数的匹配情况