问题标签 [data-structures]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
19 回答
439918 浏览

c# - C#中的树数据结构

我一直在寻找 C# 中的树或图形数据结构,但我想没有提供。使用 C# 2.0 对数据结构进行广泛检查,了解原因。是否有一个方便的库通常用于提供此功能?或许可以通过一种策略模式来解决文章中提出的问题。

我觉得实现自己的树有点傻,就像我实现自己的 ArrayList 一样。

我只想要一个可以不平衡的通用树。想想目录树。 C5看起来很漂亮,但它们的树结构似乎被实现为平衡的红黑树,比表示节点层次结构更适合搜索。

0 投票
21 回答
350875 浏览

algorithm - 如何使用两个堆栈实现一个队列?

假设我们有两个堆栈并且没有其他临时变量。

是否可以仅使用两个堆栈来“构建”队列数据结构?

0 投票
24 回答
60702 浏览

c - 当指向前一个节点的指针不可用时,从单个链表中删除中间节点

当我们唯一可用的信息是指向要删除的节点的指针而不是指向前一个节点的指针时,是否可以删除单链表中的中间节点?删除后,前一个节点应该指向下一个节点删除的节点。

0 投票
2 回答
1698 浏览

c - C 中的开源 radix/mtrie 实现?

我打算使用RADIX / MTRIE作为路由实现的首选数据结构。

是否有一个不错的开源实现(除了freebsd-net)可以用于我的目的,还是我需要自己编写一个?

0 投票
18 回答
1004632 浏览

python - 如何按字典的值对字典列表进行排序?

我有一个字典列表,并希望每个项目都按特定值排序。

考虑清单:

按 排序时name,应变为:

0 投票
5 回答
1356 浏览

c - C 中的空间数据结构

我确实在高性能集群上从事理论化学工作,通常涉及分子动力学模拟。我的工作解决的问题之一涉及 N 维(通常 N = 2-5)超​​球体的静态场,测试粒子可能会与之发生碰撞。我正在寻找优化(阅读:大修)用于表示球体领域的数据结构,以便我可以进行快速碰撞检测。目前,我使用一个简单的指针数组,指向一个 N 成员结构(中心的每个坐标双精度)和一个最近邻列表。我听说过八叉树和四叉树,但还没有清楚地解释它们是如何工作的,如何有效地实现它们,或者如何使用它们进行快速碰撞检测。考虑到我模拟的大小,内存(几乎)不是对象,但循环是。

0 投票
3 回答
1232 浏览

c# - 是否有比 TextWriter/StringBuilder 更高效的文本假脱机程序

对于像增量捕获文本这样的情况,例如,如果您在呈现页面时接收所有 output.write 调用,并且这些调用通过字符串构建器附加到文本编写器中。

有没有更有效的方法来做到这一点?dotnet 中已经存在的东西最好?特别是如果总大小超过一百千。也许更像是页面数组而不是连续内存?

0 投票
10 回答
1518 浏览

c# - 通过向下转换继承树在 C# 中“更宽松”键入

我想问的问题是:

从抽象类内部向下转换继承树(即朝向更专业的类)是可以原谅的,甚至是一件好事,还是它总是一个糟糕的选择,有更好的选择?

现在,为什么我认为它可以用于良好的例子。

我最近在 C# 中从 BitTorrent 协议实现了 Bencoding 。一个足够简单的问题,如何表示数据。我选择这样做,

我们有一个abstract BItem类,它提供了一些基本功能,包括static BItem Decode(string)用于将 Bencoded 字符串解码为必要结构的类。

还有四个派生类,、BString和,表示要编码的四种不同数据类型。现在,这是棘手的部分。和have和accessors 分别允许访问这些数据类型的类似数组的质量。BIntegerBListBDictionaryBListBDictionarythis[int]this[string]

潜在的可怕部分现在来了:

好吧,你明白了……哎呀,这对眼睛来说很难,更不用说大脑了。所以,我在抽象类中引入了一些额外的东西:

现在我们可以将旧代码重写为:

哇,嘿presto,更具可读性的代码。但是我是否只是为了将子类的知识暗示到抽象类中而出卖了我的一部分灵魂?

编辑:作为对一些答案的回应,你完全偏离了这个特定问题的轨道,因为结构是可变的,例如我的例子torrent["info"]["files"][0]["length"]是有效的,但也是如此torrent["announce-list"][0][0],两者都将在 90% 的 torrent 文件中在那里。泛型不是要走的路,至少有这个问题:(。点击我链接的规范,它只有 4 个小点。

0 投票
6 回答
336 浏览

data-structures - Is there a specific name for the node that coresponds to a subtree?

I'm designing a web site navigation hierarchy. It's a tree of nodes. Nodes represent web pages.

Some nodes on the tree are special. I need a name for them.

There are multiple such nodes. Each is the "root" of a sub-tree with pages that have a distinct logo, style sheet, or layout. Think of different departments.

site map with color-coded sub-trees http://img518.imageshack.us/img518/153/subtreesfe1.gif

What should I name this type of node?

0 投票
4 回答
489 浏览

c++ - 如何在 C/C++ 项目中获取所有数据类型大小和函数堆栈占用空间大小?

我有一个大型继承的 C/C++ 项目。是否有任何好的工具或技术来生成有关所有数据类型的“sizeof”的报告,以及此类项目中每个函数的堆栈足迹的细分。