CHANGELOG2021.12.5:修改例题代码与部分表述,增加基础定义。2022.4.22:重构文章。2022.5.21:进行一些增补,添加Floyd算法和SCC缩点。2022.5.25:添加Hierholzer算法。2022.8.15:修正强连通分量部分的事实性错误。基本定义边导出子图:选出若干条边,以及这些边所连接的所有顶点组成的图称为边导出子图。点导出子图:选出若干个点,以及两端都在该点集的所有边组成的图称为点导出子图。闭合子图:定义在有向图上。点集\(V\)导出的闭合子图是所有\(V\)可达的点的点导出子图。其精确定义为若\(x\)在子图内,则\(x\)的所有出点和出边均在子图内的
什么是Nginx?Nginx(EngineX)是一个轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器、高性能的HTTP服务器,它以高稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。什么是反向代理?反向代理(ReverseProxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器,在做HTTP反向代理和负载均衡时,特意要注意开启HTTP长连接的支持。Web服务器Apache应该为大家所熟知,而Ngin
什么是Nginx?Nginx(EngineX)是一个轻量级的Web服务器、反向代理服务器及电子邮件(IMAP/POP3)代理服务器、高性能的HTTP服务器,它以高稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。什么是反向代理?反向代理(ReverseProxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器,在做HTTP反向代理和负载均衡时,特意要注意开启HTTP长连接的支持。Web服务器Apache应该为大家所熟知,而Ngin
「和我一起学XXX」是我2023年的一个新企划,目的是向读者(也包括未来的自己)介绍我正在学习的某项新技术。文章会通过长期反复迭代的方式保持其内容的新鲜度。文章有较大内容更新时,会在文章开头进行更新时间说明(由于时间精力有限,更新的内容只能保障少数几个平台的同步,请见谅)。1.什么是Three.jsThree.js是一个基于WebGL的3DJavaScript开源库(遵循MIT协议),它使JavaScript开发者能够更方便地在Web应用中创建3D场景。请注意该定义的如下部分:基于WebGL:WebGL是一种3D绘图协议,对于开发者而言,它是一组更底层的绘图API,它负责绘制点,线与三角形,使
「和我一起学XXX」是我2023年的一个新企划,目的是向读者(也包括未来的自己)介绍我正在学习的某项新技术。文章会通过长期反复迭代的方式保持其内容的新鲜度。文章有较大内容更新时,会在文章开头进行更新时间说明(由于时间精力有限,更新的内容只能保障少数几个平台的同步,请见谅)。1.什么是Three.jsThree.js是一个基于WebGL的3DJavaScript开源库(遵循MIT协议),它使JavaScript开发者能够更方便地在Web应用中创建3D场景。请注意该定义的如下部分:基于WebGL:WebGL是一种3D绘图协议,对于开发者而言,它是一组更底层的绘图API,它负责绘制点,线与三角形,使
引子Android应用程序寿命与其扩展的灵活性有关,因为它需要一个坚实的基础,这就是为什么对于每个项目来说,最重要的步骤是创建应用程序架构,在与技术团队就定义系统中包含的元素、每个元素的功能以及它们将如何相互通信进行长时间的讨论后,我们必须对整体架构进行清晰的设计。Android应用程序有不同的架构,与我去年的经验不同,MVVM和MVI架构是用于大型应用程序的最常见架构,即使每个应用程序都没有一种实现方式,这取决于其应用程序需求,以及处理它的开发人员风格,因为我相信,独立于Android框架,每个开发人员都有他们独特的软件开发经验,他们带来的不仅仅是他们的知识,还有他们独特的思维方式、解决问题
引子Android应用程序寿命与其扩展的灵活性有关,因为它需要一个坚实的基础,这就是为什么对于每个项目来说,最重要的步骤是创建应用程序架构,在与技术团队就定义系统中包含的元素、每个元素的功能以及它们将如何相互通信进行长时间的讨论后,我们必须对整体架构进行清晰的设计。Android应用程序有不同的架构,与我去年的经验不同,MVVM和MVI架构是用于大型应用程序的最常见架构,即使每个应用程序都没有一种实现方式,这取决于其应用程序需求,以及处理它的开发人员风格,因为我相信,独立于Android框架,每个开发人员都有他们独特的软件开发经验,他们带来的不仅仅是他们的知识,还有他们独特的思维方式、解决问题
Activity作为一个老生常谈的话题,它是我们刚接触Android开发就遇到,虽然已有一段时间开发经验,但谈起完全搞懂Activity相关,不敢妄言,故结合个人理解及书籍参考,简单总结一下Activity基础相关知识,其中也留出了一些有意思的问题。大体的脑图如下(启动流程涉及的过多,暂时放在后期):Activity生命周期基础的生命周期方法这里就不做解释了,大家刚开始接触时就是这些方法了。一些有意思的问题onStart和onResume,onPuse和onStop有什么实质的不同吗?实际使用来说,他们看起来的确差不多,但是onStart和onStop是从Activity是否可见这个角度来回调
Activity作为一个老生常谈的话题,它是我们刚接触Android开发就遇到,虽然已有一段时间开发经验,但谈起完全搞懂Activity相关,不敢妄言,故结合个人理解及书籍参考,简单总结一下Activity基础相关知识,其中也留出了一些有意思的问题。大体的脑图如下(启动流程涉及的过多,暂时放在后期):Activity生命周期基础的生命周期方法这里就不做解释了,大家刚开始接触时就是这些方法了。一些有意思的问题onStart和onResume,onPuse和onStop有什么实质的不同吗?实际使用来说,他们看起来的确差不多,但是onStart和onStop是从Activity是否可见这个角度来回调