实验名称: 分治策略
一、实验预习
1、实验目的
1. 理解并掌握分治法的设计思想;
2. 提高应用分治法解决问题和设计算法的能力;
3. 通过编程实现最大值问题和众数问题,进一步理解分治法中递归的使用方法及分治合的基本步骤。
2、实验内容
1. 最大值问题:给定n个整数,用分治法找出其中的最大值。
两个测试用例:输入数据分别由文件名为 input 1.txt和input 2.txt的文本文件提供,文件的第一行表示整数的个数 n;接下来的 n 行中,每行有一个整数。请分别计算并给出结果。
2. 众数问题:给定含有 n 个元素的多重集合 S,每个元素在 S 中出现的次数称为该元素的重数。多重集 S

本文介绍了如何运用分治策略解决寻找数组中最大值和众数的问题。在最大值问题中,通过递归将数组分为两半,分别找出最大值并比较。而在众数问题中,先对数组排序,记录中位数及其个数,然后不断分割数组,比较中位数个数,直至找到众数。实验提供了C++代码实现,并在input1.txt和input2.txt文件中验证了算法的有效性。
最低0.47元/天 解锁文章
5699

被折叠的 条评论
为什么被折叠?



