计算机基本组成和工作原理(Basic Components and Working Principles of Computers)

news2024/11/23 21:47:27

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。

推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 IT核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云计算、人工智能、运维开发、算法结构、物联网、JAVA Python语言等。
不同类型针对性训练,提升编程思维,剑指大厂非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

计算机基本组成和工作原理

1.1 计算机系统的组成
计算机系统是由硬件系统和软件系统两大部分组成。
计算机硬件是构成计算机系统各功能部件的集合。是由电子、机械和光电元件组成的各种计算机部件和设备的总称,是计算机完成各项工作的物质基础。计算机硬件是看得见、摸得着的,实实在在存在的物理实体。
计算机软件是指与计算机系统操作有关的各种程序以及任何与之相关的文档和数据的集合。其中程序是用程序设计语言描述的适合计算机执行的语句指令序列。
没有安装任何软件的计算机通常称为“裸机”,裸机是无法工作的。如果计算机硬件脱离了计算机软件,那么它就成为了一台无用的机器。如果计算机软件脱离了计算机的硬件就失去了它运行的物质基础;所以说二者相互依存,缺一不可,共同构成一个完整的计算机系统。
计算机基本组成如图 所示。

1.2 计算机硬件系统的基本组成及工作原理
⑴ 计算机硬件由五个基本部分组成:运算器、控制器、存储器、输入设备和输出设备。
⑵ 计算机内部采用二进制来表示程序和数据。
⑶ 采用“存储程序”的方式,将程序和数据放入同一个存储器中(内存储器),计算机能够自动高速地从存储器中取出指令加以执行。
可以说计算机硬件的五大部件中每一个部件都有相对独立的功能,分别完成各自不同的工作。如图1-7所示,五大部件实际上是在控制器的控制下协调统一地工作。首先,把表示计算步骤的程序和计算中需要的原始数据,在控制器输入命令的控制下,通过输入设备送入计算机的存储器存储。其次当计算开始时,在取指令作用下把程序指令逐条送入控制器。控制器对指令进行译码,并根据指令的操作要求向存储器和运算器发出存储、取数命令和运算命令,经过运算器计算并把结果存放在存储器内。在控制器的取数和输出命令作用下,通过输出设备输出计算结果。


1.运算器(ALU)
运算器也称为算术逻辑单元ALU(Arithmetic Logic Unit)。它的功能是完成算术运算和逻辑运算。算术运算是指加、减、乘、除及它们的复合运算。而逻辑运算是指“与”、“或”、“非”等逻辑比较和逻辑判断等操作。在计算机中,任何复杂运算都转化为基本的算术与逻辑运算,然后在运算器中完成。
2.控制器(CU)
控制器CU(Controller Unit)是计算机的指挥系统,控制器一般由指令寄存器、指令译码器、时序电路和控制电路组成。它的基本功能是从内存取指令和执行指令。指令是指示计算机如何工作的一步操作,由操作码(操作方法)及操作数(操作对象)两部分组成。控制器通过地址访问存储器、逐条取出选中单元指令,分析指令,并根据指令产生的控制信号作用于其它各部件来完成指令要求的工作。上述工作周而复始,保证了计算机能自动连续地工作。
通常将运算器和控制器统称为中央处理器,即CPU(Central Processing Unit),它是整个计算机的核心部件,是计算机的“大脑”。它控制了计算机的运算、处理、输入和输出等工作。
集成电路技术是制造微型机、小型机、大型机和巨型机的CPU的基本技术。它的发展使计算机的速度和能力有了极大的改进。在1965年,芯片巨人英特尔公司的创始人戈登 · 摩尔,给出了著名的摩尔定律:芯片上的晶体管数量每隔18~24个月就会翻一番。让所有人感到惊奇的是,这个定律非常精确的预测了芯片的30年发展。1958年第一代集成电路仅仅包含两个晶体管,而1997年,奔腾II处理器则包含了750万个晶体管,2000年的Pentium 4 已达到了0.13微米技术,集成了4200万个晶体管 。CPU集成的晶体管数量越大,就意味着更强的芯片计算能力。
3.存储器(Memory)
存储器是计算机的记忆装置,它的主要功能是存放程序和数据。程序是计算机操作的依据,数据是计算机操作的对象。
⑴ 信息存储单位
程序和数据在计算机中以二进制的形式存放于存储器中。存储容量的大小以字节为单位来度量。经常使用KB(千字节)、MB(兆字节)、GB(千兆字节)和TB来表示。它们之间的关系是:1KB=1024B=210B,1MB=1024KB=220B,1GB=1024MB=230B,1TB=1024G=240B,在某些计算中为了计算简便经常把210(1024)默认为是1000。
位(bit):是计算机存储数据的最小单位。机器字中一个单独的符号“0”或“1”被称为一个二进制位,它可存放一位二进制数。
字节(Byte,简称B):字节是计算机存储容量的度量单位,也是数据处理的基本单位,8个二进制位构成一个字节。一个字节的存储空间称为一个存储单元。
字(Word):计算机处理数据时,一次存取、加工和传递的数据长度称为字。一个字通常由若干个字节组成。
字长(Word Long):中央处理器可以同时处理的数据的长度为字长。字长决定CPU的寄存器和总线的数据宽度。现代计算机的字长有8位、16位、32位、64位。
⑵ 存储器的分类
根据存储器与CPU联系的密切程度可分为内存储器(主存储器)和外存储器(辅助存储器)两大类。内存在计算机主机内,它直接与运算器、控制器交换信息,容量虽小,但存取速度快,一般只存放那些正在运行的程序和待处理的数据。为了扩大内存储器的容量,引入了外存储器,外存作为内存储器的延伸和后援,间接和CPU联系,用来存放一些系统必须使用,但又不急于使用的程序和数据,程序必须调入内存方可执行。外存存取速度慢,但存储容量大,可以长时间地保存大量信息。CPU与内、外存之间的关系如图所示。

现代计算机系统中广泛应用半导体存储器,从使用功能角度看,半导体存储器可以分成两大类:断电后数据会丢失的易失性(Volatile)存储器和断电后数据不会丢失的非易失性(Non-volatile)存储器。微型计算机中的RAM属于可随机读写的易失性存储器,而ROM属于非易失性(Non-volatile)存储器
⑶ 存储器工作原理
为了更好地存放程序和数据,存储器通常被分为许多等长的存储单元,每个单元可以存放一个适当单位的信息。全部存储单元按一定顺序编号,这个编号被称为存储单元的地址,简称地址。存储单元与地址的关系是一一对应的。应注意存储单元的地址和它里面存放的内容完全是两回事。
对存储器的操作通常称为访问存储器,访问存储器的方法有两种,一种是选定地址后向存储单元存入数据,被称为“写”;另一种是从选定的存储单元中取出数据,被称为“读”。可见,不论是读还是写,都必须先给出存储单元的地址。来自地址总线的存储器地址由地址译码器译码(转换)后,找到相应的存储单元,由读/写控制电路根据相应的读、写命令来确定对存储器的访问方式,完成读写操作。数据总线则用于传送写入内存或从内存取出的信息。主存储器的结构框图如图所示


4. 输入设备
输入设备是从计算机外部向计算机内部传送信息的装置。其功能是将数据、程序及其他信息,从人们熟悉的形式转换为计算机能够识别和处理的形式输入到计算机内部。
常用的输入设备有键盘、鼠标、光笔、扫描仪、数字化仪、条形码阅读器等。
5. 输出设备
输出设备是将计算机的处理结果传送到计算机外部供计算机用户使用的装置。其功能是将计算机内部二进制形式的数据信息转换成人们所需要的或其他设备能接受和识别的信息形式。常用的输出设备有显示器、打印机、绘图仪等。
通常我们将输入设备和输出设备统称为I/O设备(Input/Output)。它们都属于计算机的外部设备。
1.1.3 计算机软件系统
一个完整的计算机系统是由硬件和软件两部分组成的。硬件是组成计算机的物理实体。但仅有硬件计算机还不能工作,要使计算机解决各种问题,必须有软件的支持,软件是介于用户和硬件系统之间的界面。
“软件”一词 20世纪60年代初传入我国。国际标准化组织(ISO)将软件定义为:电子计算机程序及运用数据处理系统所必需的手续、规则和文件的总称。对此定义,一种公认的解释是:软件由程序和文档两部分组成。程序由计算机最基本的指令组成,是计算机可以识别和执行的操作步骤;文档是指用自然语言或者形式化语言所编写的用来描述程序的内容、组成、功能规格、开发情况、测试结构和使用方法的文字资料和图表。程序是具有目的性和可执行性的,文档则是对程序的解释和说明。
程序是软件的主体。软件按其功能划分,可分为系统软件和应用软件两大类型。
1. 1.系统软件(System Software)
系统软件一般是指控制和协调计算机及外部设备,支持应用软件开发和运行的系统,是无需用户干预的各种程序的集合,主要功能是调度,监控和维护计算机系统;负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。
常见的系统软件主要指操作系统,当然也包括语言处理程序(汇编和编译程序等)、服务性程序(支撑软件)和数据库管理系统等。

⑴ 操作系统OS(Operating System)



操作系统是系统软件的核心。为了使计算机系统的所有资源(包括硬件和软件)协调一致、有条不紊地工作,就必须用一个软件来进行统一管理和统一调度,这种软件称为操作系统。它的功能就是管理计算机系统的全部硬件资源、软件资源及数据资源,从图1-10可以看出,操作系统是最基本的系统软件,其他的所有软件都是建立在操作系统的基础之上的。操作系统是用户与计算机硬件之间的接口,没有操作系统作为中介,用户对计算机的操作和使用将变得非常难且低效。操作系统能够合理地组织计算机整个工作流程,最大限度地提高资源利用率。操作系统在为用户提供一个方便、友善、使用灵活的服务界面的同时,也提供了其他软件开发,运行的平台。它具备五个方面的功能,即CPU管理,作业管理,存储器管理,设备管理及文件管理。操作系统是每一台计算机必不可少的软件,现在具有一定规模的现代计算机甚至具备几个不同的操作系统。操作系统的性能在很大程度上决定了计算机系统工作的优劣。微型计算机常用的操作系统有DOS(Disk Operating System)、Unix、Xenix、Linux、Windows98/2000、NetWare、WindowsNT、WindowsXP等。
⑵ 语言处理程序
在介绍语言处理程序之前,很有必要先介绍一下计算机程序设计语言的发展。
软件是指计算机系统中的各种程序,而程序是用计算机语言来描述的指令序列。计算机语言是人与计算机交流的一种工具,这种交流被称为计算机程序设计。程序设计语言按其发展演变过程可分为三种:机器语言、汇编语言和高级语言,前二者统称为低级语言。
机器语言(Machine Language)是直接由机器指令(二进制)构成的,因此由它编写的计算机程序不需要翻译就可直接被计算机系统识别并运行。这种由二进制代码指令编写的程序最大的优点是执行速度快、效率高,同时也存在着严重的缺点:机器语言很难掌握,编程繁琐、可读性差、易出错,并且依赖于具体的机器,通用性差。
汇编语言(Assemble Language)采用一定的助记符号表示机器语言中的指令和数据,是符号化了的机器语言,也称作“符号语言”。汇编语言程序指令的操作码和操作数全都用符号表示,大大方便了记忆,但用助记符号表示的汇编语言,它与机器语言归根到底是一一对应的关系,都依赖于具体的计算机,因此都是低级语言。同样具备机器语言的缺点,如:缺乏通用性、繁琐、易出错等),只是程度上不同罢了。用这种语言编写的程序(汇编程序)不能在计算机上直接运行,必须首先被一种称之为汇编程序的系统程序“翻译”成机器语言程序,才能由计算机执行。任何一种计算机都配有只适用于自己的汇编程序(Assembler)。
高级语言又称为算法语言,它与机器无关,是近似于人类自然语言或数学公式的计算机语言。高级语言克服了低级语言的诸多缺点,它易学易用、可读性好、表达能力强(语句用较为接近自然语言的英文字来表示)、通用性好(用高级语言编写的程序能使用在不同的计算机系统上)。但是,对于高级语言编写的程序仍不能被计算机直接识别和执行,它也必须经过某种转换才能执行。
高级语言种类很多,功能很强,常用的高级语言有:其中面向过程的有Basic、用于科学计算的Fortran、支持结构化程序设计的Pascal、用于商务处理的COBOL和支持现代软件开发的C语言 ;现在又出现了面向对象的VB(Visual Basic)、VC++(Visual C++)、Delphi、Java等语言使得计算机语言解决实际问题的能力得到了很大的提高。
Ø Ø Fortran 语言在1954年提出,1956年实现的。适用于科学和工程计算,它已经具有相当完善的工程设计计算程序库和工程应用软件。
Ø Ø Pascal 语言是结构化程序设计语言,适用于教学、科学计算、数据处理和系统软件开发等,目前逐渐被C语言所取代。
Ø Ø C语言是美国Bell实验室开发成功的,是一种具有很高灵活性的高级语言。它语言程序简洁,功能强,适用于系统软件、数据计算、数据处理等,成为目前使用得最多的程序设计语言之一。
Ø Ø Visual Basic是在Basic语言的基础上发展起来的面向对象的程序设计语言的,它既保留了Basic语言简单易学的特点,同时又具有很强的可视化界面设计功能,能够迅速地开发Windows应用程序,是重要的多媒体编程工具语言。
Ø Ø C++是一种面向对象的语言。面向对象的技术在系统程序设计、数据库及多媒体应用等诸多领域得到广泛应用。专家们预测,面向对象的程序设计思想将会主导今后程序设计语言的发展。
Ø Ø Java是一种新型的跨平台分布式和程序设计语言。Java以它简单、安全、可移植、面向对象、多线程处理和具有动态等特性引起世界范围的广泛关注。Java语言是基于C++的,其最大的特色在于“一次编写,处处运行”。Java已逐渐成为网络化软件的核心语言。
语言处理程序的功能是将除机器语言以外,利用其他计算机语言编写的程序,转换成机器所能直接识别并执行的机器语言程序的程序。可以分为三种类型,即汇编程序、编译程序和解释程序。通常将汇编语言及各种高级语言编写的计算机程序称为源程序(Source Program),而把由源程序经过翻译(汇编或者编译)而生成的机器指令程序称为目标程序 (Object Program)。语言处理程序中的汇编程序与编译程序具有一个共同的特点,即必须生成的目标程序,然后通过执行目标程序得到最终结果。而解释程序是对源程序进行解释(逐句翻译),翻译一句执行一句,边解释边执行,从而得到最终结果。解释程序不产生将被执行的目标程序,而是借助解释程序直接执行源程序本身。


应该注意的是,除机器语言外,每一种计算机语言都应具备一种与之对应的语言处理程序。
⑶ 服务性程序(支撑软件)是指为了帮助用户使用与维护计算机,提供服务性手段,支持其他软件开发而编制的一类程序。此类程序内容广泛,主要有以下几种:
Ø Ø 工具软件:工具软件主要是帮助用户使用计算机和开发软件的软件工具,如美国Central Point Software公司推出的PC tools。
Ø Ø 编辑程序:编辑程序能够为用户提供一个良好的书写环境。如EDLIN、EDIT、写字板等。
Ø Ø 调试程序:调试程序用来检查计算机程序有哪些错误,以及错误位置,以便于修正,如DEBUG。
Ø Ø 诊断程序:诊断程序主要用于对计算机系统硬件的检测和维护。能对CPU、内存、软硬驱动器、显示器、键盘及I/O接口的性能和故障进行检测。
⑷ 数据库管理系统。
数据库技术是计算机技术中发展最快、用途广泛一个分支,可以说,在今后的各项计算机应用开发中都离不开数据库技术。数据库管理系统是对计算机中所存放的大量数据进行组织、管理、查询有效提供一定处理功能的大型系统软件。主要分为两类,一类是基于微型计算机的小型数据库管理系统,如FoxBase和Foxpro;另一类是大型数据库管理系统。
2. 2.应用软件
应用软件是指在计算机各个应用领域中,为解决各类实际问题而编制的程序,它用来帮助人们完成在特定领域中的各种工作。应用软件主要包括:为解决各类实际问题而编制的程序,它用来帮肋人们完成在特定领域中的各种工作。应用软件主要包括:
⑴ 文字处理程序:文字处理程序用来进行文字录入、编辑、排版、打印输出的程序,如Microsoft Word、Wps2000等。
⑵ 表格处理软件:电子表格处理程序用来对电子表格进行计算机、加工、打印输出的程序,如Lotus、Excel等。
⑶ 辅助设计软件:软件开发程序是为用户进行各种应用程序的设计而提供的程序或软件包。常用的有AutoCAD、Photoshop、3D Studio MAX等。另外,上述的各种语言及语言处理程序也为用户提供了应用程序设计的工具,也可视为软件开发程序。
⑷ 实时控制软件:在现代化工厂里,计算机普遍用于生产过程的自动控制,称为“实时控制”。例如,在化工厂中,用计算机控制配料、温度、阀门的开闭;在炼钢车间,用计算机控制加料、炉温、冶炼时间等;在发电厂,用计算机控制发电机组等。这类控制对计算机的可靠性要求很高,否则会生产出不合格产品,或造成重大事故。目前,PC机上较流行的软件有FIX、InTouch、Lookout等。
⑸ 用户应用程序;用户应用程序是指用户根据某一具体任务,使用上述各种语言、软件开发程序而设计的程序。如人事档案管理程序、计算机辅助教学软件、各种游戏程序等。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2195614.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

node配置swagger

安装swagger npm install swagger-jsdoc swagger-ui-express 创建 swagger.js 配置文件 ​ const path require(path); const express require(express); const swaggerUI require(swagger-ui-express); const swaggerJsDoc require(swagger-jsdoc); // 修改 swaggerDoc…

DAY26||669.修建二叉树 |108.将有序数组转换为二叉搜索树|538.把二叉搜索树转换为累加树

669.修剪二叉树 题目:669. 修剪二叉搜索树 - 力扣(LeetCode) 给你二叉搜索树的根节点 root ,同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树,使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树…

ArcGIS属性表怎么连接Excel表格?

ArcGIS中,属性表是存储空间要素非几何特征属性的重要工具。有时,我们需要将这些属性与外部数据,如Excel表格中的数据进行连接。以下是如何在ArcGIS中实现这一过程的步骤。 要把Excel表里的数据导入到ArcGIS里的地图数据里面,对数…

[单master节点k8s部署]34.ingress 反向代理(一)

ingress是k8s中的标准API资源,作用是定义外部流量如何进入集群,并根据核心路由规则将流量转发到集群内的服务。 ingress和Istio工作栈中的virtual service都是基于service之上,更细致准确的一种流量规则。每一个pod对应的service是四层代理&…

City Builder Urban 城市都市街道建筑场景模型

目前拥有178项优质资产。 城市建设者:Urban一个高质量的资产包,专为快速的纽约式城市建设而设计,与所有渲染管道兼容。 资产 56个带LOD的街道和屋顶道具 13个可堆叠的建筑部件与LOD混合搭配 10个不同尺寸的建筑装饰/分离器,总共40个装饰 请参阅秋季列表的技术细节 1个带有C…

【redis-07】redis实现主从复制架构和底层原理

redis系列整体栏目 内容链接地址【一】redis基本数据类型和使用场景https://zhenghuisheng.blog.csdn.net/article/details/142406325【二】redis的持久化机制和原理https://zhenghuisheng.blog.csdn.net/article/details/142441756【三】redis缓存穿透、缓存击穿、缓存雪崩htt…

UE管理内容 —— FBX Static Mesh Pipeline

目录 General Setup Export Mesh Static Mesh LODs FBX导入流程中加入 静态网格体 支持后,将网格体从3D软件加入虚幻引擎的操作便极为简便;网格体导入后,网格体的材质纹理(仅限漫反射和法线贴图)也将被导入&#xf…

Bianchi模型、python计算及ns3验证

由于项目与学习需要,最近学习了bianchi模型,并在python中进行了公式->代码的转化,仿真结果与ns3结果对比。 本文更多的是理解模型各个部分的含义、把各个简单的推导过程转化为python、ns3对比: 1 理论吞吐与传输概率、传输成功概率、包长、速率、排队时间、成功传输时…

基于双PI控制器和SVPWM的定转子双永磁同步电机simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 永磁同步电机的基本结构和工作原理 4.2 双PI控制器的设计方法 4.3 SVPWM 的实现原理 5.完整工程文件 1.课题概述 为了实现定转子双永磁同步电机的高性能控制,通常采用双 PI 控制器和 S…

Linux系统创建新分区并挂载的方法

一、引言 本文以CentOS为例讲述Linux系统创建新分区并挂载的方法。如下图所示,用fdisk -l命令可以看到该CentOS系统下有一个磁盘/dev/vda,其容量为2199G,即2T。该磁盘有两个分区:vda1和vda2: 用lsblk命令可以查看到磁…

Ancient City Ruins 古代城市遗址废墟建筑游戏场景

这个包包含450多个古代遗迹预制件,可组合模块化预制件和许多建筑元素。它适用于室内和室外,并允许不同层次的定制建筑。 [亮点] 超过450个古代遗迹的预制件 可组合的模块化预制件 许多建筑元素 适用于室内和室外 允许不同层次的自定义建筑 预制房间和建筑 废墟装饰道具 基本自…

jQuery——循环翻页

本文分享到此结束,欢迎大家评论区相互讨论学习,下一篇继续分享jQuery中自动翻页功能的学习。

【含文档】基于Springboot+Android的个人财务系统的设计与实现(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

(贪心) 反悔贪心之反悔堆

文章目录 ⭐例题🚩题意与思路 ⭐返回贪心🚩原理(反悔池)🚩落实到题🚩AC code ⭐练习题⭐END🌟交流方式 ⭐例题 经典例题: 871. 最低加油次数 🚩题意与思路 题意&#xf…

【光追模组】使命召唤7黑色行动光追mod,调色并修改光影,并且支持光追效果,游戏画质大提升

大家好,今天小编我给大家继续引入一款游戏mod,这次这个模组主要是针对使命召唤7黑色行动进行修改,如果你觉得游戏本身光影有缺陷,觉得游戏色彩有点失真的话,或者说你想让使命召唤7这款游戏增加对光线追踪的支持的话&am…

RESTful风格接口+Swagger生成Web API文档

RESTful风格接口Swagger生成Web API文档 文章目录 RESTful风格接口Swagger生成Web API文档1.RESTful风格接口RESTful简介RESTful详细图示常见http状态码springboot实现RESTfulRESTful springboot设计实例demo 2.Swagger生产Web API文档Swagger简介使用Swagger1.加入依赖2.配置S…

C++笔记之shared_ptr的reset()函数

C++笔记之shared_ptr的reset()函数 code review! std::shared_ptr 的 reset() 函数用于管理指针的生命周期。以下是它的几种用法和功能: 用法 无参数调用: reset() 会释放当前管理的对象,并将指针置为空。std::shared_ptr<int> ptr = std::make_shared

数据库原理及应用:用实例理解关系代数(传统集合运算和专门关系运算)

&#xff01;注意&#xff01;&#xff1a;本篇博客只是利用实例来更好地理解关系代数&#xff0c;有关本章内容专业的表达式在此篇博客中未被提及。本博客中关系和表格这两个表达是等价的。 关系操作分为传统集合运算和专门关系运算&#xff0c;这一篇博客我们将从实例进行关系…

Go基本数据结构

1.jdk丰富的数据结构 Jdk提供了许多基本数据结构的实现&#xff0c;这些数据结构是Java Collections Framework的一部分&#xff0c;位于java.util包中。以下是一些常见的数据结构&#xff1a; ArrayList&#xff1a;一个可调整大小的数组实现&#xff0c;支持快速随机访问。 …

[Algorithm][贪心][合并区间][无重叠区间][用最少数量的箭引爆气球]详细讲解

目录 1.合并区间1.题目链接2.算法原理详解3.代码实现 2.无重叠区间1.题目链接2.算法原理详解3.代码实现 3.用最少数量的箭引爆气球1.题目链接2.算法原理详解3.代码实现 1.合并区间 1.题目链接 合并区间 2.算法原理详解 区间问题思路&#xff1a; 排序 左端点(本题)右端点 根…