算法设计与分析- Stable Matching-Gale_Shapley

本文介绍了稳定匹配算法Gale-Shapley,用于解决男女双方按优先级匹配的问题。通过实例解释了算法原理,确保匹配稳定性。并探讨了算法在高校录取、医生分配及肾脏匹配等领域的应用。时间复杂度为O(n^2)。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 算法引导

稳定匹配算法, 在平常相亲活动中,有 n 男, n 女, 这时进行相亲活动,就要根据喜好进行优先顺序的排列,每个人都有自己的喜好,因此,这就有最终的匹配是否稳定那,两个人稳定的匹配结婚才会有结果。

举个栗子:


对于这样的结果那,X 喜欢 B 胜于喜欢 C, 同时 B 喜欢 X 胜于喜欢 Z , 这样就会出现不稳定的情况, 应该考虑 X-B 的匹配情况。


二. 算法实现



描述: 有 1 到 M 个 Man, 和 1 到 W 个Woman, 然后这时每个男孩和女孩对对方都有一个排序, 我们找出没有匹配的男性,对其进行讨论, 他的排序表中,从高到低进行匹配,如果 挑选的这个 W且还没匹配过,其巧好没有匹配,则他俩 匹配, 若匹配了,则看W 匹配的 M‘ 的 高低顺序 与 M 的高低顺序(这里的高低顺序是在W 眼中的高低顺序), 如果M高,则替换掉M’, 使其恢复单身, 否则, 就在此中再任意找一个没匹配的男性。


这里有个ppt, 描述的很详细,过程完全是一看即懂!每个人都有自己的喜好吗,哈哈。 http://download.csdn.net/detail/myprograminglife/8349497


编程实现:

首先获得一个每个人的排序表男女排序文件:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值