软考之软件工程基础理论知识
软件工程基础
软件开发方法
- 结构化方法
- 将整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据按顺序完成。
- 应用最广泛。
- 特点是注重开发过程的整体性和全局性。
- 缺点是开发周期长文档设计说明繁琐,工作效率低
- 开发前要求全面获取需求和所有变更,但这不现实。
- 原型法
- 基于对用户需求的初步理解,先快速开发一个原型系统,然后通过反复修改来实现用户的最终系统需求。
- 面向对象方法
- 用对象表示客观事物,对象是一个严格模块化的实体,在系统开发中可被共享和重复引用以达到复用的目的。
- 其特点是在整个开发过程中使用的是同一套工具。
- 面向对象方法主要涉及分析、设计、实现三个阶段。
- 敏捷方法
- 以人为核心、选代、循序新进的开发方法
- 适用于一开并没有或不能完整地确定出需求和范围的项目
- 或者需要应对迅速变化的环境,或者需求和范围难以事先确定,或者能够以有利于干系人的方式定义较小的增量改进。
软件开发模型
瀑布模型

该模型是将软件生存周期中的各个活动规定为依线性顺序连接的若干阶段的模型,包括需求分析、设计、编码、测试、运行与维护。它规定了由前至后、相互衔接的固定次序,如同瀑布流水逐级下落。
优点
瀑布模型的优点容易理解,管理成本低:强调开发的阶段性早期计划及需求调查和产 品测试。
不足之处
- 客户必须能够完整、正确和清晰地表达他们的需要
- 在开始的两个或 3 个阶段中,很难评估真正的进度状态
- 当接近项目结束时,出现了大量的集成和测试工作;
- 直到项目结束之前,都不能演示系统的能力。
在瀑布模型中,需求或设计中的错误往往只有到了 项目后期才能够被发现,对于项目风险的控制能力较弱,从而导致项目常常延期完成,开发费 用超出预算。
增量模型

该模型融合了瀑布模型的基本成分和原型实现的迭代特征,它假设可以将需求分段为一 系列增量产品,每一个增量可以分别开发。该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第一个增量往往是核心的产品。客户对每个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。
不足之处
增量模型有以下不足之处
- 如果没有对用户的变更要求进行规划,那么产生的初始增量可能会造成后来增量的不稳定
- 如果需求不像早期思考的那样稳定和完整,那么一些增量就可能需要重新开发,重新发布
- 管理发生的成本、进度和配置的复杂性可能会超出组织的能力。
演化模型
演化模型是迭代的过程模型,使得软件开发人员能够逐步开发出更完整的软件版本。演化模型特别适用于对软件需求缺乏准确认识的情况。典型的演化模型有原型模型和螺旋模型等。
原型方法
- 原型方法比较适合于用户需求不清、需求经常变化的情况。当系统规模不是很大也不太复杂时,采用该方法比较好。原一个原型不必满足目标软件的所有约束,其目的是能快速、低成本地构建原型。当然能够采用原型方法是因为开发工具的快速发展,使得能够迅速地开发出一个让用户看得见、摸得着的系统框架。

螺旋模型
- 螺旋模型对于复杂的大型软件,开发一个原型往往达不到要求。
- 螺旋模型将瀑布模型和演化模型结合起来,加入了两种模型均忽略的风险分析,弥补了这两种模型的不足。
螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期大致和瀑布模型相符合,每个螺旋周期分为如下 4 个工作步骤。
- 制订计划
- 确定软件的目标,选定实施方案,明确项目开发的限制条件。
- 风险分析
- 分析所选的方案,识别风险,消除风险。
- 实施工程
- 实施软件开发,验证阶段性产品。
- 用户评估
- 评价开发工作,提出修正建议,建立下一个周期的开发计划。

螺旋模型强调风险分析,使得开发人员和用户对每个演化层出现的风险有所了解,从而做 出应有的反应。因此,该模型特别适用于庞大、复杂并且具有高风险的系统。
喷泉模型

这是是一种以用户需求为动力,以对象作为驱动的模型,适合于面向对象的开发方法。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。喷泉模型的各个阶段没有明显的界线,开发人员可以同步进行。
其优点是可以提高软件项目的开发效率,节省开发时间。由于喷泉模型在各个开发阶段是重叠的,在开发过程中需要大量的开发人员,不利于项目的管理。此外,这种模型要求严格管理文档,使得审核的难度加大。
(5)统一过程(UP)模型
统一过程模型是一种“用例和风险驱动,以架构为中心,迭代并且增量”的开发过程,由 UML 方法和工具支持。
迭代的意思是将整个软件开发项目划分为许多个小的“袖珍项目”,每统一过程定义了 4个技术阶段及其制品。
- 起始阶段 (InceptionPhase)
- 起始阶段专注于项目的初创活动
- 产生的主要工作产品有
- 构想文档(Vision Document)
- 初始用例模型
- 初始项目术语表
- 初始业务用例
- 初始风险评估
- 项目计划(阶段及迭代)
- 业条模型以及一个或多个原型(需要时)
- 精化阶段(ElaborationPhase)
- 该阶段在理解了最初的领域范围之后进行需求分析和架构演进
- 产生的主要工作产品有
- 用例模型
- 补充需求(包括非功能需求)
- 分析模型
- 软件体系结构描述
- 可执行的软件体系结构原型
- 初步的设计模型
- 修订的风险列表
- 项目计划(包括迭代计划、调整的工作流、里程碑和技术工作产品)以及初始用户手册
- 构建阶段(ConstructionPhase)
- 构建阶段关注系统的构建产生实现模型
- 产生的主要工作产品有
- 设计模型
- 软件构件
- 集成的软件增量、测试计划及步骤
- 测试用例以及支持文档(用户手册、安装手册和对于并发增量的描述)
- 移交阶段 (Transition Phase)
- 移交阶段关注于软件提交方面的工作,产生软件增量
- 产生的主要工作产品有
- 提交的软件增量,贝塔测试报告和综合用户反馈
题目
题目 1
某公司拟开发一个地面清洁机器人。机器人的控制者首先定义清洁任务和任务之间的关系,机器人接受任务后,需要响应外界环境中触发的一些突发事件,根据自身状态进行动态调整,最终自动完成任务。针对上述需求,该机器人应该采用( )架构风格最为合适。
A. 面向对象
B. 主程序—子程序
C. 规则系统
D. 管道—过滤器
题目 2
某公司拟开发一个语音识别系统,其语音识别的主要过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供语义解释等,每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用( )架构风格最为合适。
A. 解释器
B. 面向对象
C. 黑板
D. 隐式调用
题目 3
某公司拟开发一个轿车巡航定速系统,系统需要持续测量车辆当前的实时速度,并根据设定的期望速度自动控制轿车的油门和刹车。针对上述需求,采用( )架构风格最为合适。
A. 解释器
B. 过程控制
C. 分层
D. 管道—过滤器
题目 4
某公司拟开发一套在线游戏系统,该系统的设计目标之一是支持用户自行定义游戏对象的属性、行为和对象之间的交互关系。为了实现上述目标,公司应该采用( )架构风格最为合适。
A. 管道—过滤器
B. 隐式调用
C. 主程序—子程序
D. 解释器
题目 5
某公司为其研发的硬件产品设计实现了一种特定的编程语言,为了方便开发者进行软件开发,公司拟开发一套针对该编程语言的集成开发环境,包括代码编辑、语法高亮、代码编译、运行调试等功能。针对上述描述,该集成开发环境应采用( )架构风格最为合适。
A. 管道—过滤器
B. 数据仓储
C. 主程序—子程序
D. 解释器
题目 6
软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和(请作答此空),并通过多种( )_全面描述特定系统的架构。
A. 实现方式
B. 交互作用
C. 设计方案
D. 测试方式
题目 7
A. 对象
B. 代码
C. 文档
D. 视图
题目 8
某公司拟开发一个 VIP 管理系统,系统需要根据不同商场活动,不定期更新 VIP 会员的审核标准和 VIP 折扣标准。针对上述需求,采用( )架构风格最为合适。
A. 规则系统
B. 过程控制
C. 分层
D. 管道-过滤器
题目 9
以下关于软件架构设计重要性的描述,()是错误的。
A. 软件架构设计能够满足系统的性能、安全性、可维护性等品质
B. 软件架构设计能够帮助项目干系人(Stakeholder)更好地理解软件结构
C. 软件架构设计能够帮助架构师更好地捕获和细化系统需求
D. 软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用
题目 10
某公司拟开发一个新闻系统,该系统可根据用户的注册兴趣,向用户推送其感兴趣的新闻内容,该系统应该采用( ) 架构风格最为合适。
A. 事件驱动系统
B. 主程序-子程序
C. 黑板
D. 管道-过滤器
带解析版
题目 4
某公司拟开发一个地面清洁机器人。机器人的控制者首先定义清洁任务和任务之间的关系,机器人接受任务后,需要响应外界环境中触发的一些突发事件,根据自身状态进行动态调整,最终自动完成任务。针对上述需求,该机器人应该采用( )架构风格最为合适。
A. 面向对象
B. 主程序—子程序
C. 规则系统
D. 管道—过滤器
正确答案:正确答案: C
解析:
机器人需要根据自身状态的外界环境进行自动调整,这是一个典型的根据外部事件进行响应的场景。比较4个候选项,规则系统比较适合根据外部事件,以自身状态为基础自动进行处理和动作的场景。
题目 5
某公司拟开发一个语音识别系统,其语音识别的主要过程包括分割原始语音信号、识别音素、产生候选词、判定语法片断、提供语义解释等,每个过程都需要进行基于先验知识的条件判断并进行相应的识别动作。针对该系统的特点,采用( )架构风格最为合适。
A. 解释器
B. 面向对象
C. 黑板
D. 隐式调用
正确答案:正确答案: C
解析:
根据题目描述,语音识别系统是一个十分典型的专家系统,其特点是求解的正确结果不止一个,求解过程比较复杂,需要通过专家知识和反馈逐步得到正确结果。因此对比4个候选项,黑板结构特别适合求解这类问题。
题目 6
某公司拟开发一个轿车巡航定速系统,系统需要持续测量车辆当前的实时速度,并根据设定的期望速度自动控制轿车的油门和刹车。针对上述需求,采用( )架构风格最为合适。
A. 解释器
B. 过程控制
C. 分层
D. 管道—过滤器
正确答案:正确答案: B
解析:
根据题目描述,轿车巡航定速系统是一个十分典型的控制系统,其特点是不断采集系统当前状态,与系统中的设定状态进行对比,并通过将当前状态与设定状态进行对比从而进行控制
题目 7
某公司拟开发一套在线游戏系统,该系统的设计目标之一是支持用户自行定义游戏对象的属性、行为和对象之间的交互关系。为了实现上述目标,公司应该采用( )架构风格最为合适。
A. 管道—过滤器
B. 隐式调用
C. 主程序—子程序
D. 解释器
正确答案:正确答案: D
解析:
该软件系统特别强调用户定义系统中对象的关系和行为这一特性,这需要在软件架构层面提供一种运行时的系统行为定义与改变的能力,根据常见架构风格的特点和适用环境,可以知道最合适的架构设计风格应该是解释器风格
题目 8
某公司为其研发的硬件产品设计实现了一种特定的编程语言,为了方便开发者进行软件开发,公司拟开发一套针对该编程语言的集成开发环境,包括代码编辑、语法高亮、代码编译、运行调试等功能。针对上述描述,该集成开发环境应采用( )架构风格最为合适。
A. 管道—过滤器
B. 数据仓储
C. 主程序—子程序
D. 解释器
正确答案:正确答案: B
解析:
编程语言的集成开发环境需要提供代码编辑、语法高亮、代码编译、运行调试等功能,这些功能的特点是以软件代码为中心进行对应的编译处理与辅助操作。根据常见架构风格的特点和适用环境,可以知道最合适的架构设计风格应该是数据仓库风格。
题目 9
软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和(请作答此空),并通过多种( )_全面描述特定系统的架构。
A. 实现方式
B. 交互作用
C. 设计方案
D. 测试方式
正确答案:正确答案: B
解析:
软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构。
题目 10
A. 对象
B. 代码
C. 文档
D. 视图
正确答案:正确答案: D
解析:
软件架构设计包括提出架构模型、产生架构设计和进行设计评审等活动,是一个迭代的过程。架构设计主要关注软件组件的结构、属性和交互作用,并通过多种视图全面描述特定系统的架构。
题目 11
某公司拟开发一个 VIP 管理系统,系统需要根据不同商场活动,不定期更新 VIP 会员的审核标准和 VIP 折扣标准。针对上述需求,采用( )架构风格最为合适。
A. 规则系统
B. 过程控制
C. 分层
D. 管道-过滤器
正确答案:正确答案: A
解析:
根据题目中描述,VIP管理系统会根据不同商场活动,不定期更新VIP会员的审核标准和折扣标准,属于典型规则系统应用场景。
题目 12
以下关于软件架构设计重要性的描述,()是错误的。
A. 软件架构设计能够满足系统的性能、安全性、可维护性等品质
B. 软件架构设计能够帮助项目干系人(Stakeholder)更好地理解软件结构
C. 软件架构设计能够帮助架构师更好地捕获和细化系统需求
D. 软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用
正确答案:正确答案: C
解析:
软件架构设计是降低成本、改进质量、按时和按需交付产品的关键因素。软件架构设计能够满足系统的性能、安全性、可维护性等品质;软件架构设计能够帮助项目干系人(Stakeholder)更好地理解软件结构;软件架构设计能够有效地管理系统的复杂性,并降低系统维护费用;软件架构设计对系统开发具有指导性;软件架构设计为系统复用奠定的基础;软件架构设计能够支持冲突分析。需要注意的是,软件架构设计与系统需求是直交的,两者并无必然联系。
题目 13
某公司拟开发一个新闻系统,该系统可根据用户的注册兴趣,向用户推送其感兴趣的新闻内容,该系统应该采用( ) 架构风格最为合适。
A. 事件驱动系统
B. 主程序-子程序
C. 黑板
D. 管道-过滤器
正确答案:正确答案: A
解析:
根据题目的意思,用户会注册自己的兴趣,然后系统也会把新闻按兴趣分类,如果某个新闻事件发生,可以通过事件来触发推送动作,将新闻推送给对其感兴趣的用户。这是典型的事件驱动系统应用场景。
相关文章:
软考之软件工程基础理论知识
软件工程基础 软件开发方法 结构化方法 将整个系统的开发过程分为若干阶段,然后依次进行,前一阶段是后一阶段的工作依据按顺序完成。应用最广泛。特点是注重开发过程的整体性和全局性。缺点是开发周期长文档设计说明繁琐,工作效率低开发前要…...
香港服务器不稳定的几种情况
近年来,随着互联网的迅猛发展,香港作为一个重要的网络枢纽地区,扮演着连接中国内地和国际网络的重要角色。一些用户表示在使用香港服务器时可能会遇到不稳定的情况,导致访问困难、加载缓慢甚至无法连接。 为什么香港服务器会…...
报修软件有什么用?企业如何做好设备管理与维护?
在当今的商业环境中,设备设施的维护和管理已经成为企业运营的重要环节。无论是学校、酒店、物业等大型企事业单位,还是运维集成商、制造工厂等企业单位,都需要对设备设施进行有效的管理。报修软件作为一种智能化的解决方案,为设备…...
Go语言的键盘输入和打印输出
键盘输入和打印输出 一、打印输出 1.1 fmt包 fmt包实现了类似C语言printf和scanf的格式化I/O。格式化verb(‘verb’)源自C语言但更简单。 详见官网fmt的API:https://golang.google.cn/pkg/fmt/ 1.2 导入包 import "fmt"1.3 常…...
jenkins实践篇(2)—— 自动打tag的可回滚发布模式
大家好,我是蓝胖子,在上一篇我简单介绍了如何基于特定分支做自动编译和发布,在生产环境中,为了更加安全和快速回滚,我采取的是通过对代码打tag的方式来进行部署,下面我将详细介绍整个发布过程的逻辑。 发布…...
golang worker channel 模式
大概流程就是job -> JobQueue调度器循环获取JobQueue ,获取到的job ,再去异步获取等待可用的 worker,取出 chan Job,将job 写入改worker的 chan Jobworker 处理任务,先处理 case job : <-w.JobChannel: 处理完成后再将 chan…...
舔狗日记之好一条舔狗
闲来没事,爬了下vx《舔狗日记》,感觉挺有意思的,分享出来给大家看看。 PS:仅供娱乐,侵删。 舔狗2023 舔狗日记 2023年10月11日 晴天 你们根本不懂舔狗的快乐。被舔的人,无法预知接下来会不会继续被舔&…...
【地理位置识别】IP归属地应用的特点
IP归属地应用是一类用于确定特定IP地址的地理位置信息(通常是城市、地区或国家)的工具和服务。以下是IP归属地应用的几个主要特点: 地理位置识别: IP归属地应用主要用于确定IP地址的地理位置。这可以帮助组织更好地了解其网站访问…...
华为实验基础(2):路由器基础
一、路由器的分类 1、从功能、性能和应用方面划分: (1) 骨干路由器 :骨干路由器是实现主干网络互连的关键设备,通常采用模块化结构,通过热备 份、双电源和双数据通路等冗余技术提高可靠性 ,华…...
婚姻管理系统-使用bbst数据结构
使用到希尔排序和归并排序,文件存储 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <string.h> //名字的最大长度 #define NameMax 30 //全局的文件指针变量 FILE* file, * file_admin, * file_divorce; /…...
软件架构的概念
1.软件架构演化 为了适应用户的新需求、业务环境和运行环境的变化等,软件架构需要不断地进行自身的演化,也就是说软件架构的演化就是为了维持软件架构自身的有用性。 本质上讲,软件架构的演化就是软件整体结构的演化,演化过程涵盖…...
kubernetes存储-secrets
一、从文件创建 二、编写yaml文件 三、将Secret挂载到Volume中 四、向指定路径映射 secret 密钥 五、将Secret设置为环境变量 六、存储docker registry的认证信息...
Springboot使用EasyExcel导入导出Excel文件
1,准备Excel文件和数据库表结果 2,导入代码 1,引入依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifac…...
Pytorch L1,L2正则化
L1正则化和L2正则化是常用的正则化技术,用于在机器学习模型中控制过拟合。它们的主要区别在于正则化项的形式和对模型参数的影响。 L1正则化(Lasso正则化): 正则化项形式:L1正则化使用模型参数的绝对值之和作为正则化…...
【Elasticsearch 未授权访问漏洞复现】
文章目录 一、漏洞描述二、漏洞复现三、修复建议 一、漏洞描述 ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布&am…...
pytorch笔记:PackedSequence对象送入RNN
pytorch 笔记:PAD_PACKED_SEQUENCE 和PACK_PADDED_SEQUENCE-CSDN博客 当使用pack_padded_sequence得到一个PackedSequence对象并将其送入RNN(如LSTM或GRU)时,RNN内部会进行特定的操作来处理这种特殊的输入形式。 使用PackedSequ…...
C#WPF工具提示(ToolTip)实例
本文演示C#WPF工具提示(ToolTip)实例 ToolTip ToolTip是当鼠标移到某个控件上后可以弹出提示的控件 属性说明 1、HasDropShadow 决定工具提示是否具有扩散的黑色阴影,使其和背后的窗口区别开来 2、Placement 使用PlacementMode枚举值决定如何放置工具提示。默认值是M…...
智慧矿山系统中的猴车安全监测与识别
智慧矿山是近年来兴起的一种采用人工智能(AI)技术的矿山管理方式,它通过利用智能传感设备和先进算法来实现对矿山环境和设备进行监测和管理,从而提高矿山的安全性和效率。在智慧矿山的AI算法系列中,猴车不安全行为识别…...
网络协议--TCP连接的建立与终止
18.1 引言 TCP是一个面向连接的协议。无论哪一方向另一方发送数据之前,都必须先在双方之间建立一条连接。本章将详细讨论一个TCP连接是如何建立的以及通信结束后是如何终止的。 这种两端间连接的建立与无连接协议如UDP不同。我们在第11章看到一端使用UDP向另一端发…...
react条件渲染
目录 前言 1. 使用if语句 2. 使用三元表达式 3. 使用逻辑与操作符 列表渲染 最佳实践和注意事项 1. 使用合适的条件判断 2. 提取重复的逻辑 3. 使用适当的key属性 总结 前言 在React中,条件渲染指的是根据某个条件来决定是否渲染特定的组件或元素。这在构…...
1688商品列表API与其他数据源的对接思路
将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...
最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
质量体系的重要
质量体系是为确保产品、服务或过程质量满足规定要求,由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面: 🏛️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限,形成层级清晰的管理网络…...
1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
DBAPI如何优雅的获取单条数据
API如何优雅的获取单条数据 案例一 对于查询类API,查询的是单条数据,比如根据主键ID查询用户信息,sql如下: select id, name, age from user where id #{id}API默认返回的数据格式是多条的,如下: {&qu…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
