1.请将以下程序段表示的计算公式写出来(假设X的值已给出) e:=1; a: =1; for n:=1 to 10 do a:=a*x/n; e:=e+a; endfor;
2.列举一个算法,使算法的解能对应相应的问题。 用5角钱换成5分、2分、1分的硬币,可有多少种换法?请列出问题的算法。
3.已知如下N*(N+1)/2个数据,按行的顺序存入数组A[1],A[2],.....中:
A11
A2l A22
A3l A32 A33
.........
ANl AN2 AN3 ...... ANN ;
其中:第一个下标表示行,第二个下标表示列。若Aij(I>=J,i,j=1,2,,N)存入A[K]中,试问:K和I,J之间的关系如何表示?给定K值(K≤N*(N+1)/2)后 ,写出能决定相应的I,J值的算法。
4.有红、黄、黑、白四色球各一个,放置在一个内存编号为1、2、3、4四个格子的盒中,每个格子放置一只球,它们的顺序不知。甲、乙、丙三人猜测放置顺序如下: 甲:黑编号1,黄编号2; 乙:黑编号2,白编号3; 丙:红编号2,白编号4。 结果证明甲乙丙三人各猜中了一半,写出四色球在盒子中放置情况及推理过程。
5.已知:a1,a2,...a81共81个数,其中只有一个数比其他数大,以下是用最少的次数找出来。将下列算法补充完整。 第一步:s1=a1+a2+...+a27 s2=a28+a29+...+a54 第一次比较(s1,s2): s1>s2 取 k=0 s1<s2 取 k=27 s1=s2 取k=54 第二步:s1=ak+1+ak+2+...+a9 s2=ak+10+ak+11+...+ak+18 第二次比较(s1,s2): s1>s2 取 k= s1<s2 取 k= s1=s2 取k= 第三步:s1=ak+1+ak+2+ak+3 s2=ak+4+ak+5+ak+6 第三次比较(s1,s2): s1>s2 取 k= s1<s2 取 k= s1=s2 取k= 第四步:s1=ak+1 s2=ak+2 第四次比较(s1,s2):
s1>s2: 为最大数
s1<s2: 为最大数
s1=s2: 为最大数
6.已知,按中序遍历二叉树的结果为:abc
问:有多少种不同形态的二叉树可以得到这一遍历结果,并画出这些二叉树。
7.有2×n的一个长方形方格,用一个1×2的骨牌铺满方格。例如n=3时,为2×3方格。
此时用一个1×2的骨牌铺满方格,共有3种铺法:
8.试对给出的任意一个n(n〉0),求出铺法总数的递推公式。设有一个共有n级的楼梯,某人每步可走1级,也可走2级,也可走3级,用递推公式给出某人从底层开始走完全部楼梯的走法。例如:当n=3时,共有4种走法,即1+1+1,1+2,2+1,3。
9.有标号为A、B、C、D和1、2、3、4的8个球,每两个球装一盒,分装4盒。标号为字母的球与标号为数字的球有着某种一一对应的关系(称为匹配)并已知如下条件: ①匹配的两个球不能在一个盒子内; ②2号匹配的球与1号球在一个盒子里; ③A号和2号球在一个盒子里; ④B匹配的球和C号球在一个盒子里; ③3号匹配的球与冬号匹配的球在一个盒子里; ⑥4号是A或B号球的匹配球; ⑦D号与1号或2号球匹配。 请写出这四对球匹配的情况。
10.电线上停着两种鸟(A,B),可以看出两只相邻的鸟就将电线分为了一个线段。这些线段可分为两类;一类是两端的小鸟相同;另一类则是两端的小鸟不相同。已知:电线两个顶点上正好停着相同的小鸟,试问两端为不同小鸟的线段数目一定是( )。 A.奇数 B. 偶数 C. 可奇可偶 D. 数目固定
11.已知数组中A中,每个元素A(I,J)在存贮时要占3个字节,设I从1变化到8,J从1变化到10,分配内 存时是从地址SA开始连续按行存贮分配的。 试问:A(5,8)的起始地址为( ) A.SA+141 B. SA+180 C. SA+222 D. SA+225
12.某数列有1000个各不相同的单元,由低至高按序排列;现要对该数列进行二分法检索(binary-search),在最坏的情况下,需检视( )个单元。 A.1000 B. 10 C. 100 D. 500
13.公式推导(10分) 根据Nocomachns定理,任何一个正整数n的立方一定可以表示成n个连续的奇数的和。例如: 13= 1 23= 3+ 5 33= 7+ 9 +11 43=13十15+17+19 …… 在这里,若将每一个式中的最小奇数称为X,那么当给出n之后,请写出X与n之间的关系表达式:___
14.在磁盘的目录结构中,我们将与某个子目录有关联的目录数称为度.例如下图:
该图表达了A盘的目录结构:DI,Dll,……D2均表示子目录的名字.在这里,根目录的度为2,D1子目录的度为3,D11子目录的度为4,D12,D2,D111,D112,D113的度均为1。又不考虑子目录的名字,则可简单的图示为如下的树结构:
若知道一个磁盘的目录结构中,度为2的子目录有2个,度为3的子目录有1个,度为4的子目录有3个。 试问:度为1的子目录有几个?
15.已知:ack(m,n)函数的计算公式如下: n+1 m=0 ack[m,n]={ack(m-1,1) n=0 ack(m-1,ack(m,n-1)) m,n<>0 计算 ack(1,2),ack(1,3),ack(2,2),ack(2,4).
16.将表达式A+B*(C/D)和A-C*D+B^E写成前缀和后缀表达式.
17.给出一棵二叉树的中序遍历:DBGEACHFI与后序遍历:DGEBHIFCA,它的先序遍历是-------.
18.已知:一个数列U1,U2,U3,...Un,...,往往可以找到一个最小的K 值和K个数a1,a2,...ak使得数列从某项开始都满足:Un+k=a1Un+k-1+a2Un+k-2+...+akUn.例如斐波拉锲数列1,1,2,3,5,...可以发现:当k=2,a1=1,a2=1,试对数列12,22,32,...n2,...求k和a1,a2,...ak.
19.某班50名学生,每位学生发一张调查卡,上面写有a,b,c三本书名,结果统计数字如下:只读a者8人;只读b者4人;只读c者3人;全部读过2人,读过a,b两本书的有4人,读过a,c两本书的有2人,读过b,c两本书的有3人,则读过a 的人数是-----。一本书没读过的人数是-----。
20.设循环队列中数组的下标范围是1-n,其头尾指针分别为f,r,则其元素的个数为----.
21.以下哪一个不是栈的基本运算( ) A)删除栈顶元素 B)删除栈底的元素 C)判断栈是否为空 D)将栈置为空栈
22.在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找12。所需的关键码比较的次数为( ) A)2 B)3 C)4 D)5
23.一棵二叉树的高度为h,所有结点的度为0,或为2,则此树最少有( )个结点 A)2h-1 B)2h—1 C)2h十1 D)h十1
24.若已知一个栈的入栈顺序是1,2,3,…,n,其输出序列为P1,P2,P3,…,Pn,若P1是n,则Pi是( ) A)i B)n - i C)n - i + 1 D)不确定
25.平面上有三条平行直线,每条直线上分别有7,5,6个点,且不同直线上三个点都不在同一条直线上。问用这些点为顶点,能组成多少个不同四边形?
26.在顺序表(2,5,7,10,14,15,18,23,35,41,52)中,用二分法查找12,所需的关键码比较的次数为( ) A:2 B:3 C:4 D:5
27、若已知一个栈的入栈顺序是1,2,3,…,n,其输出序列为P1,P2,P3,…Pn,若P1是n,则Pi是( ) A:i B:n-i C:n-i+1 D:不确定
28.在a,b,c,d,e,f六件物品中,按下面的条件能选出的物品是: a,b,c,f ⑴a,b两样至少有一样 ⑵a,d不能同时取 ⑶a,e,f中必须有2样 ⑷b,c要么都选,要么都不选 ⑸c,d两样中选一样 ⑹若d不选,则e也不选 29.平面上有三条平行线,每条直线上分别有7,5,6个点,且不同直线上三个点都不在同一直线上。 问用这些点为顶点,能组成多少个不同三角形?
|