【发布时间】:2015-04-17 16:08:36
【问题描述】:
我目前正在编写一个算法来在 c# 中构建一个对象链。对象的顺序很重要,因为它们以特定顺序表示一系列事件。对象 A 执行一个动作并包含对执行和动作的对象 B 的引用,依此类推。我遇到的问题是对象的初始状态是无序的。我有包含每个对象和系列中下一个对象名称的字典。我正在努力设计一种快速算法来“排序”它们。我最初的假设是遍历字典并为每个值查找与其匹配的键并将这两个对象添加到另一个列表中。有几个问题: 1. 确定链中的第一个对象。 2. 使用嵌套循环非常复杂。 3. 决定使用哪些 c# 对象来容纳对象链。
我希望有人有使用排序算法的经验来完成此任务或做过类似的事情。感谢所有 cmets 和帮助,谢谢。
【问题讨论】:
-
你能贴出代码吗?我无法想象/想象您所描述的方法。
-
使用 Dictionary 键作为排序所需的值 [我认为这是一个独一无二的属性]。对密钥集进行排序并将其放入列表中。然后使用 LinkedList 从 Dictionary 中添加对象
-
我没有任何值得分享的代码,因为我自己正在努力概念化这个问题。在高层次上,我有一个我们每天在链中运行的 sql 作业的列表。列表中包含所有工作及其启动的工作。我正在尝试构建一个网页以直观地查看此工作链。我的第一个问题是在 C# 中构建上述工作链。我希望就如何实现这一点得到一些建议。
-
你怎么知道一份工作的开始是什么?手动分析,或者你有一些动态读取的代码,如果有,贴出来。
-
我正在查询我们的 sql 服务器以获取所有作业(sysjobs、sysjobsteps)并构建所有作业的列表以及启动另一个作业的步骤。复杂的一点是,可以从列表中构建多个作业链。存在单个作业以及多个、多个作业链。
标签: c# .net algorithm iteration complexity-theory