【问题标题】:Decrease and Conquer in Real world [closed]减少和征服现实世界[关闭]
【发布时间】:2013-08-20 21:20:17
【问题描述】:

谁能提出这个算法中的实际问题插入排序、呼吸优先搜索、深度优先搜索或拓扑排序?谢谢。

Real-world examples of recursion

我在这里看到了示例但我需要的是插入排序、呼吸优先搜索、深度优先搜索或拓扑排序算法的具体问题。

希望你能帮帮我。

【问题讨论】:

  • 出于什么目的需要现实世界的问题?这些算法通常用作更大的自定义问题算法的一部分。
  • 我们的论文提案。我们需要使用任何一种算法来制作一个真实世界的应用程序。例如“使用 Decrease and Conquer 的投票计数器”
  • 为什么要在列表中进行插入排序?其他都是图算法,但插入排序是一种序列排序算法,主要用作其他渐近复杂度较好的排序算法的基本情况。

标签: algorithm


【解决方案1】:

我使用分层数据结构,并且总是需要 BFS 来查找我需要嵌套在特定根目录下的对象.​​..
例如查找(/替换)

有时(明显更少)我使用 DFS 来检查一些设计约束,如果不调查叶子就无法评估。


虽然我没用过,也不完全是 BFS,
但是 GPS 导航软件使用 A* 来搜索一个好的路径,
哪个是“加权 BFS”的孩子


【讨论】:

    【解决方案2】:

    插入排序 - 没有,它对学习有好处。在计算机之外,它通常用于分类,例如卡片。在现实世界中合并排序或快速排序更好。

    BFS - 寻找连接节点,寻找最短路径。 Dijkstra 算法和 A*(Dijkstra 的更快版本)的基础。

    DFS - 查找连接节点,在树中编号节点。

    拓扑排序 - 找到正确的任务顺序。

    【讨论】:

    • +1 用于排序一副纸牌 :)
    • "Insertion sort - none" - 这并不完全正确。如果数据已经排序的可能性非常高,则插入排序将优于 O(n log n),因为它在已排序数据上的最佳情况为 O(n)。
    • 这些都不是真正的“真实世界”示例。
    【解决方案3】:

    它可以比我们日常生活单调的生活更真实吗?

    插入排序是我们(或至少我)在需要对事物进行排序时最常使用的方法。考虑一副纸牌 - 一张一张地翻过它们,将最小的放在前面,较小的放在后面等等。或者一堆需要按日期排序的文件,相同的算法。

    在 CS 中,插入排序不太常用,因为我们有更好的算法(想到 qsort 和 merge-sort)。人类也可以做到,但这确实是一项更加乏味的任务。

    广度优先搜索的用途在于名称:当我们想要水平而不是垂直越过一棵树时。假设您听说您的家人与俄罗斯艺术家Ilya Repin 有联系。你走到阁楼上,打开积满灰尘的巨大木箱,取出可以追溯到19世纪的古老家谱(不是每个人都有吗?)。你知道他离树顶比离树底更近,所以你要广度优先:取第一行,然后是第二行,依此类推……再多一点……Efim Repin。 ..宾果游戏!

    如果 Ilya Repin 恰好位于树的最左侧分支,那么深度优先会更有意义。然而,在一般情况下,你会想要广度优先,因为我们知道我们的目标更接近根而不是叶子。在 CS 中有大量的使用案例(Cheney's AlgorithmA* 等。你可以看到更多的 on wikipedia)。

    深度优先搜索用于当我们... drumroll ...想先到树的深度,垂直移动。有这么多用途我什至无法开始,但最简单和最常见的是解决谷物盒迷宫。你走一条路,直到你到达死胡同,然后你回溯。我们做的并不完美,因为我们有时会跳过一条路径或忘记我们选择了哪条路径,但我们仍然会这样做。

    在 CS 中,有很多用例,所以我会再次重定向您 to wikipedia

    拓扑排序我们中的一些人在脑后使用,但在厨师、厨师、程序员、任何必须执行一组有序任务的人中很容易看到。我的祖母做了我吃过的最好的Canneloni,她非常简单的食谱由几个简单的步骤组成(我已经忘记了,但这里是它们的大致大纲):制作“煎饼”包装纸,制作酱汁,把它们包在一起。现在,我们不能不做就把这两个包起来,所以很自然,我们要先做皮和酱,然后再把它们包起来。

    在 CS 中,它用于完全相同的事情:调度。我认为 Excel 使用它来计算相关的电子表格公式(或者它可能只是使用简单的递归算法,这可能效率较低)。更多信息,您可以看到我们的好朋友wikipediarandom article I found

    【讨论】:

    • 感谢您分享您的想法:D
    猜你喜欢
    • 2010-09-15
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 2011-08-19
    • 2014-01-21
    • 2010-11-04
    • 1970-01-01
    • 2010-11-09
    相关资源
    最近更新 更多