数据结构-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.打印机相对主机而言速度较慢,因此有一个缓冲区,把要打印的内容从主机提取出来存入缓冲区,先来的先打印,之后出缓冲区:


commons-lang3-3.10.jar是一个Java语言的实用工具库,是Apache Commons项目的一部分。它提供了许多常用的、与Java核心库不同的功能,以简化开发过程。 这个库提供了各种工具方法,用于字符串操作、对象操作、数组操作、数学计算、日期处理等。例如,我们可以使用StringUtils类来处理字符串,例如拼接字符串、截取字符串、替换字符串等。ObjectUtils类提供了一些有用的工具方法,例如判断对象是否为空、获取对象的默认值等。ArrayUtils类提供了一些对数组操作的便利方法,例如判断数组是否为空、查找数组中的元素等。 commons-lang3-3.10.jar还提供了一些涉及类型转换和编码处理的工具方法。例如,我们可以使用NumberUtils类来进行字符串和基本数据类型之间的转换,StringUtils类提供了各种编码和解码方法,例如URL编码、XML字符转义等。 此外,commons-lang3-3.10.jar还提供了一些与日期和时间相关的功能。例如,DateUtils类提供了日期格式化、解析和计算的方法,DurationUtils类提供了一些方便的方法来处理时间间隔。 通过使用commons-lang3-3.10.jar,我们可以提高开发效率,减少代码编写量,避免重复造轮子的情况出现。这个库已经被广泛使用,并且有一个活跃的社区维护,以确保其功能的稳定和更新。无论是开发基于Java的桌面应用程序还是Web应用程序,commons-lang3-3.10.jar都是一个非常有用的工具库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值