(1) 在计算机中,算法是指______。
A. 查询方法
B. 加工方法
C. 解题方案的准确而完整的描述
D. 排序方法
[答案]C
[考点]数据结构与算法
[评析]
A、B、D都过于片面,此题直接选答案也很简单。
(2) 栈和队列的共同点是______。
A. 都是先进后出
B. 都是先进先出
C. 只允许在端点处插入和删除元素
D. 没有共同点
[答案]C
[考点]数据结构与算法
[评析]
栈是先进后出的,队列是先进先出的,共同点是只允许在端点处插入和删除元素。栈都是在一端进与出,而队列是在一端进在另一端出。
(3) 已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。
A. cedba
B. acbed
C. decab
D. deabc
[答案]A
[考点]数据结构与算法
[评析]
后序又叫后根,一次递归过程是先左再右最后根;中序是先左再根最后右。
比如下图:
前序是:abc
中序是:bac
后序是:bca
题中据后序遍历序列,一眼得知c结点是根,那么据中序deba结点都在一边,或都在根结点左边,或右边;据中序遍历序列得知全在根结点的左边。
接下来据后序得出e结点是紧挨着c结点的左子女,再据中序得知d是e的左子女,ba是右子树。
再据后序得b是e的右子女,再据中序得a是b的右子女。
分析结果得二叉树图示如下:
因为我茂叶数据结构是自学的,分析此类型的题我都是用自己的方法(递归分析的方法),要边分析边画图,一步一步连结起来,最后再根据题中的遍历检查图是否画对,如果都符合题目,最后再可根据图来得所求的遍历。
再次声明,此所有二级公基题全是我一人的思路写的,如果你觉得不可靠,可以看其它的书。
(4) 在下列几种排序方法中,要求内存量最大的是______。
A. 插入排序
B. 选择排序
C. 快速排序
D. 归并排序
[答案]D
[考点]数据结构与算法
[分析]
我们对比一个排序方法的优越性有"平均时间"、"最坏情况时间"和"辅助空间"。其中辅助空间一般是排序中需要额外的内存开销,这些内存开销一般据一些如中间变量(暂存变量)、比较与交换等等来决定。
插入排序和选择排序的辅助空间都是o(1),快速排序是o(nlog2n),归并排序是o(n)。
可知归并排序要求内存量最大,我们也可以从其变量及循环个数也以看出归并排序要求内存量最大。
(5) 在设计程序时,应采纳的原则之一是______。
A. 程序结构应有助于读者理解
B. 不限制goto语句的使用
C. 减少或取消注解行
D. 程序越短越好
[答案]A
[考点]程序设计基础
[评析]
前面的题中已解释过,二级的各种程序设计语言教程都会对结构化程序设有一定的介绍,比如goto语句的限制使用,基本上每本书上都会提到。
其中A,即易读性比程序的效率更显得重要,这是结构化程序设计原则提倡的,也是我们进行开发时非常重要的一点。
(6) 下列不属于软件调试技术的是______。
A. 强行排错法
B. 集成测试法
C. 回溯法
D. 原因排除法
[答案]B
[考点]软件工程基础
[评析]
我们严格区分调试与测试,调试是已知有错误而来找错误,是被动的;测试有很多种,比如未发现错误但不能保证程序没错而来找BUG,还比如我们运行测试程序是否符合用户的要求,是主动的。不用说答案就是B了 :)
A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法。
测试有单元测试、集成测试、确认测试、系统测试。比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误。
题外话:
很多人学软件工程时认为软件工程太无聊了,似乎全部都是些背背记记的东西,但对于一个软件构架师,软件工程是非常重要的,这就不能是些背背的东西了,最重要的是理解,要彻底地理解,还得有些开发经验才行。《软件工程》这学科是从实践中得出来的,同样也需要赋予给实践中去,这样才有用!
(7) 下列叙述中,不属于软件需求规格说明书的作用的是______。
A. 便于用户、开发人员进行理解和交流
B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据
C. 作为确认测试和验收的依据
D. 便于开发人员进行需求分析
[答案]D
[考点]软件工程基础
[评析]
A、B、C都是作用,D说法有一定的错误,开发人员包括很多,比如程序员的工作就不是进行需求分析。
(8) 在数据流图(DFD)中,带有名字的箭头表示______。
A. 控制程序的执行顺序
B. 模块之间的调用关系
C. 数据的流向
D. 程序的组成成分
[答案]C
[考点]软件工程基础
[评析]
顾名思义,数据流图就是带有方框(外部实体)、圆圈(变换/加工)和带有名字的箭头以表示数据的流向。需求分析中常用的分析图,它远离计算机上的具体实现,软件人员和用户都能看懂,有益于和用户交流。
(9) SQL语言又称为______。
A. 结构化定义语言
B. 结构化控制语言
C. 结构化查询语言
D. 结构化操纵语言
[答案]C
[考点]数据库设计基础
[评析]
学VF和ACCESS的朋友轻而易举选出答案,考其它的朋友们若没学数据库技术这一章节,则要记一下了。
Structured Query Language
结构化 查询 语言(语句)
(10) 视图设计一般有3种设计次序,下列不属于视图设计的是______。
A. 自顶向下
B. 由外向内
C. 由内向外
D. 自底向上
[答案]B
[考点]数据库设计基础
[评析]
通常有如下几种方法:
1、自顶向下。先全局框架,然后逐步细化
2、自底向上。先局部概念结构,再集成为全局结构
3、由里向外。先核心结构,再向外扩张
4、混合策略。1与2相结合,先自顶向下设计一个概念结构的框架,再自底向上为框架设计局部概念结构
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |