
C语言算法设计
C语言算法设计已知整数序列a[1],a[2],,,,,,,,,,a[n]已被整理成最大化堆,请用C语言设计一个算法,找出a[1],a[2],,,,,,,,,,a[n]这n...
C语言算法设计已知整数序列a[1],a[2],,,,,,,,,,a[n]已被整理成最大化堆,请用C语言设计一个算法,找出a[1],a[2],,,,,,,,,,a[n]这n个数组元素中最小的元素的下标。要求:
1.算法的时间复杂度为O([n/2])
2.证明你的算法时间代价符合要求。 展开
1.算法的时间复杂度为O([n/2])
2.证明你的算法时间代价符合要求。 展开
3个回答

2024-10-21 广告
上海华然企业咨询有限公司专注于AI与数据合规咨询服务。我们的核心团队来自头部互联网企业、红圈律所和专业安全服务机构。凭借深刻的AI产品理解、上百个AI产品的合规咨询和算法备案经验,为客户提供专业的算法备案、AI安全评估、数据出境等合规服务,...
点击进入详情页
本回答由上海华然企业咨询提供
展开全部
由于是最大堆,则根节点(a[1])储存最大值,所有叶子节点存储的为最小的m个值。
假设这个堆对应一颗满二叉树(n个节点),即叶子节点最多为m=n/2+1。
故只要遍历数组a[n/2-1]到a[n]即可。
所以时间复杂度为O([n/2])
遍历的算法就不写了
假设这个堆对应一颗满二叉树(n个节点),即叶子节点最多为m=n/2+1。
故只要遍历数组a[n/2-1]到a[n]即可。
所以时间复杂度为O([n/2])
遍历的算法就不写了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
看看谭浩强的C把讲的很全面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询