轻松的编程学习
首页
题库
学习路径
在线商城
能力地图
下载应用
登录 / 注册
菜单
归并离理论极限还差几次
👁️ 0 人浏览
💬 0 人评论
❤️ 添加收藏
把下界、归并的最坏比较次数、以及两者的差一起输出。
提交你的答案
请登录后提交答案。
去登录
← 🔴 有输入低于下界,这矛盾吗
⚠️ 摊还和「平均情况」差在哪 →
更多题目
让程序说出"你好"
让程序欢迎你
哪个命令能显示内容
哪里是指令,哪里是结果
让程序说出你的名字
这个程序会显示什么
代码编辑器
语言:
python3
c11
cpp17
Ctrl
+
Enter
运行
👩🏫 AI
▶ 运行代码
重置代码
打印代码
import math from itertools import permutations def merge_cmp(a): """归并排序,返回比较次数""" c = 0 def go(x): nonlocal c if len(x) <= 1: return x m = len(x) // 2 L, Rr = go(x[:m]), go(x[m:]) out, i, j = [], 0, 0 while i < len(L) and j < len(Rr): c += 1 if L[i] <= Rr[j]: out.append(L[i]); i += 1 else: out.append(Rr[j]); j += 1 return out + L[i:] + Rr[j:] go(list(a)) return c def ins_cmp(a): """插入排序,返回比较次数""" a = list(a); c = 0 for i in range(1, len(a)): j, x = i - 1, a[i] while j >= 0: c += 1 if a[j] <= x: break a[j + 1] = a[j]; j -= 1 a[j + 1] = x return c P = list(permutations(range(5))) lower = math.ceil(math.log2(math.factorial(5))) # TODO: 三个数:下界、归并最坏、归并最坏比下界多几次 a, b, c = -1, -1, -1 print(str(a) + "/" + str(b) + "/" + str(c))
本次输入:
输出:
👩🏫
AI
请登录后使用 AI 老师
×
登录后可获得解题思路、提示与错误分析。
去登录
关闭
🎉
恭喜你,回答正确!
系统判定:正确
我知道了
💬 题目评论
提交
全部评论
全部评论