当前位置: 首页icon 51CTO软考 > 软考资讯 >考试科目 >2017年11月 程序员 上午题之十三

2017年11月 程序员 上午题之十三

作者:mb62678baacf7372023-10-19 01:00:13
备考咨询 刷题指导
添加专属学姐
下载资料 2024上半年软考备考资料+考试大纲
下载按钮 下载
引号

摘要:对于【程序员】软考考试而言,真题无疑是最重要的学习资料之一。在软考备考过程中,吃透真题、掌握真题所考知识点、熟悉真题的出题思路,对我们提升分数的效果是最明显的,通过对真题的反复练习,还可以查漏补缺。今天,给大家带来【2017年11月 程序员 上午题】部分真题的详解,一起来看看吧~1、对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元

引号
摘要:对于【程序员】软考考试而言,试题无疑是最重要的学习资料之一。在软考备考过程中,吃透试题、掌握试题所考知识点、熟悉试题的出题思路,对我们提升分数的效果是最明显的,通过对试题的反复练习,还可以查漏补缺。今天,给大家带来【2017年11月 程序员 上午题】部分试题的详解,一起来看看吧~



1、对于初始为空的栈S,入栈序列为a、b、c、d,且每个元素进栈、出栈各1次。若出栈的第一元素为d,则合法的出栈序列为( )。 
A、 d c b a


B、 d a b c


C、 d c a b

D、 d b c a


答案:A
答题解析:




2、对关键码序列(9,12,15,20,24,29,56,69,87)进行二分查找(折半查找),若要查找关键码15;则需依次与( )进行比较。
A、 87、29、15

B、 9、12、15

C、 24、12、15

D、 24、20、15



答案:C
答题解析:

二分法查找(折半查找)的基本思想是:(设R[low,„,high]是当前的查找区)

(1)确定该区间的中点位置:mid=[(low+high)/2];

(2)将待查的k值与R[mid].key比较,若相等,则查找成功并返回此位置,否则需确定新的查

找区间,继续二分查找,具体方法如下。 若R[mid].key>k,则由表的有序性可知R[mid,„,n].key

均大于k,因此若表中存在关键字等于k的结点,则该结点必定是在位置mid左边的子表R[low,„,mid–1]

中。因此,新的查找区间是左子表R[low,„,high],其中high=mid–1。 若R[mid].key<k,则要查找

的k必在mid的右子表R[mid+1,„,high]中,即新的查找区间是右子表R[low,„,high],其中low=mid+1。 若R[mid].key=k,则查找成功,算法结束。

(3)下一次查找是针对新的查找区间进行,重复步骤(1)和(2)。

(4)在查找过程中,low逐步增加,而high逐步减少。如果high<low,则查找失败,算法结束




3、对关键码序列(12,24,15,56,20,87,69,9)采用散列法进行存储和查找,并设散列函数为H(Key)=Key%11(%表示整除取余运算)。采用线性探查法(顺序地探查可用存储单元)解决冲突所构造的散列表为( )。   A.        B.  C.D. 
A、 A

B、 B

C、 C

D、 D


答案:B
答题解析:

散列函数为H(Key)=KeyMOD11(MOD表示整除取余运算),因此只需要对线性表类数据分别与7进行取余运算。

12,24,15,56,20,87,69,9与11取余分别得到:1,2,4,1,9,10,3,9,按照序列依次存储到相应位置,若出现冲突则往后顺延




查看完整试题>>>


代理合作学习群