大多数排序算法(插入排序,泡沫排序,快速排序,合并排序等)用列表解释。我们没有针对Map,Graph,Tree的特定排序算法吗?排序算法的列表,设置,地图,树和图
回答
这是可能的,但不常见。
如果你想要一个排序树,你通常会按排序顺序构建它。重新排列树中的节点/分支是相当常见的。如果您正在构建二叉搜索树,则可能会重新排列节点以保持平衡。如果您在编译器中使用抽象语法树,则可以重新排列节点以优化计算。
地图是一个更抽象的结构,可以使用二叉搜索树,跳过列表,B树,哈希表等实现。其中大多数假设某些特定的内容顺序。
图基本上是树的泛化。将某些类型的排序应用于图形当然是可能的(例如,图形上的拓扑排序很常见)。如果数据具有自己的某种结构,那么通常会使用图表,并将其减少为有序序列会使图表中的大量数据丢失。
例如,图形的典型用法可能是将火车站表示为节点,并将这些站点之间的连接作为图形中的弧线进行训练。然后,您可以通过这些图表来找出通过这些铁路连接从一个城市到另一个城市的方式。
从图表中提取数据的一个子集(例如城市名称)并将数据分类为一个序列(例如获取特定站点的出发列表,按出发时间排序,并列出每个的目的地。您可能还想要生成(主要)目的地的排序列表,以及每个目的地的出发时间。
这些确实会提取数据,然后对提取的数据进行排序,而不是排序图本身。整个原因(或者大部分原因,无论如何)图形首先被构建为图形是因为它包含的数据不会轻易地按照一个特定顺序减少到一个列表。
你的意思是说,Set,Tree,Map,Graph都是以结构化的方式创建的,所以它不常见的排序 – VijayM 2014-11-01 17:58:40
或多或少,无论如何,是的。 – 2014-11-01 18:05:05
- 1. 排序的Java地图由值列表
- 2. 搜索,排序和图算法问题
- 3. 排序地图列表<String,String>
- 4. 排序没有比较器,阵列列表或树集的地图
- 5. 排序在java中的列表/树中设置的意义
- 6. 排序的列表视图
- 7. 计算在地图列表
- 8. 树视图和列表视图控件
- 9. 树形图和列表视图
- 10. 排序地图
- 11. 列表和地图
- 12. 试图了解Knuth的排列算法
- 13. 排序hasmap树形图
- 14. Python树遍历和排序排序列表中的项目组
- 15. 设置列表的图标
- 16. css图层的排序和排列
- 17. C#列表视图排序
- 18. 序列化树图
- 19. 树图布局算法
- 20. 构建树视图算法
- 21. 列表/树/堆栈 - 算法
- 22. Mysql(在Laravel中)DB排序规则和图表设置
- 23. 在STL地图中排序顺序并设置
- 24. 试图开发一种排列算法
- 25. Marklogic - 排序地图
- 26. 如何转换地图,树形图,使用Hashtable进行设置
- 27. 的Java 8地图筛选和排序
- 28. Sharepoint列表视图设置
- 29. 排序列表的对象,使用排序()算法c + +
- 30. 的JavaScript - 拆分地形设置图像存储在2D图像()排列
http://mitpress.mit.edu/books/introduction-algorithms是你的答案。 :) – specialscope 2014-11-01 15:45:21