这两个数据结构可以解决的最常见问题是什么?

在书本上提出以下建议对我也很好:

  • 实施结构
  • 实现并解释使用它们的算法的推理

===============>>#1 票数:17 已采纳

当我阅读此问题时,我想到的第一件事是: 哪些类型的事物使用图形/树? 然后我回想起如何使用它们。

例如,采用树的两种常见用法:

  • DOM
  • 文件系统

DOM和XML类似于树结构。
替代文字

这也是有道理的。 这是有道理的,因为需要如何安排这些数据 文件系统也是如此。 在UNIX系统上,有一个根节点,并在下面分支。 挂载新设备时,就是将其连接到树上。

您还应该问自己:数据是否属于这种类型的结构? 创建对问题有意义的数据结构,其余的将随之而来。

至于容易,我认为那是相对的。 您是否擅长使用遍历树/图的递归函数? 如果您需要平衡树怎么办?

考虑一个解决单词搜索难题的程序。 您可以将单词搜索的所有字母映射到一个图形中,然后检查周围的节点以查看该字符串是否与任何单词匹配。 但是难道您不可以对单个阵列做同样的事情吗? 您真正需要做的就是移动索引以左右检查字母,并按宽度检查上方和下方的字母。 用图形解决这个问题并不难,但是如果您不习惯使用它们,它会带来很多额外的工作和难度-当然,这不应该使您灰心,尤其是当您正在学习他们。

我希望这可以帮助您考虑这些结构。 至于书的推荐,我必须去看算法介绍

===============>>#2 票数:4

电路图。

编译(有向无环图)

地图。 非常紧凑的图形。

网络流量问题。

决策树专家系统(原文如此)

鱼骨图用于故障查找,过程改进,安全性分析。 对于加分,实现你的错误恢复代码鱼刺图对象。

===============>>#3 票数:3

几乎所有问题都可以根据图论进行重写。 我不是在开玩笑,请看任何关于NP完全问题的书,因为我们有很好的工具来处理图,所以有些古怪的问题变成了图论。

===============>>#4 票数:2

《算法设计手册》包含一些有趣的案例研究,创造性地使用了图表。 尽管它的名字,这本书还是很可读,甚至有时很有趣。

===============>>#5 票数:1

@DavidJoiner /全部:

FWIW:现在将要发布新版本的《 算法设计手册》

他的斯基耶纳教授为这本书开发的整个课程也可以在网上找到:

http://www.cs.sunysb.edu/~algorith/video-lectures/2007-1.html

===============>>#6 票数:1

我的大学有一门针对此类事情的课程: CSE 326 我认为这本书没有太大用处,但是这些项目很有趣,并且可以教您一些实现一些简单结构的知识。

例如,用树解决的最常见问题(按使用它的人数)之一是手机文本输入问题。 您可以使用树(不一定是二叉树)来表示可能单词的空间,这些单词可以从用户快速打入的任何给定数字列表中得出。

===============>>#7 票数:1

游戏通常使用图形来促进在游戏世界中寻找路径。 世界的图形表示可以使用诸如广度优先搜索或A *之类的算法,以查找通过它的路线。

他们还经常使用树来表示世界上的实体。 如果您有成千上万个实体,并且需要在某个位置找到一个实体,那么对列表进行线性迭代可能会效率低下,尤其是当您需要经常进行迭代时。 因此,可以将该区域细分为一棵树,以便更快地对其进行搜索。 就像可以通过二分搜索有效地搜索线性空间(从而划分为二叉树)一样,可以将2D空间划分为四叉树 ,将3D空间划分为八叉树

===============>>#8 票数:1

Java的算法: Robert Sedgewick撰写的第5部分是关于图算法和数据结构的。 如果要实现一些图形算法,这将是一本很好的第一本书。

===============>>#9 票数:1

用于在游戏和多媒体应用程序中绘制图形的场景图大量使用树和图。 节点代表要渲染的对象,转换,控件,组...

场景图通常具有多个图层和属性,这意味着您只能以指定的顺序(图层)绘制图的某些节点(属性)。 根据场景图的类型,它可以具有两个并行结构:声明和实例化。

===============>>#10 票数:1

由于树具有递归特性,因此在函数式编程语言中更多地使用了树。

同样,图形和树是建模许多AI问题的好方法。

  ask by Camilo Díaz Repka translate from so

未解决问题?本站智能推荐:

1回复

数据结构中的MST和Uniquness问题是旧解决的问题吗?

我准备参加P.hD入学考试。 数据结构的旧解决问题之一如下: 关于简单,无向,加权和连通图G MST ,下列哪项声明是正确的? (边缘权重不一定不同。) 1)如果G中的任何切口之间最轻的边缘是唯一的,那么MST是唯一的。 2)如果所有边缘权重不同,则MST是唯一的。
3回复

什么是Splay树,红黑树,AVL树,B树和T树? [关闭]

什么是Splay树,红黑树,AVL树,B树和T树? 我正在寻找好的实施方案。
1回复

查找树中多个路径之间的最短公共边缘

给定一个无向的加权树(N个节点,N-1个双向边缘,不一定是二叉树)。 输入将是某些节点之间的简单路径(从起始节点到最低公共祖先再到结束节点),例如1-> 4、2-> 10。 找到所有给定路径的最短公共边(属于)。
1回复

转换树需要多少个右旋?

我选择一个不错的面试问题。 谁能为我澄清一下? 假设给出了一个具有6个节点的二叉树,因此每个节点只有左子节点。 通过执行多少次“向右旋转”操作(没有任何向左旋转),我们可以将该树转换为每个节点仅具有右子节点的树吗? 我的解决方案: 我认为n-1旋转就足够了(通过模拟)
1回复

使用Java中的Floyd Warshall算法在图形中保存最短路径

我正在尝试为Java中的无向,无权(权重= 1)图编写Betweeness Centrality方法。 我采用的方法是找到图中的所有最短路径,然后遍历这些路径并计算顶点在该路径中执行步骤的频率。 我使用了Floyd Warshall算法来查找最短路径,并使用另一个数组来重建路径,类似于Wik
9回复

深度与树的高度。 刷新基本面

我正在复习算法和数据结构。 我对树的深度与高度的概念感到困惑。 在许多情况下,特别是在关注面试评估的网站上,在我看来,这些术语可以互换使用。 在我看来,基础文献将它们定义为适用于节点 而不适用于树。 所以根(它是一个节点)的深度是0 。 根(或任何子节点)的高度是其子节点的
1回复

沿树的边缘分布重量

我无法制定一种以要求的方式将重量分配到所有边缘的策略。 任何帮助都非常感谢。
2回复

从图创建“配对”?

这个问题闻起来好像是图论中应该有一个答案,但是它与我所知道的任何图论问题都不完全匹配。 (注意:这实际上是一个现实问题,为了便于阅读而虚构) 想象一下,我家里有一个偶数的国际象棋选手。 我有很多桌子和棋盘供所有人玩,但是我需要创建一个“配对”(不确定是否有图论术语)或对决列表,以便每个
4回复

树(有向无环图)实现

我需要一个树/有向无环图实现,如下所示: 没有任何类型的分类。 TreeNode只是键的包装和可能的值(节点不必设置值)。 我需要父母和子女的链接。 标准API或Commons等中有什么东西可以帮我吗? 我不介意自己写(我当然不是要求大家)我只是不想重新
7回复

图:找到小于O(| V |)的接收器 - 或者显示无法完成

我有一个图表,其中n节点作为邻接矩阵 。 是否有可能在不到O(n)时间内检测到水槽? 如果有,怎么样? 如果不是,我们如何证明呢? 接收器顶点是一个顶点,具有来自其他节点的入射边缘,没有出射边缘。