算法题计算机算法设计与分析期末试题套(含答案).docVIP

  • 25
  • 0
  • 约1.01万字
  • 约 19页
  • 2018-06-06 发布于江西
  • 举报

算法题计算机算法设计与分析期末试题套(含答案).doc

算法题计算机算法设计与分析期末试题套(含答案).doc

(1)用计算机求?解问题的步?骤: 1、问题分析2?、数学模型建?立3、算法设计与?选择4、算法指标5?、算法分析6?、算法实现7?、程序调试8?、结果整理文?档编制 (2)算法定义:算法是指在?解决问题时?,按照某种机?械步骤一定?可以得到问?题结果的处?理过程 (3)算法的三要?素 1、操作2、控制结构3?、数据结构 算法具有以?下5个属性?:   有穷性:一个算法必?须总是在执?行有穷步之?后结束,且每一步都?在有穷时间?内完成。   确定性:算法中每一?条指令必须?有确切的含?义。不存在二义?性。只有一个入?口和一个出?口   可行性:一个算法是?可行的就是?算法描述的?操作是可以?通过已经实?现的基本运?算执行有限?次来实现的?。   输入:一个算法有?零个或多个?输入,这些输入取?自于某个特?定对象的集?合。   输出:一个算法有?一个或多个?输出,这些输出同?输入有着某?些特定关系?的量。 算法设计的?质量指标:   正确性:算法应满足?具体问题的?需求;   可读性:算法应该好?读,以有利于读?者对程序的?理解;   健壮性:算法应具有?容错处理,当输入为非?法数据时,算法应对其?作出反应,而不是产生?莫名其妙的?输出结果。   效率与存储?量需求:效率指的是?算法执行的?时间;存储量需求?指算法执行?过程中所需?要的最大存?储空间。一般这两者?与问题的规?模有关。 经常采用的?算法主要有?迭代法、分而治之法?、贪婪法、动态规划法?、回溯法、分支限界法? 迭代法 也称“辗转法”,是一种不断?用变量的旧?值递推出新?值的解决问?题的方法。 利用迭代算?法解决问题?,需要做好以?下三个方面?的工作:   一、确定迭代模?。在可以用迭?代算法解决?的问题中,至少存在一?个直接或间?接地不断由?旧值递推出?新值的变量?,这个变量就?是迭代变量?。   二、建立迭代关?系式。所谓迭代关?系式,指如何从变?量的前一个?值推出其下?一个值的公?式(或关系)。迭代关系式?的建立是解?决迭代问题?的关键,通常可以使?用递推或倒?推的方法来?完成。 三、对迭代过程?进行控制。在什么时候?结束迭代过?程?这是编写迭?代程序必须?考虑的问题?。不能让迭代?过程无休止?地重复执行?下去。迭代过程的?控制通常可?分为两种情?况:一种是所需?的迭代次数?是个确定的?值,可以计算出?来;另一种是所?需的迭代次?数无法确定?。对于前一种?情况,可以构建一?个固定次数?的循环来实?现对迭代过?程的控制;对于后一种?情况,需要进一步?分析出用来?结束迭代过?程的条件。编写计算斐?波那契(Fibon?acci)数列的第n?项函数fi?b(n)。   斐波那契数?列为:0、1、1、2、3、……,即:   fib(0)=0;   fib(1)=1;   fib(n)=fib(n-1)+fib(n-2) (当n1时)。   写成递归函?数有:   int fib(int n)   { if (n==0) retur?n 0;   if (n==1) retur?n 1;   if (n1) retur?n fib(n-1)+fib(n-2);   }一个饲养场?引进一只刚?出生的新品?种兔子,这种兔子从?出生的下一?个月开始,每月新生一?只兔子,新生的兔子?也如此繁殖?。如果所有的?兔子都不死?去,问到第 12 个月时,该饲养场共?有兔子多少?只?   分析: 这是一个典?型的递推问?题。我们不妨假?设第 1 个月时兔子?的只数为 u 1 ,第 2 个月时兔子?的只数为 u 2 ,第 3 个月时兔子?的只数为 u 3 ,……根据题意,“这种兔子从?出生的下一?个月开始,每月新生一?只兔子”,则有   u 1 = 1 , u 2 = u 1 + u 1 × 1 = 2 , u 3 = u 2 + u 2 × 1 = 4 ,……    根据这个规?律,可以归纳出?下面的递推?公式:   u n = u n - 1 × 2 (n ≥ 2)   对应 u n 和 u n - 1 ,定义两个迭?代变量 y 和 x ,可将上面的?递推公式转?换成如下迭?代关系:   y=x*2   x=y   让计算机对?这个迭代关?系重复执行? 11 次,就可以算出?第 12 个月时的兔?子数。参考程序如?下:   cls   x=1   for i=2 to 12   y=x*2   x=y   next i   print? y   end 分而治之法? 1、分治法的基?本思想 任何一个可?以用计算机?求解的问题?所需的计算?时间都与其?规模N有关?。问题的规模?越小,越容易直接?求解,解题所需的?计算时间也?越少。例如,对于n个元?素的排序问?题,当n=1时,

文档评论(0)

1亿VIP精品文档

相关文档