- 16
- 0
- 约3.12万字
- 约 49页
- 2018-03-09 发布于浙江
- 举报
[计算机软件及应用]算法设计与分析实验报告
实验一 分治与递归(4学时)
基本题一:基本递归算法
一、实验目的与要求
熟悉C/C++语言的集成开发环境;
通过本实验加深对递归过程的理解
二、实验内容:
掌握递归算法的概念和基本思想,分析并掌握“整数划分”问题的递归算法。
三、实验题
任意输入一个整数,输出结果能够用递归方法实现整数的划分。
四、实验步骤
理解算法思想和问题要求;
编程实现题目要求;
上机输入和调试自己所编的程序;
验证分析实验结果;
整理出实验报告。
五、结果截图:
?
基本题二:棋盘覆盖问题
一、实验目的与要求
1、掌握棋盘覆盖问题的算法;
2、初步掌握分治算法
二、实验题:
??? 盘覆盖问题:在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。
三、实验提示
void chessBoard(int tr, int tc, int dr, int dc, int size)
?? {
????? if (size == 1) return;
????? int t = tile++,? // L型骨牌号
??????? s = size/2;? // 分割棋盘
????? // 覆盖左上角子棋盘
????? if (dr tr + s dc tc + s)
???????? // 特殊方格在此棋盘中
???????? chessBoard(tr, tc, dr, dc, s);
????? else {// 此棋盘中无特殊方格
???????? // 用 t 号L型骨牌覆盖右下角
???????? board[tr + s - 1][tc + s - 1] = t;
???????? // 覆盖其余方格
???????? chessBoard(tr, tc, tr+s-1, tc+s-1, s);}
????? // 覆盖右上角子棋盘
????? if (dr tr + s dc = tc + s)
???????? // 特殊方格在此棋盘中
???????? chessBoard(tr, tc+s, dr, dc, s);
????? else {// 此棋盘中无特殊方格
???????? // 用 t 号L型骨牌覆盖左下角
board[tr + s - 1][tc + s] = t;
???????? // 覆盖其余方格
???????? chessBoard(tr, tc+s, tr+s-1, tc+s, s);}
??????? // 覆盖左下角子棋盘
????? if (dr = tr + s dc tc + s)
???????? // 特殊方格在此棋盘中
???????? chessBoard(tr+s, tc, dr, dc, s);
????? else {// 用 t 号L型骨牌覆盖右上角
???????? board[tr + s][tc + s - 1] = t;
???????? // 覆盖其余方格
???????? chessBoard(tr+s, tc, tr+s, tc+s-1, s);}
????? // 覆盖右下角子棋盘
????? if (dr = tr + s dc = tc + s)
???????? // 特殊方格在此棋盘中
???????? chessBoard(tr+s, tc+s, dr, dc, s);
????? else {// 用 t 号L型骨牌覆盖左上角
???????? board[tr + s][tc + s] = t;
???????? // 覆盖其余方格
???????? chessBoard(tr+s, tc+s, tr+s, tc+s, s);}
?? }
?四、结果截图
提高题一:二分搜索
一、实验目的与要求
1、熟悉二分搜索算法;
2、初步掌握分治算法;
二、实验题
1、设a[0:n-1]是一个已排好序的数组。请改写二分搜索算法,使得当搜索元素x不在数组中时,返回小于x的最大元素的位置I和大于x的最小元素位置j。当搜索元素在数组中时,I和j相同,均为x在数组中的位置。
结果截图:
2、设有n个不同的整数排好序后存放于t[0:n-1]中,若存在一个下标I,0≤i<n,使得t[i]=i,设计一个有效的算法找到这个下标。要求算法在最坏的情况下的计算时间为O(logn)。
结果截图:
三、实验提示
1、用I,j做参数,且采用传递引用或指针的形式带回值。
bool BinarySearch(int a[],int n,int x,int i,int j)
{
??? int left
您可能关注的文档
- [计算机软件及应用]第4讲嵌入式实时操作系统分析.ppt
- [计算机软件及应用]第5章 需求建模.pdf
- [计算机软件及应用]第5章 面向对象编程基础1.ppt
- [计算机软件及应用]第5章 软件工程_总体设计 p65.ppt
- [计算机软件及应用]第5讲 病毒、恶意程序及其防范.ppt
- [计算机软件及应用]第6章 分布式数据库中的可靠性.ppt
- [计算机软件及应用]第6章 结构体与共用体.ppt
- [计算机软件及应用]第6讲 第6章 数组.ppt
- [计算机软件及应用]第6设备更新.ppt
- [计算机软件及应用]第7-8讲 数据库的创建和使用.ppt
- CN110989547B 一种智能变电站一键顺控系统的检测方法及系统 (中国电力科学研究院有限公司).docx
- CN112420612B Finfet接触及其形成方法 (台湾积体电路制造股份有限公司).docx
- CN111008973B 用于对图像数据的语义分割的方法、人工神经网络和设备 (罗伯特·博世有限公司).docx
- CN110637483B 非连续接收的方法、终端设备和网络设备 (Oppo广东移动通信有限公司).docx
- CN110864857B 一种基于压强修正的燃机燃料入口泄漏测试装置及测试方法 (华电电力科学研究院有限公司).docx
- CN111899006B 基于区块链的交易处理方法及装置、电子设备 (蚂蚁链技术有限公司).docx
- CN111435240B 过程控制系统中记录质量控制、生产或监管数据的方法和系统 (费希尔-罗斯蒙特系统公司).docx
- 河南许昌市2025-2026学年高二上学期期末考试政治试题(试卷+解析).pdf
- 浙江衢州市2025-2026学年高一上学期2月期末考试政治试题(试卷+解析).pdf
- 【开源-2026研报】优然牧业(09858):港股公司首次覆盖报告:肉奶价格共振在即,牧业龙头业绩弹性可期.pdf
最近下载
- 第二章-多媒体数据压缩技术.ppt VIP
- 2026年春季统编版(部编版)2024新教材二年级下册道德与法治教学计划、教学设计及教学反思(附目录).pdf
- 24.抽取文本汇词云(教学课件)-四年级信息科技全一册 (人教版2024).pptx VIP
- 2025年军队文职人员统一招聘面试( 航空航天)题库附答案.doc VIP
- PLC基础知识大全培训PPT课件.pptx VIP
- 《高中数学•同步课堂学与练》高二(人教B版选修第二册)第05讲 正态分布(解析版).pdf VIP
- 2025年支部书记抓基层党建工作述职报告范文.docx VIP
- 高教社2023马工程国际私法学教学课件u5.pptx VIP
- 学生宿舍卫生检查表.docx VIP
- 年末存货盘点表.docx VIP
原创力文档

文档评论(0)