这篇文章将会对稳定匹配算法进行介绍及Python代码的实现,第一部分会针对稳定匹配的Gale-Shapley算法进行解析,第二部分就是用Python对该算法进行实现。 一、稳定匹配算法原理 1.1 介绍 稳定匹配(Stable Matching)问题就是假设现在有N个男生和N个女生跳舞选择 ...
问题背景: n个男生和m个女生进行匹配约会,当然一个男生至多和一个女生约会,一个女生也至多和一个男生约会,并且每个男生心中都有一个对女生的排名表,即表示了这个男生更愿意与哪个女生约会,不同男生的排名表不一定相同,每个女生也都有一个对男生的排名表。现在要求你求一个匹配,这个匹配不含不稳定因素。 不稳定因素:一个男生A,一个女生B,A与A 匹配,B与B 匹配,但A更愿意与B匹配,B也更愿意与A匹配,具 ...
2020-03-01 23:31 0 1264 推荐指数:
这篇文章将会对稳定匹配算法进行介绍及Python代码的实现,第一部分会针对稳定匹配的Gale-Shapley算法进行解析,第二部分就是用Python对该算法进行实现。 一、稳定匹配算法原理 1.1 介绍 稳定匹配(Stable Matching)问题就是假设现在有N个男生和N个女生跳舞选择 ...
一、相关的定义 1.有一个男士集合和一个女士集合。每个男士都有一个优先级列表,把女士按潜在结婚对象进行优先级排序。 同样的,女士也有一个对潜在结婚对象的优先级列表。 婚姻匹配: 一个婚姻匹配M是一个包含n个(m,w)对的集合,每一对的成员都按照一对一的模式从两个不相交的n元素集合Y和X中选 ...
题目: 婚介所登记了N位男孩和N位女孩,每个男孩都对N个女孩的喜欢程度做了排序,每个女孩都对N个男孩的喜欢程度做了排序,你作为月老,能否给出稳定的牵手方案? 稳定的定义:如果男孩i和女孩a牵手,但男孩i对女孩b更喜欢,而女孩b的男朋友j拼不过男孩i,则没有力量阻碍男孩i和女孩b的私奔,这即是 ...
听班助在课上给我们讲的一个算法,挺有趣的,一开始不是很理解,在网上看了一些资料后,就差不多了,做个笔记,记录下来吧,这也是我第一次写算法的博客笔记。 GS算法简介: 算法是为了解决“稳定匹配难题(Stable Matching Problem)”而提出的,所谓稳定匹配 ...
什么是稳定(婚姻)匹配问题 这里是百度百科。有N男N女,均为异性恋,每个人都对异性有好感度排序。如何将他们两两配对,才能尽可能使结果令每个人都满意。 当然也有N男M女、多对一的情况,这里先不讨论(网上有些大牛写了论文)。 处理方案 被广泛认可的算法是由美国数学家 David Gale ...
参考文章链接:http://wuchong.me/blog/2014/02/09/algorithm-sort-summary/ 稳定的 冒泡排序(bubble sort) — O(n2) 插入排序 (insertion sort)— O(n2) 归并排序 (merge sort ...
这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学可不是一个能轻易下结论的题目,当然如果你笔试之前已经记住了数据结构书上哪些是稳定的,哪些不是稳定的,做起来应该可以轻松搞定。本文是针对老是记不住这个或者想真正明白 ...
1、稳定的排序算法:简单的理解就是,能保证排序前2个相等的数所在序列的前后相对位置顺序和排序后它们两个的前后位置顺序相同。如果A1 = A2,A1原来在位置前面,排序后A1还是保持在A2位置前。 2、不稳定的排序算法:排序前后在序列中的相对位置发生变化。 ...