《算法分析与设计》期末考试复习题纲


    
    算法分析设计期末复题

    选择题
    1 算法必须具备输入输出( D )等4特性
    A.行性安全性 B.确定性易读性
    C.穷性安全性 D.穷性确定性
    2 算法分析中记号O表示( B )记号Ω表示( A )
    A渐进界 B渐进界
    C非紧界 D紧渐进界
    3 假设某算法输入规模n时计算时间T(n)3*2^n某台计算机实现完成概算法时间t秒现台计算机运行速度第台64倍台新机器算法t秒解输入规模问题?( B )解题方法:3*2^n*643*2^x
    A.n+8 B.n+6
    C.n+7 D.n+5
    4 设问题规模N时某递算法时间复杂度记T(N)已知T(1)1T(N)2T(N2)+N2O表示时间复杂度( C )
    A.O(logN) B.O(N)
    C.O(NlogN) D.O(N²logN)
    5 直接间接调身算法称( B )
    A.贪心算法 B.递算法
    C.迭代算法 D.回溯法
    6 Fibonacci数列中第4第11数分( D )
    A.589 B.389
    C.5144 D.3144
    7 8顶点凸边形三角剖分中恰( B )
    A.6条弦7三角形 B.5条弦6三角形
    C.6条弦6三角形 D.5条弦5三角形
    8 问题动态规划算法贪心算法求解关键特征问题( B )
    A.重叠子问题 B.优子结构性质
    C.贪心选择性质 D.定义优解
    9 列问题贪心法求解( C )
    A.哈夫曼编码问题 B.单源短路径问题
    C.团问题 D.生成树问题
    10 列算法中通常底方式求解优解( B )
    A.备忘录法 B.动态规划法
    C.贪心法 D.回溯法
    11 列算法中解决01背包问题( A )
    A.贪心法 B.动态规划
    C.回溯法 D.分支限界法
    12 列问题贪心算法求解( D )
    A.LCS问题 B.批处理作业问题
    C.01背包问题 D.哈夫曼编码问题
    13 回溯法求解优装载问题时选物品m种该问题解空间树结点数( )
    A.m B.2m+1
    C.2m+11 D.2m
    14 二分搜索算法利( A  )实现算法
    A.分治策略   B.动态规划法  
    C.贪心法    D.回溯法
    15 列动态规划算法基步骤( B  )P44
    A.找出优解性质  B.构造优解 
    C.算出优解(应该优值)  D.定义优解
    16 面问题( B )贪心法解决
    A.单源短路径问题 B.N皇问题
    C.花费生成树问题 D.背包问题
    17 二分搜索算法n序元素表中搜索特定元素情况坏情况搜索时间复杂性分( A )P17
    A.O(1)O(logn) B.O(n)O(logn)
    C.O(1)O(nlogn) D.O(n)O(nlogn)
    18 优先队列式分支限界法选取扩展结点原( C  )P162
    A.先进先出 B.进先出
    C.结点优先级 D.机
    19 面分支界限法搜索方式( D )P161
    A.广度优先 B.耗费优先
    C.效益优先 D.深度优先
    20 分支限界法解团问题时活结点表组织形式( B )
    A.堆 B.堆
    C.栈 D.数组
    21 列关计算机算法描述正确( C )P1
    A.算法指解决问题种方法程
    B.算法干指令穷序列
    C 算法必须输入输出
    D.算法编程思想
    22 列关凸边形优三角剖分问题描述正确( A )
    A.n+1矩阵连完全加括号n点凸边形三角剖分应
    B.n顶点凸边形三角剖分中恰n3条弦
    C.该问题动态规划法求解
    D.n顶点凸边形三角剖分中恰n2三角形
    23 动态规划法求解问题基步骤包括( C )P44
    A.递定义优值
    B.分析优解性质刻画结构特征
    C.根计算优值时信息构造优解 (省)
    D.底方式计算出优值
    24 分治法解决问题应具关键特征( C )P16
    A.该问题规模缩定程度容易解决
    B.该问题分解干规模较相问题
    C.利该问题分解出子问题解合该问题解
    D.该问题分解出子问题相互独立
    25 列关回溯法描述正确( D )P114
    A.回溯法称试探法
    B.回溯法通解题法称
    C.回溯法种避免必搜索穷举式搜索法
    D.回溯法解空间作深度优先搜索时递方法实现
    26 常见两种分支限界法( D )P161
    A 广度优先分支限界法深度优先分支限界法
    B 队列式(FIFO)分支限界法堆栈式分支限界法
    C 排列树法子集树法
    D 队列式(FIFO)分支限界法优先队列式分支限界法


    二 填空题
    1 f(n)3n2+10渐性态f(n) O( n2 )
    g(n)10log3n渐性态g(n) O(  n  )
    2 算法应具正确性 读性 健壮性 高效率低存储量需求等特性
    3 算法时间复杂性函数表示 CF(NIA) 分析算法复杂性目较 求解意问题两算法效率 效率
    4 构成递式两基素 递边界条件 递定义
    5 单源短路径问题 分支限界法 贪心算法 求解
    6 分治法实现快速排序算法时情况时间复杂性 O(nlogn) 坏情况时间复杂性 O(n^2) 该算法需时间 运行时间 划分 两方面素关P26
    7 01背包问题解空间树 完全二叉 树n问题解空间树 排列 树
    8 常见分支限界法队列式(FIFO)分支限界法优先队列式分支限界法
    9 回溯法搜索解空间树时常两种剪枝函数 约束函数 剪枝函数
    10 分支限界法解团问题时活结点表组织形式 堆 分支限界法解单源短路径问题时活结点表组织形式 堆
    三 算法填空题
    1 递求解Hanoi塔问题阶问题
    例1 阶函数n P12
    阶非递方式定义:
    试写出阶乖递式算法
    递式: 边界条件
    递方程
    递算法:
    int factorial (int n)
    { if (n0) return 1 递出口
    return n * factorial (n1) 递调
    }
    例2递技术求解Hanoi塔问题Hanoi塔递算法P15
    中Hanoi (int n int a int c int b)表示塔座An盘子移塔座C塔座B辅助Move(ac)表示塔座a编号n圆盘移塔座c


    void hanoi (int n int a int c int b)
    {
    if (n > 0)
    {
    hanoi(n1 a b c)
    move(ac)
    hanoi(n1 b c a)
    }
    }
    2 分治法求解快速排序问题
    快速排序算法 P25 作业课件第2章(2)42页50页
    template
    void QuickSort (Type a[] int p int r)
    {
    if (p int qPartition(apr)
    QuickSort (apq1)
    QuickSort (aq+1r)
    }
    }
    Partition函数具体实现
    template
    int Partition (Type a[] int p int r)
    {
    int i p j r + 1
    Type xa[p]
    < x元素交换左边区域
    > x元素交换右边区域
    while (true) {
    while (a[++i] while (a[ j] >x)
    if (i > j) break
    Swap(a[i] a[j])
    }
    a[p] a[j]
    a[j] x
    return j
    }
    3 贪心算法求解优装载问题
    优装载问题 P95 课件第4章(2)第38页
    template
    void Loading(int x[] Type w[] Type c int n)
    {
    int *t new int [n+1]
    Sort(w t n)
    for (int i 1 i < n i++) x[i] 0
    for (int j 1 j < n && w[t[j]] < c j++)
    {x[t[i]] 1 c w[t[j]]}
    }
    4 回溯法求解01背包批处理作业调度 团问题会画解空间树
    例1:回溯法求解01背包 P133课件第5章(2)第2438页
    template
    class Knap
    {
    private
    Typep Bound(int i) 计算界
    void Backtrack(int i)
    Typew c 背包容量
    int n 物品数
    Typew *w 物品重量数组
    Typep *p 物品价值数组
    Typew cw 前重量
    Typep cp 前价值
    Typep bestp 前优价值
    }

    void KnapBacktrack(int i)
    { if(i>n) { bestpcp return }
    if(cw+w[i] { cw+w[i]
    cp+p[i]
    Backtrack(i+1)
    cww[i]
    cpp[i] }
    if(Bound(i+1)>bestp) 进入右子树
    Backtrack(i+1)
    }

    Typep KnapBound(int i)
    {
    Typew cleftccw 剩余背包容量
    Typep bcp b前价值
    次装入单位重量价值高整物品
    while(i { cleftw[i] b+p[i] i++ }
    if(i b+p[i]*cleftw[i]
    return b 返回界
    }

    class Object 物品类
    {
    friend int Knapsack(int *int *intint)
    public
    int operator <(Object a) const
    {
    return (d>ad)
    }
    int ID 物品编号
    float d 单位重量价值
    }

    Typep Knapsack( Typep p[]Typew w[]Typew cint n)
    { Typep Knapsack初始化
    Typew W0 总重量
    Typep P0 总价值
    Object* Qnew Object[n] 创建物品数组标0开始
    for(int i1i { Q[i1]IDi
    Q[i1]d10*p[i]w[i]
    P+p[i] W+w[i]
    }
    if(W return P
    if(W return P
    QuickSort(Q0n1) 物品单位重量价值非增排序
    Knap K
    Kpnew Typep[n+1]
    Kwnew Typew[n+1]
    for(int i1i { Kp[i]p[Q[i1]ID] Kw[i]w[Q[i1]ID] }
    Kcp0 Kcw0 Kcc
    Knn Kbestp0 KBacktrack(1)
    delete[] Q delete[] Kw
    delete[] Kp return Kbestp
    }
    例2:批处理作业调度 课件第5章(2)P25问题描述课P125127
    解空间:排列树
    算法描述:
    class Flowshop
    {
    static int [][] m 作业需处理时间
    [] x 前作业调度
    [] bestx 前优作业调度
    [] f2 机器2完成处理时间
    f1 机器1完成处理时间
    f 完成时间
    bestf 前优完成时间
    n 作业数
    static void Backtrack(int i)
    {
    if (i > n)
    { for (int j 1 j < n j++) bestx[j] x[j] bestf f }
    else
    for (int j i j < n j++) {
    f1+m[x[j]][1]第j作业第台机器需时间
    f2[i]((f2[i1]>f1)f2[i1]f1)+m[x[j]][2]
    f+f2[i]
    if (f < bestf) 约束函数
    { Swap(x[i] x[j]) Backtrack(i+1) Swap(x[i] x[j]) }
    f1 m[x[j]][1]
    f f2[i]
    }
    }


    例3:团问题会画解空间树
    class Clique
    {
    friend int MaxClique(int **int []int)
    public
    void Print() 输出优解
    private
    void Backtrack(int i)
    int **a 图G邻接矩阵标1开始
    int n 图G顶点数
    int *x 前解
    int *bestx 前优解
    int cn 前团顶点数
    int bestn 前团顶点数
    }
    void CliqueBacktrack(int i)
    { if(i>n)
    { for(int j1j判断第i顶点否已选顶点边相连
    int OK1
    for(int j1j if(x[j]&&a[i][j]0) i前团中顶点边相连
    { OK0 break } 前团中顶点边相连中止
    if(OK) 进入左子树
    { x[i]1 cn++ Backtrack(i+1) x[i]0 cn }
    if(cn+ni>bestn) 右子树中找更团进入右子树
    { x[i]0 Backtrack(i+1) }
    }
    计算时间:O(n2n)

    四 简答题
    1 请简述动态规划算法解题基步骤P44
    动态规划设计分4步骤:
    (1)找出优解性质刻划结构特征
    (2)递定义优值
    (3)底方式计算出优值
    (4)根计算优值时信息构造优解
    2 简述动态规划方法分治法异P44
    相点:动态规划算法分治法类似基思想求解问题分解成干子问题然子问题解原问题解
    点:分治法子问题互相独立原问题相分治法适合动态规划求解问题分解子问题互相独立子问题包含公子子问题
    3 试较Prim算法Kruskal算法异105P107
    相点:Prim(普里姆)算法Kruskal(克鲁斯卡尔)算法作应贪心算法构造生成树例子利生成树性质
    点:
    Prim(普里姆)算法:程中选取边恰构成G棵生成树TT中包含Gn1条边形成回路
    Kruskal(克鲁斯卡尔)算法:构造生成树常算法该算法通扩充连通子集进行贪心选择通选择具权边集合进行贪心选择选择时进行连通操作便形成生成树
    4 请简述分支限界法搜索策略P161 课件第6章(1)第6页
    (1)分支限界法广度优先耗费(效益)优先方式搜索问题解空间树
    (2)活结点次机会成扩展结点
    (3)活结点旦成扩展结点次性产生子结点
    (4)子结点中导致行解导致非优解子结点舍弃余子结点加入活结点表中
    (5)活结点表中取 结点 成前扩展结点重复述结点扩展程程直持续找需解活结点表空时止
    5 试较分支限界法回溯法异P161 课件第6章(1)第5页
    点:
    (1)求解目标:回溯法求解目标找出解空间树中满足约束条件解分支限界法求解目标找出满足约束条件解满足约束条件解中找出某种意义优解
    (2)搜索方式:回溯法深度优先方式搜索解空间树分支限界法广度优先耗费优先方式搜索解空间树
    五 算法应题
    1 动态规划求解凸边形优三角剖分问题
    三角剖分结构相关问题P61
    (1)语法树完全加括号方式
    表达式完全加括号方式相应棵完全二叉树称表达式语法树
    例完全加括号矩阵连积((A1(A2A3))(A4(A5A6)))相应语法树图 (a)示

    (2)语法树凸边形三角剖分
    凸边形P{v0v1…vn1}三角剖分语法树表示
    图:根结点边v0v 6(选)边语法树叶子节点 v0v 6三角形v0v3v 6条边

    2三角剖分矩阵连P61
    (1)般说凸边形三角剖分n1叶节点语法树存应关系
    (2)N矩阵连完全加括号n叶节点语法树存应关系
    (3)n矩阵连完全加括号n+1节点凸边形三角剖分存应关系

    (4)矩阵连积中A1 A2 …An中矩阵Ai应凸(n+1)边形中条边vi1vi三角剖分中条弦vivji(5)矩阵连积优计算次序问题凸边形优三角剖分问题特殊情况

    课题(第3章结**)
    矩阵链
    P{101005503020604550}请构造优完全加括号方式列出相应语法树优三角剖分图








    2 贪心算法求解活动安排问题生成树问题哈夫曼编码问题
    贪心算法求解活动安排问题
    例:设安排11活动开始时间结束时间结束时间非减序排列:

    生成树问题 P103P105


    哈夫曼编码问题前缀码二叉树表示法
    例子:
    图a固定长度编码应树(叶子高度致)
    图b变长度编码应树(叶子高度致)


    3 回溯法求解01背包问题优装载问题
    回溯法求01背包问题P133
    实例n5M50
    N
    1
    2
    3
    4
    5
    W
    15
    5
    25
    27
    30
    P
    30
    12
    44
    46
    50
    PW
    2
    24
    176
    170
    167
    (1)令bestp0物体序号价值体积排序结果(21345)
    N
    2
    1
    3
    4
    5
    W
    5
    15
    25
    27
    30
    P
    12
    30
    44
    46
    50
    PW
    24
    2
    176
    170
    167
    (2) 根排序部分解(1110)估计前部分解价值b86+(5045)*167943 b >bestp
    (3) 继续搜索生成结点F行解(11100)价值86更新bestp86(图第3步)


    第3步 第5步 第8步
    (4) 回溯:E回溯左孩子D生成相应右孩子G部分解( 1101 )时b931 b>bestp生成右子树(第4步第5步基础没HI图形)
    (5) 继续生成结点HI行解( 11010 )价值88更新bestp88(图第5步)
    (6) 回溯H生成J部分解( 1100 )估计部分解b92>88(第6步第8步基础没KL图形)
    (7) 继续生成结点K行解( 1100 1 )价值92更新bestp92(第7步第8步基础没L图形)
    (8) K左孩子生成应右孩子L行解( 11000) (图第8步)
    (9) 回溯结点L回溯结点B生成结点M部分解 (10) 估计部分解b90<92回溯(第9步第10步基础没N图形)
    (10) 继续回溯生成结点N部分解(0)时b74+10*(4627) 9103<92回溯时已回根结点结束优解( 1100 1 )价值92 (图第10步)


    n8 M110
    W( 1 11212333434555 )
    P(1121313343535565 )
    回溯法求01背包问题优解

    优装载问题 P119 课件第P37 P54页
    假定n 4w [ 8 6 2 3 ]c1 c2 12
    试根改进优装载算法找出优装载量相应优装载方案
    求:
    a) 列出问题解空间
    b) 构造解空间树
    c) 根递回溯算法求出优解优值

    六 算法设计题
    贪心算法求解
    题型:
    开会问题:
    某公司会议全公司唯会议室够现出段时期会议时间表求适删会议剩余会议时间互突求删会议数少
    解题算法
    template
    void GS (int n Type s[] Type f[] bool A[])
    {
    A[1]false
    int j1
    int sum0
    for (int i2i {
    if (s[i]>f[j]) { A[i]false ji }
    else {A[i]true sum++}
    }
    }
    题型二:
    试贪心算法求解列问题:正整数n分解干互相然数然数积写出该算法先n较例子否中找出规律:

    算法分析:
    u 猜想n拆成量数积?(拆出数中2)
    u 数数n减23…i直nu 时ni相等先i+1时n1
    u 时n>0均匀分前面项
    u 贪心策略n停拆分开数拆
    解题算法


    题型三:
    田忌赛马:果3匹马变成n匹齐王然马优劣序出赛田忌意序选择赛马出赛赢局田忌200两银子输局田忌输掉200两银子已知国王田忌马奔跑速度马奔跑速度均相现已两马分快慢排序请设计算法帮助田忌赢银子
    解题思路:
    u 先两组马速度排序
    u 果田忌(A)快马齐王(B)快马快直接赢
    u 果A快马B慢A慢马拼B快马
    u 果A慢马B慢马快直接拼掉
    u 果A慢马B慢马慢A慢马拼B快马
    u 果AB快慢马速度相A慢马拼B快马
    算法分析


    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 香币 [ 分享文档获得香币 ]

    下载文档

    相关文档

    算法设计与分析复习题目及答案

     一、选择题1、二分搜索算法是利用(   A  )实现的算法。A、分治策略   B、动态规划法   C、贪心法    D、回溯法2、下列不是动态规划算法基本步骤的是( A  )。A、找出最优解...

    3年前   
    843    0

    算法设计与分析复习题目及答案详解

    分治法1、二分搜索算法是利用( 分治策略)实现的算法。9. 实现循环赛日程表利用的算法是(分治策略 )27、Strassen矩阵乘法是利用(分治策略 )实现的算法。34.实现合并排序利用的算法...

    3年前   
    926    0

    算法设计与分析试卷及答案

    湖南科技学院二○ 年 学期期末考试 信息与计算科学专业 年级《算法设计与分析》 试题题 号一二三四五总分统分人得 分阅卷人复查人考试类型:开卷 试卷类型:C卷 考...

    1年前   
    430    0

    毕业论文:TIPTOP双档算法设计与分析

    为了进一步完善现有的TIPTOP系统,针对工程部需求对企业设备进行有效登记管理,本人通过编写TIPTOP双档程序cfar222初步完成了对设备仪器的数据采集。在cfar281双档项目实施后,工程...

    5年前   
    1482    0

    算法设计与分析试卷A及答案

     试题纸(A卷) 课程名称: 算法设计与分析 适用专业年级: 2008级计算机、电本 考生学号: ...

    1年前   
    570    0

    粒子群算法(优化算法)毕业设计论文

     毕 业 论 文 题 目 粒子群算法及其参数设置 专 业 信息与计算科学 班 级 ...

    5年前   
    1467    0

    算法设计与分析课程期末试卷A卷(含答案)

    华南农业大学期末考试试卷(A卷)2008学年第一学期  考试科目: 算法分析与设计 考试类型:(闭卷)   考试时间: 120 分钟学号 姓名 ...

    1年前   
    311    0

    浅谈算法设计与分析课程教学方法

    浅谈算法设计与分析课程教学方法摘要:“算法设计与分析(双语)”是北京林业大学计算机科学与技术专业的专业核心课程。根据课程的教学目标,提出“以赛启教”的教学实践思路,从教学内容、教学方法和考核方...

    1年前   
    318    0

    马列文论复习题纲

    一、奠基之作:《1844年经济学哲学手稿》二、艺术的定位:意识形态。三、艺术规律。四、马克思主义文论的特点一、《手稿》美学思想1.“劳动创造了美”。2.美感的生理基础和审美的本质问题3.美感的本质。

    1年前   
    317    0

    数值分析复习题及答案

    数值分析复习题一、选择题1. 3.142和3.141分别作为的近似数具有( )和( )位有效数字.   A.4和3          B.3和2    C.3和4          D....

    1年前   
    587    0

    数值分析各算法流程图

    数值分析各算法流程图 一、插值 1、 拉格朗日插值流程图:( 相应程序:lagrintp(x,y,xx)) ...

    5年前   
    1738    0

    算法分析期末试题集答案

    《算法分析与设计》期末复习题(一)一、 选择题1.应用Johnson法则的流水作业调度采用的算法是(D)A. 贪心算法 B. 分支限界法 C.分治法 D. 动态规划算法2.H...

    1年前   
    545    0

    CI设计期末复习题

    CI设计    期末复习题 1、      填空题 (本大题共20小题,每空1分,共40分) 1、CI可译为_______________________。 2、CI是由______、_...

    12年前   
    12555    0

    过程设备设计复习题

    过程设备设计复习题1. 有一外径为的氧气瓶,最小壁厚为6.5mm,材质为40Mn2A,工作压力为15MPa,试求氧气瓶筒身的应力。 2. 有一圆筒形容器,...

    2年前   
    617    0

    —基于机器学习的人脸识别算法的设计与实现

    人脸识别技术是一种新型的生物特征认证技术。人脸识别技术也是一个非常活跃的研究领域,涵盖了许多领域,例如数字图像处理。随着人们对应用程序需求的增长,面部识别技术趋向于大量使用,使用微芯片和标准化。

    3年前   
    828    0

    数据结构和算法课程设计题目

    XX大学课程设计课程名称: 数 据 结 构 与 算 法院(部)名 称: 信息与计算科学学院组长姓名学号 同组人员姓名指导教师姓名: 设 计 时 间: 2010.6.7-...

    11个月前   
    380    0

    线索二叉树算法的设计与实现

    随着时代的不断进步,计算机技术也随之得到发展。数据结构在计算机技术的发展中起到巨大的作用。数据结构为构建出高效的计算机算法打下了坚实的基础。良好的数据结构能够提高算法效率的同时也能减少对系统资源的占用[

    3年前   
    1001    0

    首次适应算法最佳适应算法

    姓名:学号:实验名称:进程调度模拟实验 实验目的:了解动态分区存储管理方式中的数据结构和分配算法,加深对动态分区存储管理方式及其实现技术的理解。实验内容:#include<iostream.h...

    3年前   
    1629    0

    会计制度设计复习题及答案

    复习题一单项选择题1、会计制度按适用部门和单位分为(  )A、小企业会计制度和企业会计制度 B、企业会计制度和预算会计制度 C、会计核算制度、会计分析制度和会计监督制度 D、综合性会计制度、业...

    4年前   
    2975    0

    换热器原理与设计期末复习题重点

    换热器原理与设计期末复习题重点第一章1.填空:1.按传递热量的方式,换热器可以分为间壁式, 混合式, 蓄热式2. 对于沉浸式换热器,传热系数低, 体积大,金属耗量大。3. 相比较沉浸...

    3年前   
    929    0

    文档贡献者

    文***享

    贡献于2022-08-14

    下载需要 2 香币 [香币充值 ]
    亲,您也可以通过 分享原创文档 来获得香币奖励!

    该用户的其他文档