当前位置: 首页 > news >正文

软件设计(九)

软件设计(八)icon-default.png?t=N176https://blog.csdn.net/ke1ying/article/details/128954569?spm=1001.2014.3001.5501

81、模块A将学生信息,即学生姓名、学号、手机等放到一个结构体系中,传递给模块B,模块A和B之间的耦合类型为 什么耦合?

数据耦合:指两个模块之间有调用关系,传递简单的数据值,相当于高级语言的值传递。

标记耦合:指两个模块之间传递的是数据结构。

所以答案是 标记耦合。

控制耦合:指一个模块调用另一个模块时,传递的是控制变量,被调用的模块通过控制变量的值选择执行模块的某个功能。

内容耦合:当一个模块直接使用另一个模块的数据,或者通过非正常入口转入另一个模块的时候。

82、状态(state)模式:允许一个对象在其内部状态改变时改变它的行为,对象看起来似乎修改了它的类。

83、编译过程进行语法分析主要分析的是 程序语句的结构是否合法

解析:

编译过程一般分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成,以及出错处理和符号表管理。

语法分析是词法分析的基础上分析短语(表达式)、句子结构是否正确。

词法分析是识别一个个单词,基本字符,标识符,常数,运算符,界符。

84、设S是一个长度为n的非空字符串,其中字符各不相同,则其互异的非平凡子串(非空且不同于S本身)个数是多少个?

解析:

当 abcdefg字符串。

长度为6的非平凡子串:abcdef、bcdefg。所以是n-5=2个

长度为5的非平凡子串:abcde、bcdef、cdefg。所以是n-4=3个。

n-3=4

n-2=5

n-1=6

所以 (n+2)(n-1)/2 个。

85、某二叉树采用二叉链表表示(即结点的两个指针分别指示左、右孩子),当该二叉树包含k个结点时,其二叉链表结点中必有 多个 空的孩子指针。

解析:k+1

当二叉树包含k个结点时,链表中每个结点都有两个孩子指针,共2k个,每个指针包含一个父子关系。非空二叉树除了根结点外,每个结点都有唯一的父结点,因此2k个孩子指针中k-1个表示结点的父子关系,其余的k+1个孩子指针都为空指针。

86、解析:

1)无向连通图G的叙述中,任意两个顶点之间存在路径。(任意两个顶点之间不存在 边)

2)从G中任意顶点出发可遍历图中所有顶点。

3)G的邻接矩阵是对称矩阵。

87、现需要对一个基本有序的数组进行排序,此时采用最适应的算法为 插入排序算法,时间复杂度为 O(n)

解析:

插入排序算法最好的情况下复杂度是O(n),其他情况下是O(n²)。

快速排序在有序的情况下,其计算复杂度最坏的情况下是O(n²),其他情况是O(nlgn)。

归并排序和堆排序算法在所有情况下的时间复杂度为O(nlgn)。

88、相对于TCP,UDP的优势是 开销较小

传输协议层主要TCP和UDP。TCP较为复杂,有3次握手动作,传输过程中可以实现可靠性、流量控制和拥塞控制,因此开销较大

UDP协议主要通过端口号实现传输层的寻址,开销较小

89、email使用两个协议,SMTP(简单邮件传送协议)和POP3(邮局协议)

SMTP用于发送邮件,端口号是25

Pop3接受邮件,端口号是110.

这两个都是基于TCP协议的应用层协议。

90、SNMP 是采用UCP协议封装的。

SMTP则采用的是TCP协议。

http://www.lryc.cn/news/3252.html

相关文章:

  • FoveaBox原理与代码解析
  • Linux内核启动(1,0.11版本)启动BIOS与加载内核
  • python制作贪吃蛇小游戏,畅玩无限制
  • MySQL-InnoDB数据页结构浅析
  • Java、JSP职工人事管理系统设计与实现
  • 数据结构与算法这么难,为什么我们还要学习?
  • 剑指 Offer 52. 两个链表的第一个公共节点
  • 可以写进简历的软件测试电商项目,不进来get一下?
  • 蓝桥杯-算法-印章问题
  • 戴尔游匣G16电脑U盘安装系统操作教程分享
  • 2023数学建模美赛赛题思路分析 2023美赛 美国大学生数学建模数模
  • vue3与vue2的对比
  • 史上最全软件测试工程师常见的面试题总结(百度、oppo、中软国际、华为)备战金三银四
  • “深度学习”学习日记。卷积神经网络--用CNN的实现MINIST识别任务
  • JavaWeb--JDBC练习
  • 【LeetCode】2335. 装满杯子需要的最短总时长
  • Android 12.0 通过驱动实现禁用usb鼠标和usb键盘功能
  • C++入门——内存管理
  • MySQL-InnoDB行格式浅析
  • AXI 总线协议学习笔记(4)
  • C++复习笔记6
  • 指针的步长及意义(C语言基础)
  • SpringMVC:统一异常处理(11)
  • SpringBoot的配置与使用
  • 【Python】tkinter messagebox练习笔记
  • 2022年12月电子学会Python等级考试试卷(五级)答案解析
  • 计算机网络自定向下 -- 浅谈可靠性之rdt协议
  • 制造业升级转型:制造业上市公司-智能制造词频统计数据集
  • HTML 开发工具整理
  • 介绍ACE C++网络通信框架