【笔记】选择题笔记408

news2024/10/4 21:28:15

无向图有16条边,其中度为4的顶点个数为3,度为3的顶点个数为4,其他顶点的度均小于3。图G所含的顶点个数至少是:11
总度数=162=32
度为2的顶点个数为x,度为1的顶点个数为y,度为0的顶点个数为z
由此可列出三元一次方程组:3
4+43+2x+1y+0z=32
化简得2x+y=8
要使图G所含的顶点个数最少,则x=4
此时顶点个数为3+4+4=11

对角线以下元素均为0,表示该有向图是一个无环图,因此一定存在拓扑序列(可能不唯一)。
图存在拓扑序列,不一定满足邻接矩阵主对角线以下元素均为0,但是可以适当调整结点编号,使其邻接矩阵满足前述性质。

拓扑排序算法

拓扑排序:
1)每个顶点只出现一次
2)顶点A在序列中排在顶点B的前面,则在图中不存在从顶点B到顶点A的路径
DAG:有向无环图,只有有向无环图(DAG)才有拓扑排序。

每个DAG图都有一个或多个拓扑序列,对一个DAG图进行拓扑序列的算法:
1)从DAG图中选择一个没有前驱顶点并输出
2)图中删除该顶点和所有以它为起点的有向边
3)重复1,2直到当前的DAG图为空或者当前图不存在无前驱的顶点为止。后一种情况说明有向图必然存在环。

邻接表表示并不唯一
邻接表存储的无向图:O(|V|+2|E|)
邻接表存储的有向图O(|V|+|E|)

如果有向图有n个顶点,e条弧,每个顶点一次进栈,一次出栈,输出n次,顶点入度减一的运算共e次。

使用栈实现拓扑排序

根据拓扑排序思想,排在前列的都是没有指向的,所以我们首先要找入度为0的顶点,因为入度为0的顶点,不存在指向它的顶点,也就意味着没有排在它前面的顶点。

初始化图
初始化所有顶点的入度0
统计所有顶点的入度
找到入度为0的顶点入栈
栈顶元素出栈,找到栈顶元素指向其他顶点的边,并减少该顶点入度1,若此时如果该顶点入度为0的话就入栈。
循环步骤5,直至栈元素全部出栈。

使用队列实现拓扑排序

参考文章

图有关的时间复杂度:邻接表O(n+e),邻接矩阵O(n^2)

有向图进行广度遍历

邻接表O(n+e)

多级页表优点:减少页表所占的连续内存空间

外部碎片:动态,分段,可变分区
内部碎片:分页

Orange’s系统里,loader的作用包括了引导扇区的启动,跳入保护模式,加载kernel并将执行转交kernel

进程唤醒:将阻塞态的进程唤醒至就绪态

线程

  • 内核级线程
    • TCB放在os,管理和调度由os负责
    • 一对一模型 一个用户对应一个线程
    • 某个内核进程发起系统调用被阻塞不会影响其他内核进程运行
    • 内核能同时调度同一进程中多个进程并行执行
    • 同一进程的线程切换需要从用户态转到核心态,系统开销大
  • 用户级线程
    • 用户级线程库函数完成整个线程的管理和调度
    • TCB由用户级线程库函数维护
    • 跨进程需要内核参与
    • 多个用户对应一个进程
    • 一个线程发起系统调用而阻塞
      每个线程配置一个线程控制块TCB
      TCB:线程标识符+一组寄存器+线程运行状态+优先级+线程专有存储区+堆栈指针

银行家算法判断是否处于安全状态,而非死锁。适用于避免思索
死锁的预防方法能确保系统不发生互锁
当系统出现死锁时,必然有两个或两个以上的进程处于阻塞状态


进程的组成
包含了正在运行的一个程序的所有状态信息
 程序的代码
 程序处理的数据
 要知道现在执行哪条指令,程序计数器中的值指示将运行的指令。
 CPU寄存器会动态变化,一组通用寄存器的当前值,堆,栈等;
 各种系统资源,内存,外存,网络


进程1和2共享同一个段S,段S对于1和2来说,使用位置不同,不同进程中的逻辑段号可能不同。


动态分区算法中,最容易产生碎片的是最佳适应算法
首次适应:地址最小
最佳适应:有长度很小的无法利用的碎片


可用于文件系统管理空闲磁盘块的数据结构:

  1. 位图
  2. 空闲磁盘块链
  3. 文件分配表(FAT)

索引节点用于表示文件


外部中断是CPU正在执行的指令以外的事件中断

  1. 缺页是在指令执行的时候发现虚拟内存缺页,因此为内部中断
  2. 定时器到时,时钟中断引起的,不是执行指令引起的

可屏蔽中断需要在当前指令执行完毕之后,检查中断标志位(IF)是否允许中断,才会响应。
非屏蔽中断是一种硬件中断,此种中断通过不可屏蔽中断请求NMI控制,不受中断标志位IF影响。

CPU响应中断

  1. 中断源有中断请求
  2. CPU允许中断及开中断
  3. 一条指令执行完毕,且没有更紧迫的任务

异常:执行程序之间发生
中断:执行完指令看中断向量表

CPU不仅可以在用户态下检测和响应中断,在内核态下可以检测和响应中断,I/O中断在内核态下响应的。
CPU只有在检测到中断请求信号后才会进入中断响应周期。
进入中断响应周期时,CPU一定处于中断允许状态。

【页置换】和【进程调度】都是对用户透明的,不涉及用户请求,因此不是系统调用完成的。
创建新进程可以通过系统调用完成。

中断I/O方式适用于字符型设备,此类设备特点是数据传输速率慢。以字符或字为单位进行传输。
若采用中断I/O方式,当外设准备好数据,向CPU发送中断请求,CPU暂停终止现行程序,转去运行中断服务程序。
由中断服务【程序】完成数据传送。

SMP(共享内存多处理器)具有共享的单一物理地址空间。

多道程序系统必须支持程序的并发执行和共享

os初始化过程中需要创建中断向量表,用于实现中断处理。

CPU检测到中断信号后,根据中断号查询中断向量表,跳转到对应的中断处理程序。

硬盘分区表:当硬盘被逻辑格式化时,需要对硬盘进行分区,即创建硬盘分区表。
文件系统的索引节点表:初始化文件系统过程中完成。

Prim算法选点,kruskal算法选边,点少就选点,边少就选边
并查集存储点,用于检测是否成环。
kruskal使用最小堆存储边,使得每次取出的边的权值最小。
peterson算法,两个flag,两个turn,可以确定保证互斥并且不会饥饿。
peterson未遵循让权等待

【保存断点和程序状态字】以及【将CPU模式改为内核态】由硬件(CPU)完成。

实现时间片轮转调度:进程就绪队列,进程控制块,时钟中断处理程序

父子进程可以共享一部分共享资源,但是不和子进程共享虚拟地址空间
创建子进程时,会为子进程分配空闲的进程描述符,唯一标识的pid等。
TELNET、SMTP、HTTP

DNS多数情况使用UDP,有时也使用TCP。
实时性高的通常是UDP,对正确性要求高的用TCP。


FTP客户端与FTP服务器建立的第一个阶段是控制连接的建立,主要用于传输FTP的各种命令。
匿名FTP访问通常用anonymous作为用户名,密码可以为空。
FTP数据端口号是控制端的端口号减一
控制端口2222,数据端口2221


客户端是连接的请求方,在连接未建立之前服务器在某一个端口监听。
服务器不需要知道客户端的地址,一旦连接建立,服务器也能主动发送数据给客户端(浏览器的现实内容来自服务器)用于一些消息的通知,如一些错误的通知。


DNS解析
递归:其他服务器直接将解析ip地址给本地
迭代:根服务器不直接告诉他解析ip地址而是告诉(本地)去找谁(下一级)
主域名服务器和辅域名服务器都是有域名数据库的。
一个主机仅有一个主域名服务器,可以有多个辅助域名服务器。
授权域名服务器一定可以将其管辖的主机名转换为主机的IP地址


SMTP基于ASCII码的协议,只能够传送ASCII码,如果需要发送非ASCII码,则需要使用MIRE扩展。
客户端不需要登录即可向服务器发送邮件。
协议需要客户端先于服务器建立TCP连接。


FTP协议不适合用在两台计算机之间共享读写文件。
FTP既可以使用TCP,也可以使用UDP,因为FTP本身具备差错控制能力。


WWW浏览器和WWW服务器之间传输网页使用的协议是:HTTP
POP3基于ASCII码。不能发送二进制数据,POP3使用明文来传输密码, 并不对密码进行加密。
WWW服务中,用户的信息查询可以从一台Web服务器自动搜索到另一台Web服务器,使用的技术是Hyperlink

电子邮件经过MIME扩展之后,可以将ASCII码内容表示为ASCII码内容,其中base64编码方式是:不管是否是ASCH码,每3个字符用另4个ASCH字符表示

quoted-P的table编码方式:将每4个ASCn码字符用6个ASCH字符表示。
不是对网络模型进行分层的目标:定义功能执行的方法
计算机网络各层及其协议的集合成为网络体系结构
网络体系结构是抽象的,它不应该包括各层协议及功能的具体实现细节。

OSI参考模型有7层
在这里插入图片描述

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

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

相关文章

工程机械车辆挖掘机自卸卡车轮式装载机检测数据集VOC+YOLO格式2644张3类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2644 标注数量(xml文件个数):2644 标注数量(txt文件个数):2644 标注…

从零开始Hadoop集群环境搭建

目录 1. Centos7.5硬件配置1.1 创建虚拟机1.2 虚拟机系统设置 2. IP地址和主机名称配置3. 软件配置3.1 安装 epel-release3.2 卸载虚拟机自带的JDK3.3 克隆虚拟机3.4 修改克隆虚拟机的IP3.5 JDK安装3.6 Hadoop安装 4. Hadoop目录结构 1. Centos7.5硬件配置 1.1 创建虚拟机 1.2…

CMU 10423 Generative AI:lec18(大模型的分布式训练)

这个文档主要讲解了分布式训练(Distributed Training),特别是如何在多GPU上训练大规模的语言模型。以下是主要内容的概述: 1. 问题背景 训练大规模语言模型的主要挑战是内存消耗。 训练过程中,内存消耗主要来源于两个…

关于Mac管理员root权限的一些问题总结

🎉 前言 最近在学习Vue CLI的时候,发现在Vscode里面想要修改文件或者保存文件都会显示“permission denied”,即权限不足。于是想了一些解决方法,记录在此。 🎉 检查当前用户权限 打开终端,输入以下指令…

yolov8/9/10/11模型在工地安全帽检测中的应用【代码+数据集+python环境+GUI系统】

yolov8/9/10/11模型在工地安全帽检测中的应用【代码数据集python环境GUI系统】 yolov8/9/10/11模型在工地安全帽检测中的应用【代码数据集python环境GUI系统】 背景意义 在建筑工地、矿山、工厂等工业生产环境中,安全帽是保护工人头部免受伤害的重要劳保工具。然而…

销售业绩飞跃,通过CRM系统激发销售团队潜力

要让销售人员使用CRM系统,首先需要理解他们抗拒的原因。常见的抗拒理由包括时间不足、系统复杂、缺乏培训以及对成效的怀疑。为了克服这些障碍,企业可以采取一系列措施,如提供全面培训、通过案例展示价值、强调实际收益、逐步引入系统、领导层…

C语言第15课—数据在内存中的存储

文章目录 1. 整数在内存中的存储2. 大小端字节序和字节序判断3. 整数存储练习3.1 练习13.2 练习23.3 练习33.4 练习43.5 练习5 4. 浮点数在内存中的存储4.1 浮点数存的过程4.2 浮点数取的过程 1. 整数在内存中的存储 整数的2进制表示有三种方法:原码、反码、补码有符…

CSS3--美若天仙!?

免责声明:本文仅做分享~ 目录 CSS引入方式 选择器 盒子尺寸和背景色 文字控制属性 单行文字 垂直居中 字体族 font复合属性 文本对齐方式 文本修饰线 color 文字颜色 ----- 复合选择器 伪类选择器 超链接伪类 CSS特性 继承性 层叠性 优先级 Emmet …

37 预处理器与预处理指令、宏定义(定义常量、数据类型、替换文本、嵌套与取消)、带参宏(细节处理、与函数的区别)

目录 1 预处理器 2 预处理指令 2.1 位置 2.2 格式 2.3 换行 2.4 结束符 2.5 位置限制 3 宏定义 3.1 语法格式 3.2 使用宏定义常量 3.3 使用宏定义数据类型 3.4 宏定义的替换文本 3.5 宏定义嵌套 3.6 取消宏定义 4 带参数的宏定义 4.1 语法格式 4.2 案例演示 …

ElasticSearch学习笔记(三)Ubuntu 2204 server elasticsearch集群配置

如果你只是学习elasticsearch的增、删、改、查等相关操作,那么在windows上安装一个ES就可以了。但是你如果想在你的生产环境中使用Elasticsearch提供的强大的功能,那么还是建议你使用Linux操作系统。 本文以在Ubuntu 2204 server中安装elasticsearch 8.…

go的一些知识点

一.package 1.新建项目 新建一个itying文件夹,在里面使用命令 就能生成一个go项目。生成一个go.mod 2.调用别的包的代码 按照下面的目录层级生成代码 //clac.go package calcfunc Add(x, y int) int {return x y } func Sub(x, y int) int {return x - y }…

【Web】复现n00bzCTF2024 web题解(全)

目录 File Sharing Portal 方法一: 方法二: Focus-on-yourSELF Passwordless File Sharing Portal 附件的Dockerfile给了这么一段 # Add the cron job to the crontab RUN mkdir /etc/cron.custom RUN echo "*/5 * * * * root rm -rf /app…

<<迷雾>> 第6章 加法机的诞生(1)--全加器 示例电路

全加器的符号 info::操作说明 鼠标单击开关切换开合状态 primary::在线交互操作链接 https://cc.xiaogd.net/?startCircuitLinkhttps://book.xiaogd.net/cyjsjdmw-examples/assets/circuit/cyjsjdmw-ch03-01-full-adder.txt 原图 全加器的逻辑电路实现 info::操作说明 鼠标单击…

ACT调试pycharm报错

在运行ACT 代码时,根据官方readme使用命令行需要在wandb选择的时候输入3 但是,使用pycharm运行的时候会报错 wandb.errors.UsageError: api_key not configured (no-tty). call wandb.login(key[your_api_key]) 网上搜索都是说要注册什么key&#xf…

平衡BST:AVL树的实现与机制

目录 AVL树的简介 AVL节点的构建 AVL树体的构建 具体片段解析 旋转算法 AVL树的验证 AVL树的简介 AVL树是一种自平衡的二叉搜索树,它在19世纪60年代由Adelson-Velsky和Landis首次提出。在AVL树中,任何节点的两个子树的高度最大差别为1,这…

python-FILIP/字符串p形编码/数字三角形

一:FILIP 题目描述 给你两个十进制正整数 a,b​,输出将这两个数翻转后的较大数。 「翻转」在本题中的定义详见「说明 / 提示」部分。输入 第一行,两个十进制正整数 a,b。输出 第一行,a 和 b 翻转后的较大数。样例输入1 734 893 样…

《凡人修仙传》TXT精校全本|知轩藏书校对版!

看了动漫版,准备重温下原著,有好几年没看了。 最近找到了知轩藏书的校对版,堪称精校,nice! TXT,14.5MB: https://pan.quark.cn/s/c6446be393fa

二叉树进阶学习——从中序和后续遍历序列构建二叉树

1.题目解析 题目来源:106.从中序和后序遍历序列构造二叉树 测试用例 2.算法原理 后序遍历:按照左子树->右子树->根节点的顺序遍历二叉树,也就是说最末尾的节点是最上面的根节点 中序遍历:按照左子树->根节点->右子树…

gm/ID设计方法学习笔记(一)

前言&#xff1a;为什么需要gm/id &#xff08;一&#xff09;主流设计方法往往侧重于强反型区&#xff08;过驱>0.2V&#xff09;&#xff0c;低功耗设计则侧重于弱反型区&#xff08;<0&#xff09;&#xff0c;但现在缺乏对中反型区的简单和准确的手算模型。 1.对于…

C++系列-二叉搜索树

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 二叉搜索树 二叉搜索树又称二叉排序树&#xff0c;它或者是一颗空树&#xff0c;或者是具有以下性质的树 若它的左子树不为空&#xff0c;则左子树上的所有节点的值都小于根节点…