标签: tree-structure

如何在数据库中存储目录/层次结构/树结构?

如何在数据库中存储目录/层次结构/树结构?即MSSQL Server.

@olavk:看起来你没看过我自己的答案.我使用的方式比递归查询更好:)

pps 这是要走的路!

sql-server database-design sql-server-2005 tree-structure

59
推荐指数
3
解决办法
5万
查看次数

树结构的优化SQL

如何从具有最佳性能的数据库中获取树结构数据?例如,假设您在数据库中有一个文件夹层次结构.folder-database-row具有ID,NameParentID列的位置.

您是否会使用特殊算法一次性获取所有数据,最大限度地减少数据库调用量并在代码中处理它?

或者你会使用多次调用数据库并直接从数据库中获取结构?

也许根据x数据库行数,层次结构深度或其他什么有不同的答案?

编辑:我使用Microsoft SQL Server,但其他观点的答案也很有趣.

sql sql-server tree-structure

35
推荐指数
5
解决办法
3万
查看次数

对MongoDB中的集合进行递归搜索

我在MongoDB中有一个带有树结构的文档列表,其中使用了带有父引用模型的模型树结构.我想要一个聚合查询,它返回祖先列表(直到根),给定'name'属性.

结构体:

{
  '_id': '1',
  'name': 'A',
  'parent': '',
},
{
  '_id': '2',
  'name': 'B',
  'parent': 'A',
},
{
  '_id': '3',
  'name': 'C',
  'parent': 'B',
},
{
  '_id': '4',
  'name': 'D',
  'parent': 'C',
}
Run Code Online (Sandbox Code Playgroud)

聚合结果:(给定,名称='D')

{
  '_id': '4',
  'name': 'D',
  'ancestors': [{name:'C'}, {name:'B'}, {name:'A'}]
}
Run Code Online (Sandbox Code Playgroud)

Note:我现在无法更改文档结构.这会造成很多问题.我看到许多解决方案建议将模型树结构与祖先数组一起使用.但我现在不能用它.有没有办法用上面的模式使用单个聚合查询来实现它?谢谢

tree-structure mongodb aggregation-framework

13
推荐指数
1
解决办法
7622
查看次数

scikit-learn在哪里保存树结构中每个叶节点的决策标签?

我已经使用scikit-learn训练了一个随机的森林模型,现在我想将它的树结构保存在文本文件中,以便我可以在其他地方使用它.根据这个链接,树对象由许多并行数组组成,每个数组都包含有关树的不同节点的一些信息(例如,左子,右子,它检查的特征,......).但是,似乎没有关于每个叶节点对应的类标签的信息!在上面的链接中提供的示例中甚至没有提到它.

有谁知道scikit-learn决策树结构中存储的类标签在哪里?

python tree-structure decision-tree scikit-learn

9
推荐指数
1
解决办法
2177
查看次数

树结构的正则表达式?

是否有正则表达式等价的搜索和修改树结构?我正在寻找简洁的迷你语言(如perl regex).

这是一个可以澄清我在寻找什么的例子.

<root>
  <node name="1">
    subtrees ....
  </node>
  <node name="2">
    <node name="2.1">
     data
    </node>
    other subtrees...
  </node>
</root>
Run Code Online (Sandbox Code Playgroud)

在上面的树上可能的操作是"将节点2.1处的子树移动到节点1处的子树中".操作的结果可能看起来像..

<root>
  <node name="1">
    subtrees ....
    <node name="2.1">
     data
    </node>
  </node>
  <node name="2">
    other subtrees...
  </node>
</root>
Run Code Online (Sandbox Code Playgroud)

搜索和替换操作,例如查找具有至少2个子节点的所有节点,查找数据以"a"开头的所有节点,如果子树至少有2个其他兄弟节点等,则将其替换为"b",等等.

对于字符串,其中唯一的维度是跨越字符串的长度,我们可以使用正则表达式执行上述操作中的许多操作(或其1D等价物).我想知道是否有树的等价物.(而不是单个正则表达式,您可能需要编写一组转换规则,但这没关系).

我想知道是否有一些简单的迷你语言(不是正则表达式,而是通过库等可以访问正则表达式等).执行这些操作?优选地,作为python库.

c python java regex tree-structure

8
推荐指数
3
解决办法
4467
查看次数

使用给定路径创建新文件夹

我想知道你是否有人创建了一个在给定路径中创建文件夹的功能.

例如:NewFolder = ['/ projects/Resources/backup_Folder']

python tree-structure

7
推荐指数
1
解决办法
2万
查看次数

Sencha Touch 2:插入TreeStore/NestedList

我正在使用带有底层TreeStore的NestedList.现在我想将项目添加到NestedList中作为叶子.我怎样才能做到这一点?

目前我的代码(Controller,onAddButtonTapped)如下所示:

var store = Ext.getStore('menuStore');
var customerAreaNode = store.getRoot().getChildAt(1);  
customerAreaNode.appendChild({name: "text", leaf:true});
customerAreaNode.expand();
store.sync();
Run Code Online (Sandbox Code Playgroud)

此代码在叶级别(在正确的节点后面)和节点级别上的一个新的侦听中产生两个新的空侦听.每个新条目都没有在NestedList中显示的名称,但每个项目的名称字段中都包含"text".奇怪的是,叶级别的一个新条目没有输入到底层模型.因此无法找到模型对应的方法:

Uncaught TypeError: Cannot call method 'getSelectedName' of undefined
Run Code Online (Sandbox Code Playgroud)

有没有人知道如何将数据添加到NestedList/TreeStore的简单教程?我在sencha touch docs中找不到一个好的例子.

tree-structure nested-lists sencha-touch-2

6
推荐指数
1
解决办法
2198
查看次数

可视化HTML文档树的工具(DOM树)

我想要可视化HTML网站的文档结构.

我想拥有的是这样的:

在此输入图像描述

是否有任何已知的工具可以执行此操作并将结果保存为位图文件?

dom tree-structure graph-visualization

6
推荐指数
1
解决办法
6456
查看次数

用Java解析目录结构

我必须解析以下文本文件中给出的一组目录:

# Note: The root folder's parent is labelled as "?"
#       Assume all directory has different name
#
A,?
B,A
C,A
D,C
E,C
F,C
G,F
Run Code Online (Sandbox Code Playgroud)

上面的文件用这种方式描述了目录结构:

A
|
+ B
|
+ C
| |
| + D
| |
| + E
| |
| + F
| | |
| | + G
Run Code Online (Sandbox Code Playgroud)

假设开头的行#是注释,我现在有以下代码:

String line;
BufferedReader f = new BufferedReader(new FileReader(new File("directory.txt")));
while ((line = f.readLine()) != null)
{
    if (!line.substring(0, 1).equals("#"))
    {
        String …
Run Code Online (Sandbox Code Playgroud)

java tree-structure filereader

5
推荐指数
1
解决办法
2213
查看次数

如何在制表符的树结构中过滤孩子?

我尝试setFilter在我的 Tabulator 树结构上调用函数,以过滤掉项目。它似乎只过滤掉顶级父母。知道如何使这项工作适用于任何级别(任何孩子或父母)吗?http://tabulator.info/docs/4.1/tree并没有过多说明过滤的工作原理。

功能

table.setFilter('id', '=', 214659) 没有返回任何东西......

树状结构

[
   {
      "level":0,
      "name":"word1",
      "id":125582,
      "_children":[
         {
            "level":1,
            "name":"word6",
            "id":214659
         },
         {
            "level":1,
            "name":"word7",
            "id":214633
         },
         {
            "level":1,
            "name":"word2",
            "id":214263,
            "_children":[
               {
                  "level":2,
                  "name":"word8",
                  "id":131673
               },
               {
                  "level":2,
                  "name":"word9",
                  "id":125579
               },
               {
                  "level":2,
                  "name":"word10",
                  "id":125578
               },
               {
                  "level":2,
                  "name":"word4",
                  "id":172670,
                  "_children":[
                     {
                        "level":3,
                        "name":"word13",
                        "id":172669
                     },
                     {
                        "level":3,
                        "name":"word14",
                        "id":174777
                     },
                     {
                        "level":3,
                        "name":"word5",
                        "id":207661,
                        "_children":[
                           {
                              "level":4,
                              "name":"word15",
                              "id":216529
                           },
                           {
                              "level":4,
                              "name":"word16",
                              "id":223884,
                              "_children":[
                                 { …
Run Code Online (Sandbox Code Playgroud)

tree-structure tabulator

5
推荐指数
1
解决办法
483
查看次数