首页 范文大全 古典文学 职场知识 中国文学 公文书信 外国名著 寓言童话 百家讲坛 散文/诗歌 美文欣赏 礼仪知识 民俗风情
  • 工作总结
  • 工作计划
  • 心得体会
  • 竞聘演讲
  • 会议发言
  • 爱国演讲
  • 就职演说
  • 开业开幕
  • 思想学习
  • 征文演讲
  • 经验材料
  • 述职报告
  • 调研报告
  • 工作汇报
  • 年终总结
  • 申报材料
  • 学习体会
  • 企划方案
  • 活动方案
  • 技巧经验
  • 模板范例
  • 思想宣传
  • 经济工作
  • 工作报告
  • 组织人事
  • 反腐倡廉
  • 慰问贺电
  • 先进事迹
  • 思想汇报
  • 入党申请书
  • 党会发言
  • 先进性教育
  • 入团申请书
  • 个人简历
  • 演讲稿
  • 调查报告
  • 实习报告
  • 和谐社会
  • 观后感
  • 读后感
  • 作文范文
  • 自我鉴定
  • 讲话稿
  • 自查报告
  • 《计算机算法》实验报告范文(例文)

    时间:2020-11-19 12:31:41 来源:蒲公英阅读网 本文已影响 蒲公英阅读网手机站

    相关热词搜索:例文 算法 实验

     1. 实验名称 本次实验的名称。

     2. 问题描述 对本次实验要解决的问题的描述。

     例子:处理汉诺塔问题时,描述什么是汉诺塔问题。

     3. 解决思路 采用什么方法;为什么可以采用这个方法; 例子:处理棋盘覆盖问题时, 采用什么方法:采用递归分治的方法处理; 为什么可以采用递归分治方法的原因(P21 页图 2-6 下面一段,理解之后用自己的话表述):由于将棋盘横、纵各一分为二之后,特殊方格必然位于四个小的棋盘之一,那么剩余的其余三个小棋盘是没有方格的,如果采用某种 L 型骨牌覆盖没有特殊方格的三个小棋盘的中心相连部分(参见图 2-6 的 b),则三个小棋盘都各有 1 个特殊方格所覆盖。因此,这样处理之后,原来大棋盘覆盖的问题,就转化为四个小棋盘覆盖的问题,因此可以采用分治策略进行递归处理。

     4. 算法设计与分析 给出算法设计的基本思想,如:伪算法描述,递归方程等。并分析算法的时间复杂度(空间复杂度)。注意,一定要有文字说明。

     例子:快速排序 伪算法描述 QuickSort(int a[], int p, int r) { 如果待排序数组 a[]中只有一个元素则直接返回; 如果待排序数组 a[]中不止一个元素,则进行如下处理 {

      对数组 a[p:r]进行 Partition 划分,使得 a[p:r]以 a[p]为标准,划分为三个部分,即:

      左半部分 a[p:q-1];划分基准 a[q]=a[p];右半部分 a[q+1:r];

      对左半部分快速排序 QuickSort(a, p, q-1);

      对右半部分快速排序 QuickSort(a, q+1, r); } }

     例子:0-1 背包问题 递归关系或者递归方程。

     给出 P72 页“2.递归关系”中的递归表达式,并给出文字说明。

     注意:伪算法描述,或者递归方程不一定全部需要。根据问题的不同,只给出伪算法,或者只给出递归方程都可以。两者同时给出也是可以的。

     5. 程序实现 依据第 4 部分,给出 C 语言(其他语言亦可)的程序实现,并进行算法时间(空间)复杂度分析。

     程序实现部分要包括:程序代码、 程序注释、程序运行结果(或者截图)。

     例子:快速排序的 partition 函数 int Partition (Type a[], int p, int r) {

      int i=p, j= r+1;

     int x = a[p];

     //x=a[p]是对数组 a 进行划分的标准;

      /* 以下循环将数组 a[p:r]以 a[p]为标准进行划分,在划分完毕之后,

     * a[p]调整到数组 a[p:r]的中间位置 q,有 a[q]=a[p];q 左边所有的

     * 元素均小于 a[p],即 a[p:q-1]中的任意元素都小于 a[p];q 右边

     * 所有的元素均大于 a[p],即 a[q+1:r]中的元素都大于 a[p]。

     * /

      while(true){ /* i 用来从数组 a[p:r]的左边向右边扫描,如果 a[++i]中的元素总是 * 小于基准元素的,则是符合划分标准的,因此,不用额外处理, * 循环一直继续,直到第一个不满足划分标准的 a[++i](即 a[++i]>=i)

     * 出现,或者整个数组 a[p:r]扫描完毕(即 i<r)为止。

     */

      while(a[++i]<x && i<r);

      …… 6. 总结 不用每个实验写一个总结,可以在一次课作业的最后写一个总结。当然,如果需要,在每一个实验结尾都写一个总结也是可以的。总结的目的是自己知识学习的总结、解决问题的总结、编程的总结等等。

    • 范文大全
    • 职场知识
    • 精美散文
    • 名著
    • 讲坛
    • 诗歌
    • 礼仪知识