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

2016年11月 程序员 上午题之十二

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

摘要:对于【程序员】软考考试而言,真题无疑是最重要的学习资料之一。在软考备考过程中,吃透真题、掌握真题所考知识点、熟悉真题的出题思路,对我们提升分数的效果是最明显的,通过对真题的反复练习,还可以查漏补缺。今天,给大家带来【2016年11月 程序员 上午题】部分真题的详解,一起来看看吧~1、设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存

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



1、设数组a[0..n-1,0..m-1](n>1,m>1)中的元素以行为主序存放,每个元素占用4个存储单元,则数组元素a[i,j](0≤i<n,0≤j<m)的存储位置相对于数组空间首地址的偏移量为(35)。
A、 (j*m+i)*4

B、 (i*m+j)*4

C、 (j*n+i)*4

D、 (i*n+j)*4


答案:B
答题解析:

本题考查数据结构基础知识。
数组a的元素可示意如下。

图片.png

对于元素按行排列时,其之前有i行且每行有m个元素(行下标为0,1,…,i-1),即i*m个,行下标为i时,排列在a[i,j]切之前的元素有a[i,0],a[i,1],…,a[i,j-1],即j个,所以一共有i*m+j个元素排在a[i,j]之前,因此该元素的存储位置相对于数组空间首地址的偏移量为(i*m+j)*4。




2、线性表采用单循环链表存储的主要特点是(36)。
A、 从表中任一结点出发都能遍历整个链表

B、 可直接获取指定结点的直接前驱和直接后继结点

C、 在进行删除操作后,能保证链表不断开

D、 与单链表相比,更节省存储空间


答案:A
答题解析:

本题考查数据结构基础知识。
不含头结点且有n个元素的单链表和单循环链表分别如下图(a)、(b)所示。在单链表和单循环链表中,由于结点指针域的链接方向都是单方向的,所以对于表中的任意一个结点,都可以直接得到后继结点的指针,要获得前驱结点的指针则需要一个遍历过程。对链表进行删除操作时,只要在修改结点中的指针域之前,暂存其后继结点的指针,就可以将结点重新链接起来与单链表是否循环无关。从链表所需的存储空间来说,它们没有差别。

图片.png

观察单循环链表可知,从表中任意结点出发,沿着结点间的链接关系都能回到出发的结点,所以从表中任一结点出发都能遍历整个链表。




3、若某线性表长度为n且采用顺序存储方式,则运算速度最快的操作是(37)。
A、 查找与给定值相匹配的元素的位置

B、 查找并返回第i个元素的值(1≤i≤n)

C、 删除第i个元素(1≤i≤n)

D、 在第i个元素(1≤i≤n)之前插入一个新元素


答案:B
答题解析:

本题考查数据结构基础知识。
线性表(a1,a2,…,an)采用顺序存储时占用一段地址连续的存储单元,元素之间没有空闲单元,如下图所示。在这种存储方式下,插入和删除元素都需要移动一部分元素,这是比较耗时的操作。按照序号来查找元素,实际上是直接计算出元素的存储位置,例如,第i个元素ai的存储位置为LOC(ai)=LOC(a1)+(i-1)×L,其中L是每个元素所占用的存储单元数。按照值来查找元素时,需要与表中的部分元素进行比对,相对于按照序号来查找元素,需要更多的时间。

图片.png



查看完整试题>>>


免费刷题报考资讯 机考模拟 学习群