[软考考点解析]软件设计师--正规式与正规集

本文涉及的产品
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
简介: 1. 概念正规式与正规集是编译原理里面的概念。正规式用来描述一类单词。正规集是正规式描述的单词的集合。注意此处的单词,其实就是一个符号串,可以是数字、字母或者其他字符的组合。

2. 方法

如果我们有两个字符a、b,那么有以下几种常用正规式写法。


正规式a,表示单一字符a,对应的正规集{a}。

正规式a|b,表示单一字符a或者b,对应有2个元素的正规集{a,b}。

正规式ab,表示由两个字符ab的元素,对应只有1个元素的正规集{ab}。

正规式ab(a|b),ab是确定的部分,然后再添加a或b,对应正规集{aba,abb}。

正规式a*,*表示任意个,对应正规集{Φ,a,aa,aaa,...}。

正规式(a|b)*,可以表示任意由a、b组成的串的集合,对应正规集{Φ,a,b,ab,aa,bb...}。

3. 刷题

题目:由a、b构造且仅包含偶数个a的串的集合,用正规式表示为()。

A: (a*a)*b*

B: (b*(ab*a)*)*

C: (a*(ba*)*b)*

D: (a|b)*(aa)*


解析:

对于A,如果第一个星号执行0次,第二个星号执行1次,第三个星号执行1次,结果为:ab,a不是偶数个,错误。

对于B,由于中间括号中两个aa必然成对出现,所以是偶数个a,正确!

对于C,第一个星号执行1次,第二、三个星号执行0次,第四个星号执行1次,结果为:ab,a不是偶数个,错误。

对于D,如果(a|b)执行为a,且第一个星号执行1次,第二个星号执行1次,结果为:aaa,a不是偶数个,错误。

相关文章
|
2月前
|
算法 测试技术
软件设计师软考题目解析24 --每日五题
这篇文章提供了软件设计师软考的每日五题解析,包括测试用例设计、软件维护类型、路径覆盖测试、软件维护工具和系统改进等知识点。
29 0
软件设计师软考题目解析24 --每日五题
|
2月前
|
项目管理
软件设计师软考题目解析20之英语题
软件设计师软考中英语题目的解析和答题技巧,帮助考生攻克英语部分的题目。
20 0
软件设计师软考题目解析20之英语题
|
2月前
|
前端开发 数据处理
软件设计师软考题目解析23 --每日五题
每日五题解析,涉及结构化开发方法的特点、数据流图的基本加工、MVC体系结构的优点以及模块间耦合类型的判断等知识点。
16 0
|
2月前
|
算法 数据建模 数据库
软件设计师软考题目解析22 --每日五题
每日五题解析,涉及结构化开发方法中的接口设计依据、数据结构和算法设计、数据流图的使用场景、外部实体的识别以及决策树在数据流图中表示复杂条件逻辑的应用。
17 0
|
2月前
|
网络协议 PHP
软件设计师软考题目解析21 --每日五题
每日五题解析,包括海明码纠错、POP3协议通信模式、中断处理、HTML邮件链接创建和结构化开发方法中的接口设计等知识点。
15 0
|
24天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
64 2
|
2月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
72 0
|
2月前
|
算法 Java 容器
Map - HashSet & HashMap 源码解析
Map - HashSet & HashMap 源码解析
57 0
|
2月前
|
存储 Java C++
Collection-PriorityQueue源码解析
Collection-PriorityQueue源码解析
64 0
|
2月前
|
安全 Java 程序员
Collection-Stack&Queue源码解析
Collection-Stack&Queue源码解析
85 0

推荐镜像

更多