第八章 计算机科学导论(第四版)-- 习题答案 [贝赫鲁兹*佛罗赞]

Q8-1 算法的正式定义是什么?

        A:算法定义为一组明确步骤的有序集合,它产生结果并在有限的时间内终止。

Q8-2 给出用于结构化程序设计中的三种结构的定义。

        A:顺序:简单的指令序列
              判断(选择):有时需要检测一个条件是否满足,假如测试的结果为真,则可以继续顺                                 序往下执行指令;假如结果为假,程序将从另外一个顺序结构的指令继续执行。
              循环:重复执行相同的指令序列

Q8-3 UML图与算法有何关系?

        A:UML图:统一建模语言,使用“大图”的形式掩盖了算法的所有细节,只显示算法从开始                                   到结束的整个流程

Q8-4 伪代码与算法有何关系?

        A:伪代码:伪代码是算法所需的一种类似英语的代码表示形式,是部分英语与部分结构化代                              码的组合。

Q8-5 排序算法的用途是什么?

        A:根据数据的值对他们进行排序,将无序的数据变为有序,方便查找信息

Q8-6 本章有哪三种基本排序算法?

        A:选择排序算法、冒泡排序算法、插入排序算法

Q8-7 查找算法的用途是什么?

        A:在一组对象中确定目标所在位置

Q8-8 本章讨论的基本查找算法主要有哪两种?

        A:顺序查找、折半查找

Q8-9 给出迭代过程的定义和一个例子。

        A:任何时候只要算法的定义不涉及算法本身,它就是迭代的

Q8-10 给出递归过程的定义和一个例子。

        A:任何时候只要算法出现在它的定义中,算法就是递归定义的

P8-1        

                  

P8-2        

                   

P8-3

                         

P8-4        

                

P8-5

  

P8-6

         

P8-7

          

P8-8

          

P8-9

           

P8-10

          

P8-11

          

P8-12

         

P8-13

            

P8-14

P8-15

                     

P8-16

          

P8-17

            

P8-18        a. gcd(7,41) = 6;     b. gcd(12,100) = 4;      c. gcd(80,4) = 4;      d. gcd(17,29) = 1;

P8-19

            

P8-20        a. C(3,2) = 3;           b. C(5,5) = 1;          c. C(2,7) 未定义 ;            d. C(4,3) = 4;

P8-21        

           

P8-22        a. Fib(2) = 1;              b. Fib(3) = 2;             c. Fib(4) = 3;                 d. Fib(5) = 5;

P8-23

             

P8-24        有空再补

P8-25

           

P8-26        有空再补

P8-27

               

P8-28        

Algorithm:Sum(list)
Purpose:It finds the sum of integers
Pre:Given:A list of integers
Post:None
Return:Sum of the integers
{
    sum ← 0
    while (more integer to add)
    {
        get next integer
        sum ← sum + (next integer)
    }
    return sum
}

P8-29

              

P8-30        有空再补

P8-31

P8-32        有空再补

P8-33

P8-34        有空再补

P8-35

P8-36 

Algorithm:SequentialSearch(list,target,n)
Purpose:Apply sequential search a list of n sorted numbers
Pre:list,target,n
Post:None
Return:flag,i  //flag shows the status of the search (true if target found, false if not)

{
    flag ← false
    i = 1
    while(i ≤ n)
    {
        if(target = Ai)
            flag ← true
            retuen(flag,i)
        else
            i++
    }
    return(flag)
}
 // If flag is false, not found
 // If flag is true, i is the location of the target

P8-37

P8-38

P8-39

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值