每个初学计算机科学的学生都曾经想过为什么我们会在图中找到最短路径或者树有什么用处,我们要使用循环链表来玩约瑟夫环吗?
因此,本文在 COVID-19 的参考中讨论了现实世界中数据结构和算法的重要性。
目前爆发的一种名为 COVID-19 的冠状病毒急性呼吸道疾病导致了一场大流行。冠状病毒是一个主要问题的主要原因是因为它的传播可以用一棵树来模拟。
在世界采取封锁措施之前,估计每个感染者都会感染另外两到四个人。这个数字称为 R 0 (R-naught),这是一种数学符号,表示传染病的传染性。例如,如果一种疾病的 R 0为 15,则患有该疾病的人平均会将其传播给其他 15 人。
一种疾病的传播或衰退存在三种可能性,具体取决于其 R 0值:
- 如果 R0 小于 1,则每个现有感染导致的新感染少于一个。在这种情况下,疾病最终会消失。
- 如果 R0 等于 1,则每个现有感染都会导致一个新感染。这种疾病会存活并保持稳定,但不会爆发。
- 如果 R0 大于 1,则每个现有感染都会导致不止一个新感染。疾病会传播,可能会爆发或流行。
重要的是,一种疾病的 R 0值仅适用于人群中的每个人都完全容易感染该疾病的情况,例如 COVID-19,没有人接种过疫苗,以前没有人感染过这种疾病,并且没有办法控制这种疾病。疾病的传播。
在我们的模型中——R 0是树中每个节点的平均子节点数。这意味着——我们树中的每个节点(平均)有 2 到 4 个孩子。
如果您研究过任何深度的树木,您就会知道它会变得非常大,非常快。
全球卫生组织的早期目标是将 R 0降低到大约 1(或更低)。如果 R 0 = 1,那么我们树中的每个叶节点现在都成为链表的头部。每个人都在以同样的方式感染另一个人,即(单)链表具有对列表中下一个节点的引用。
如果 R 0 < 1,那么在某个时刻,一个人不会感染其他人,并且感染线(对于那片叶子)被打破。我们可以在代码中通过让节点指向空引用来建模,这意味着它是链表中的最终节点。
“解决”冠状病毒情况的一种方法是改变病毒的行为,这样它就可以通过一组(最终是有限的)链表而不是树来建模。树、图和链表不仅用于FAANG采访,而且实际上在建模和解决现实世界现象中非常有用。
因此,请保持安全并留在室内以打破冠状病毒的链条。