文心一言 VS chatgpt (7)-- 算法导论2.3 3~4题
三、使用数学归纳法证明:当n刚好是2的幂时,以下递归式的解是 T(n)=nlgn。若n=2,T(n)=2;若n=2^k,k>1,T(n)=2T(n/2)+n。
文心一言:

chatgpt:
首先,当 n=2 时,T(n)=2log₂n=2,显然等式成立。
现假设对于所有的 k<m,递归式 T(n)=nlgn 成立,即当 n 刚好是 2 的幂时,T(n)=nlgn。
考虑当 n=2^m 时,如何证明 T(n)=nlgn。
根据递归式,有:
T(n) = 2T(n/2) + n
将 n=2^m 带入上式,可以得到:
T(2^m) = 2T(2^(m-1)) + 2^m
由于 2^(m-1) 是 2 的幂,根据归纳假设,可以得到:
T(2^(m-1)) = (2^(m-1)) * lg(2^(m-1)) = (m-1)2^(m-1)
带回原式,得:
T(2^m) = 2T(2^(m-1)) + 2^m
= 2((m-1)2^(m-1)) + 2^m
= m2^m
因此,当 n=2^m 时,T(n)=nlgn 成立。
综上所述,由数学归纳法可知:当 n 刚好是 2 的幂时,递归式 T(n)=nlgn 的解为 T(n)=nlgn。

四、我们可以把插人排序表示为如下的一个递归过程。为了排序 A[1…n],我们递归地排序A[1…n-1],然后把 A[n]插入已排序的数组 A[1…n-1]。为插人排序的这个递归版本的最坏情况运行时间写一个递归式。
文心一言:
为了排序 A[1…n],我们递归地排序A[1…n-1],然后把 A[n]插入已排序的数组 A[1…n-1]。为插人排序的这个递归版本的最坏情况运行时间写一个递归式。
最坏情况下,我们需要遍历整个数组,因此递归深度为 n。在每个递归步骤中,我们需要检查是否需要插入新元素,因此递归深度为 n-1。因此,插入排序的最坏情况运行时间为 O(n^2)。

chatgpt:
假设插入排序递归版本的最坏情况运行时间为 T(n),则:
当 n=1 时,数组已经有序,无需进行插入操作,所以 T(1)=1。
当 n>1 时,插入排序的过程分为两个部分:排序 A[1…n-1] 和将 A[n] 插入数组中。对于排序 A[1…n-1] 这一部分,由于它是对长度为 n-1 的数组进行排序,因此可以表示为 T(n-1);而将 A[n] 插入数组中的过程最坏情况下需要比较和移动 n-1 次,所以这一部分的代价为 n-1。因此,插入排序的递推式为:
T(n) = T(n-1) + (n-1)
展开递归式,可以得到:
T(n) = T(n-2) + (n-2) + (n-1)
= T(n-3) + (n-3) + (n-2) + (n-1)
…
= T(1) + 1 + 2 + … + (n-2) + (n-1)
= 1 + 2 + … + (n-2) + (n-1) + n
其中最后一个等式用到了等差数列求和公式。
因此,插入排序递归版本的最坏情况运行时间的递归式为:
T(n) = 1 + 2 + … + (n-2) + (n-1) + n
可以用等差数列求和公式求出该递归式的解为:
T(n) = Θ(n^2)
因此,插入排序递归版本的最坏情况运行时间为 Θ(n^2)。

文心一言 VS chatgpt (7)-- 算法导论2.3 3~4题的更多相关文章
- 【个人首测】百度文心一言 VS ChatGPT GPT-4
昨天我写了一篇文章GPT-4牛是牛,但这几天先别急,文中我测试了用GPT-4回答ChatGPT 3.5 和 Notion AI的问题,大家期待的图片输入也没有出现. 昨天下午百度发布了文心一言,对标C ...
- 获取了文心一言的内测及与其ChatGPT、GPT-4 对比结果
百度在3月16日召开了关于文心一言(知识增强大语言模型)的发布会,但是会上并没现场展示demo.如果要测试的文心一言 也要获取邀请码,才能进行测试的. 我这边通过预约得到了邀请码,大概是在3月17日晚 ...
- 阿里版ChatGPT:通义千问pk文心一言
随着 ChatGPT 热潮卷起来,百度发布了文心一言.Google 发布了 Bard,「阿里云」官方终于也宣布了,旗下的 AI 大模型"通义千问"正式开启测试! 申请地址:http ...
- 【对比】文心一言对飚ChatGPT实操对比体验
前言 缘由 百度[文心一言]体验申请通过 本狗中午干饭时,天降短信,告知可以体验文心一言,苦等一个月的实操终于到来.心中这好奇的对比心理油然而生,到底是老美的[ChatGPT]厉害,还是咱度娘的[文心 ...
- 文心一言,通营销之学,成一家之言,百度人工智能AI大数据模型文心一言Python3.10接入
"文心"取自<文心雕龙>一书的开篇,作者刘勰在书中引述了一个古代典故:春秋时期,鲁国有一位名叫孔文子的大夫,他在学问上非常有造诣,但是他的儿子却不学无术,孔文子非常痛心 ...
- 百度生成式AI产品文心一言邀你体验AI创作新奇迹:百度CEO李彦宏详细透露三大产业将会带来机遇(文末附文心一言个人用户体验测试邀请码获取方法,亲测有效)
目录 中国版ChatGPT上线发布 强大中文理解能力 智能文学创作.商业文案创作 图片.视频智能生成 中国生成式AI三大产业机会 新型云计算公司 行业模型精调公司 应用服务提供商 总结 获取文心一言邀 ...
- 【转】最长回文子串的O(n)的Manacher算法
Manacher算法 首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长.这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文 ...
- 文心大模型api使用
文心大模型api使用 首先,我们要获取硅谷社区的连个key 复制两个api备用 获取Access Token 获取access_token示例代码 之后就会输出 作文创作 作文创作:作文创作接口基于文 ...
- 文心ERNIE-ViLG,你的免费插图画师
你是否想拥有一个专属画师,免费为你的优美文字插上几幅优美的插图?如今依然实现 最近AI作画确实很火,在DALL-E和Imagen崭露头角之后,ERNIE-ViLG.Stable-Diffusion(S ...
- 【算法导论】--分治策略Strassen算法(运用下标运算)【c++】
由于偷懒不想用泛型,所以直接用了整型来写了一份 ①首先你得有一个矩阵的class Matrix ②Matrix为了方便用下标进行运算, Matrix的结构如图:(我知道我的字丑...) Matrix. ...
随机推荐
- 《MySQL是怎样运行的》第二章小结
- rosetta Resfile语法和约束
介绍 参考:https://www.rosettacommons.org/docs/latest/rosetta_basics/file_types/resfiles resfile包含输入到Pack ...
- 网络安全(中职组)-B模块:Web安全渗透测试
Web安全渗透测试任务环境说明: 服务器场景:PYsystem003(关闭链接)服务器操作系统:未知用户名:未知 密码:未知 1. 通过浏览器访问http://靶机服务器IP/1,对该页面进行渗 ...
- Javaweb学习笔记第十五弹--Listente概述、AJAX、Axiox、JSON
Listener(监听器) 可以在application.session和request三个对象创建 Javaweb提供了8个监听器,其中较为典型的是ServletContextListener监听器 ...
- Linux & 标准C语言学习 <DAY10>
一.函数递归 函数自己调用自己的行为,叫做函数递归 递归是分治思想的一种具体实现,就是把一个复杂而庞大的问题,分解成若干个相似的小问题,解决所有小问题以解决大问题 如果函数递归 ...
- flutter feature---->quick action
reference: https://www.filledstacks.com/snippet/managing-quick-actions-in-flutter/ code import 'dart ...
- react抽离配置文件、配置@符号、调整src文件夹---配置scss、编写项目的页面结构、创建各个页面 src/views、开始路由、入口文件处修改代码、修改App.js布局文件、添加底部的导航布局、构建个人中心。。。声明式跳转路由、使用React UI库请求渲染首页数据、
1.回顾 2.react项目的配置 react默认创建的项目配置文件在 node_modules/react-scripts 文件夹内部 2.1 抽离配置文件 cnpm run eject cnpm ...
- [Git]解决:error: The following untracked working tree files would be removed by checkout:
1 文由 不小心在本地对master分支做了修改,并commit了,但是没有push成功(因为处于防止代码提交风险,产品部对普通开发者没有项目master的push权限) 后来又经过了一顿骚操作(我已 ...
- [GIT]辨析/区别: git add -u | git add -A | git add . [转载]
参考文献 git add -u与-A .三者的区别 - CSDN
- odoo 开发入门教程系列-约束(Constraints)
约束(Constraints) 上一章介绍了向模型中添加一些业务逻辑的能力.我们现在可以将按钮链接到业务代码,但如何防止用户输入错误的数据?例如,在我们的房地产模块中,没有什么可以阻止用户设置负预期价 ...