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

数据结构-3.10.队列的应用

一.树的层次遍历:

新建队列,之后:

首先根节点1入队列,之后他的两个子节点2,3入队列,最后1就可以出队列了:

遍历2,他的两个子节点4,5入队列,最后2就可以出队列了:

再到子节点3,它的子节点入队列方式和之前同理:

遍历到4时,发现它没有子节点,所以4直接出队列即可,无需入子节点。


二.图的广度优先遍历:

新建队列,首先遍历1号结点,当遍历该结点时就要检查和该结点相邻的结点是否被遍历过,此时2,3结点都没有被遍历过,因此可以入队列,最后1结点出队列:

同理处理2结点,与2相邻的1结点已经被处理过,因此无需入队,与2相邻的4结点没被处理过,4结点入队列,最后

2结点出队列:

同理,与3结点相邻的1结点被处理过,5,6结点没被处理过,所以5,6结点入队,最后3结点出队列:

再处理4结点,与4结点相邻的结点都处理过,因此只需4结点出队列即可:

与5结点相邻的结点只有7,8结点没被处理过(6结点已经入队列了),因此只需7,8结点入队列,之后5结点出队列;

之后的结点处理方式与上述同理,直到队列为空就完成了对图的广度优先遍历。


三.队列在操作系统中的应用:

1.先来先服务,服务完的从队头出去,因此这就是电脑只有一个CPU,但能处理多个程序的原因:

2.打印机相对主机而言速度较慢,因此有一个缓冲区,把要打印的内容从主机提取出来存入缓冲区,先来的先打印,之后出缓冲区:



http://www.mrgr.cn/news/40773.html

相关文章:

  • 前端BOM常用操作
  • 知识图谱入门——2:技术体系基本概念:知识表示与建模、知识抽取与挖掘、知识存储与融合、知识推理与检索
  • 【EXCEL数据处理】000011 案列 EXCEL带有三角形图标的单元格转换
  • 【React】入门Day01 —— 从基础概念到实战应用
  • 【项目开发】跨专业合作平台实战(附源码)
  • 基于 Transformer 的中英文翻译项目
  • 48.哀家要长脑子了!
  • 代码随想录算法训练营第四六天| 647. 回文子串 516.最长回文子序列
  • 【Java 集合】List接口 —— ArrayList 与 LinkedList 详解
  • 机器学习模型评估
  • JavaScript 反射(Reflect)和代理(Proxy)简单介绍
  • [python][pipenv]pipenv的使用
  • 《野蛮时代》数据分析项目实战——报告
  • Spring Data(学习笔记)
  • linux常用命令汇编(持续更新)
  • 波动方程(将麦克斯韦方程组求出只有E或H的表达式)
  • DBeaver显示PostgreSQL数据库的信息模式
  • 代码随想录算法训练营第四八天| 739. 每日温度 496.下一个更大元素 I 503.下一个更大元素II
  • 自闭症寄宿学校 vs. 日常教育:为孩子提供更多可能
  • Linux 再入门整理:详解 /etc/fstab 文件