提升软件设计师技能:试题解析与概念概述
需积分: 9 9 浏览量
更新于2024-07-26
收藏 236KB DOC 举报
本文档主要针对软件设计师考试的试题,涵盖了面向对象技术、数据结构、算法、图论、哈夫曼树、有向图存储、树的性质、二叉树遍历以及分块查找等多个知识点。让我们逐一解析:
1. **面向对象技术:**
- 类属是面向对象技术中的一个抽象概念,它通过强调类的共同特性(如属性或行为)来描述一组类,而忽略了与具体对象相关或类型的细节。类属通过变元来表达那些与具体对象无关的部分。
2. **数据结构与存储方式:**
- 链式存储结构(如链表)并不保证元素的存储地址与其关键字之间有固定的映射关系,而索引存储结构和散列存储结构(如哈希表)则实现了这种映射,其中散列存储结构的特点即在于此。
3. **循环队列:**
- 循环队列中队首元素的位置可以通过计算rear指针与元素个数length的关系来得到,即(rear + 1 - length) mod m,选项C正确。
4. **邻接矩阵的零元素:**
- 对于无向图的邻接矩阵,每条边会在两个顶点对应的行和列各出现一次,因此除了主对角线上的元素外,其余均为零。总共有n^2个元素,去掉n条对角线上的元素,剩下(n^2 - n) = (n-1)n = e个零元素,因为e条边。
5. **哈夫曼树:**
- 哈夫曼树(最优二叉树)的非叶节点数量总是比叶子节点少1,所以当有9个顶点时,叶子结点个数为9 - 1 = 8,但选项中没有这个选项,可能题目有误。
6. **有向图的入度:**
- 邻接矩阵中,一个顶点的入度等于对应行中值为1的元素个数,因为每一条进入该顶点的边都会增加该顶点所在行的一个1。
7. **树的度数与度为0的结点:**
- 在度为3的树中,如果有两个度为3的节点和一个度为2的节点,这意味着总共还有3个结点(包括已知的3个)具有非零度数。根据树的性质,所有结点的度数之和等于边的数量,所以树中总的非零度数是3+3+2=8。由于所有结点的度数加起来应该是边的数量的两倍,即2e,所以e=4。因此,度为0的结点数是总结点数减去非零度数,即n - 8 = n - 4 - 2,即n - 6,所以有4个度为0的结点。
8. **二叉树遍历:**
- 先根遍历和后根遍历中,x在y之前意味着x可能位于y的左侧,而在后根遍历中x在y之后,这表明x是y的祖先,而不是左右兄弟,也不是后裔。
9. **分块查找的平均查找长度:**
- 对于123个元素的线性表,等分为3块意味着每块有大约41个元素。如果采用顺序查找,首先查找索引表确定子块,平均而言,第一次查找找到正确子块的概率是1/3,之后在子块内再查找平均需要41次。所以,分块查找的平均查找长度为1(索引表查找)+ (123/3 - 1) * (1/3 + 1) ≈ 47。
文档内容主要考察了软件设计师应掌握的基础理论,包括面向对象编程、数据结构、图论算法、树的性质和查找算法等,对考生的理论素养和实践能力有一定要求。
2019-08-20 上传
2008-12-15 上传
2018-07-09 上传
2009-09-05 上传
2008-10-13 上传
2017-03-17 上传
2012-01-11 上传
2009-09-03 上传
2008-05-11 上传
suepansuepan
- 粉丝: 0
- 资源: 1
最新资源
- iec61850:IEC 61850 协议实现
- PID-Control-System,数字转字符串c语言源码实现,c语言程序
- george-connect:George Connect-与您的同事保持联系
- device_xiaomi_phoenix:POCO X2Redmi K30的设备树
- portfolio
- hltv-rs:(WIP)非官方的HLTV Rust API
- github-slideshow:机器人提供动力的培训资料库
- TextComparer:文本比较器
- eslint-plugin-class-prefer-methods:eslint插件报告不需要的箭头功能而不是类方法的用法
- ARM-DEV,c语言生成xml格式的源码,c语言程序
- snapnet
- 软件开发项目企业官网模板
- Online-Music-Sharing
- 三色灯控制开发Demo
- mission-extract-bit
- son_jay:结构化数据和 JSON 之间的对称转换