回答
在抽象层面上它们是连接的:正如Saeed和Stefan所说,它是总订单和部分订单之间的差异。这是一个非常简洁的描述,但有时候在学习时没有帮助。
总的订单意味着,在没有重复的情况下,当您排序某些内容时,您将得到一个唯一的正确答案。如果按升序排序3,6,2,最好得到一个答案:2,3,6.
部分订单有点松散。典型的例子是你穿上衣服的顺序:你可以穿上你的短裤,然后是裤子,然后是你的袜子,然后是你的鞋子。这是一个有效的订单。或者你可以做短裤,袜子,裤子,鞋子。但直觉上,你不能做短裤,裤子,鞋子,袜子。把袜子放在鞋子后面是没有意义的。
为了形式化该敷料示例,您通常会将带有动作(“穿上鞋子”)的依赖关系图显示为节点,并指示显示哪些节点必须位于其他节点之前的依赖关系图。拓扑排序是图形中所有节点的排序,就像尊重弧段一样。意思是,如果从袜子到鞋子都有弧线,那么袜子最好在鞋子前排序。
再次,在抽象层次上,它们是连接的。但他们绝对不是同一件事。
如果你是布兰妮,你可以把你的字符串后短...(我已经出局) – Kheldar 2012-02-02 14:54:23
@Novak:非常简单和易于理解的例子。我想我永远不会忘记这种拓扑排序。你是大学教授吗?如果是这样,你的学生真的很幸运。 – Samselvaprabu 2012-02-03 05:48:28
你很善良,但不,我只是一名博士生。我发现我必须在自己的头脑中直接得到低级直觉,以帮助我记住,有时帮助我理解数学描述。数学是抽象力量的地方,但对于我来说,图片和故事就是直觉所在。 – Novak 2012-02-03 19:06:45
拓扑排序通常是指查找符合某个部分顺序的总顺序,例如有向无环图中的可达性关系。
如果总订单可用,则可以将每个对象与每个对象进行比较。在这种情况下,你可以对wrt进行排序。该订单。示例是wrt的整数。 >(或<或< =,...)或字符串wrt。字典顺序。如果你有一个总的订单排序是可能的。
如果只有部分订单可用,则不是每个对象都可以与其他每个对象进行比较。只有某些对象之间存在关系。一个例子是编译单元之间的依赖关系。拓扑排序是查找对象排序的任务,使得部分顺序得到遵守(例如,通过编译依赖于这些单元之后的某个其他单元的单元)。这里有几种解决方案(即排序)是可能的:如果A取决于B并且存在一些其他单元C,则可能的编译序列是B,A,C和C,A,B(其中A在B之前编译的每个序列)。
在拓扑排序中,我们在partially ordered set上工作,但在正常排序中,我们在total ordered set上工作。
在拓扑排序中,集合中的一对元素之间可能没有任何关系,就像在有向图中一样,在某些节点之间没有任何关系。在正常排序中,集合中的所有元素都有关系。例如,在一组数字中,我们有关系<,>,=所有对之间,所以它是总的有序。
- 1. 拓扑排序
- 2. 拓扑排序Neo4j
- 3. 拓扑排序和循环
- 4. 拓扑使用排序DFS
- 5. 桶排序和基数排序有什么区别?
- 6. 使用合金4.2的拓扑排序
- 7. 通过圆弧进行拓扑排序
- 8. 拓扑排序(卡恩算法)麻烦
- 9. 图表:拓扑排序,需要说明
- 10. 排序(拓扑)maven依赖关系
- 11. 为什么拓扑排序找到最短路径O(V + E)
- 12. 为什么C++在拓扑排序上比Java慢?
- 13. PHP排序依赖项数组列表 - 拓扑排序
- 14. 图 - Embedded中的嵌入和拓扑有什么区别?
- 15. 确定有向图是否具有唯一的拓扑排序?
- 16. 如何查找拓扑排序的所有结果
- 17. 拓扑排序的有向图顶点的子集
- 18. 快速拓扑排序,当节点顺序显着时?
- 19. 是拓扑排序尝试对顶点或边进行排序吗?
- 20. Spark中的排序和orderBy函数有什么区别
- 21. 2可满足性强连接组件拓扑排序
- 22. 使用拓扑排序的打印(未检测)循环
- 23. Chicken计划中的拓扑排序错误?
- 24. 关于发生矩阵的拓扑排序
- 25. 在算法中正确使用拓扑排序
- 26. 试图在c中做一个图的拓扑排序?
- 27. 可见性和排序之间的关系/区别是什么?
- 28. Java数组,区别和排序
- 29. 交换排序和冒泡排序有什么区别?他们是一样的吗?
- 30. 地图缩小中的全部订单排序和二次排序有什么区别?
https://en.wikipedia.org/wiki/Sorting_algorithm | https://en.wikipedia.org/wiki/Topological_sorting – 2012-02-02 10:24:06