0 #F1004. 2021~2023CSP-J初赛——算法基础汇总

2021~2023CSP-J初赛——算法基础汇总

  1. 以比较作为基本运算,在N个数中找出最大数,最坏情况下所需要的最少的比较次数为( )。 {{ select(1) }}
  • N2N^2
  • NN
  • N1N-1
  • N+1N+1
  1. 以下排序算法的常见实现中,哪个选项的说法是错误的:( )。 {{ select(2) }}
  • 冒泡排序算法是稳定的
  • 简单选择排序是稳定的
  • 简单插入排序是稳定的
  • 归并排序算法是稳定的
  1. 考虑如下递归算法
solve(n)  
   if n<=1 return 1  
    else if n>=5 return n*solve(n-2)  
    else return n*solve(n-1)

则调用 solve(7) 得到的返回结果为( )。 {{ select(3) }}

  • 105
  • 840
  • 210
  • 420
  1. 以下对递归方法的描述中,正确的是:( )。 {{ select(4) }}
  • 递归是允许使用多组参数调用函数的编程技术
  • 递归是通过调用自身来求解问题的编程技术
  • 递归是面向对象和数据而不是功能和逻辑的编程语言模型
  • 递归是将用某种高级语言转换为机器代码的编程技术
  1. 以 a 为起点,对下边的无向图进行深度优先遍历,则 b,c,d,e四个点中有可能作为最后一个遍历到的点的个数为( )。

    image {{ select(5) }}

  • 1
  • 2
  • 3
  • 4
  1. 有四个人要从 A 点坐一条船过河到 B 点,船一开始在 A 点。该船一次最多可坐两个人。 已知这四个人中每个人独自坐船的过河时间分别为 1,2,4,8且两个人坐船的过河时间为两人独自过河时间的较大者。则最短( )时间可以让四个人都过河到 B 点(包括从 B 点把船开回 A 点的时间)。 {{ select(6) }}
  • 14
  • 15
  • 16
  • 17
  1. 以下关于高精度运算的说法错误的是() {{ select(7) }}
  • 高精度计算主要是用来处理大整数或需要保留多位小数的运算
  • 大整数除以小整数的处理的步骤可以是,将被除数和除数对齐,从左到右逐位尝试将除数乘以某个数,通过减法得到新的被除数,并累加商
  • 高精度乘法的运算时间只与参与运算的两个整数中长度较长者的位数有关
  • 高精度加法运算的关键在于逐位相加并处理进位