实验二分治法算法应用及设计实验二分治法算法应用及设计
学时:4学时
时间:
一、实验目的与要求
1、初步掌握分治算法;
2、熟悉二分搜索算法、快速排序算法、归并排序;
3、掌握网球循环赛日程表的算法;
二、实验题
1、设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置i和大于x的最小元素位置j。当搜索元素在数组中时,I 和j相同,均为x在数组中的位置。设有n个不同的整数排好序后存放于t[0:n-1]中,若存在一个下标i,0≤i
#include
using nam...
实验二分治法算法应用及
学时:4学时
时间:
一、实验目的与要求
1、初步掌握分治算法;
2、熟悉二分搜索算法、快速排序算法、归并排序;
3、掌握网球循环赛日程
的算法;
二、实验题
1、设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置i和大于x的最小元素位置j。当搜索元素在数组中时,I 和j相同,均为x在数组中的位置。设有n个不同的整数排好序后存放于t[0:n-1]中,若存在一个下标i,0≤i
#include
using namespace std;
void Table(int k,int n,int **a);
void input(int &k);
void output(int **a,int n);
int main()
{
int k;
input(k);
int n=1;
//n=2k(k>=1)个选手参加比赛
for(int i=1; i<=k; i++)
n *= 2;
//根据n动态分配二维数组a
int **a = new int *[n+1];
for(int i=0;i<=n;i++)
{
a[i] = new int[n+1];
}
Table(k,n,a);
cout<<"循环赛事日程表为:"<>k;
}
void output(int **a,int n)
{
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
cout<
本文档为【实验二分治法算法应用及设计】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。