栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

给定一个完全循环赛的比赛结果,其中n个队伍两两比赛一次。每场比赛以一方胜出或者平局结束。设计一个算法,把n个队伍排序,序列中每个队伍都不曾输给紧随其后的那个队伍。说明该算法的时间效率类型。

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

给定一个完全循环赛的比赛结果,其中n个队伍两两比赛一次。每场比赛以一方胜出或者平局结束。设计一个算法,把n个队伍排序,序列中每个队伍都不曾输给紧随其后的那个队伍。说明该算法的时间效率类型。

按照减治法的思路,假设n-1个队伍已经排好序,将第n个队伍插入序列的方法是:

        扫描n-1序列,若第n个队伍赢过待扫描的队伍,则插入到这个队伍之前,否则,扫描下一个,直到第n个队伍赢过的队伍为止,插入该队伍之前,没有找到,则插入到n-1队伍最后。

        这个问题的算法可以从任意1个队伍开始,直到全部队伍完成插入,由于最坏情况下,一个队伍需要扫描当前已排序的每个队伍,也就是所需要扫描1+2+3+...+n-1次,总的比较次数就是O(n2)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/285586.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号