我有一个带有attrs的元素列表:parent,level,is_leaf_node,is_root_node,is_child_node.
我想将此列表转换为层次结构dict.输出字典的示例:
{
'Technology':
{
'Gadgets':{},
'Gaming':{},
'Programming':
{
'Python':{},
'PHP':{},
'Ruby':{},
'C++':{}
},
'Enterprise':{},
'Mac':{},
'Mobile':{},
'Seo':{},
'Ui':{},
'Virtual Worlds':{},
'Windows':{},
},
'News':{
'Blogging':{},
'Economics':{},
'Journalism':{},
'Politics':{},
'News':{}
},}
Run Code Online (Sandbox Code Playgroud)
我不知道算法.怎么做?
我想在浏览器中绘制一个层次结构树.我已经使用CSS和HTML和Javascript来在浏览器中使用一些基本的UI东西.但我想绘制很酷的节点和令人敬畏的连接器,并想出一个美学层次树(不是Windows资源管理器文件夹树).
此时,树中的节点将像我们用来研究的闪存卡一样说GRE字列表.它们不需要是可编辑的.
我正在开发一个使用非关系数据库作为后端的web应用程序(django-nonrel + AppEngine).我需要存储一些分层数据(projects/subproject_1/subproject_N/tasks),我想知道我应该使用哪种模式.现在我想到:
就我而言,普通用户的嵌套深度不会超过4-5级.此外,在UI上,我想对第一级上的项目进行分页,以避免在第一页加载时加载太多项目.
据我所知,到目前为止,当层次结构更多地用于显示时,嵌套集很好.当经常在树上进行编辑时,邻接列表很棒.在我的情况下,我想我需要显示的不仅仅是编辑(当使用嵌套集时,即使显示效果很好,上面的分页也会使编辑时的内容复杂化).
根据您对非关系数据库的经验,您有什么想法和建议吗?
这是该文件的一个示例.
powrup.asm POWER_UP
......EXTERNAL_RAM_ADDRESSING_CHECK powrup.asm:461
......EXRAM powrup.asm:490
......INRAM powrup.asm:540
......OUTPUT_TEST powrup.asm:573
............AD_READ douttst.asm:276
............AD_READ douttst.asm:366
......OUTPUT2_TEST powrup.asm:584
............AD_READ douttst2.asm:253
............AD_READ douttst2.asm:342
......OUTPUT3_TEST powrup.asm:599
............AD_READ douttst3.asm:307
............AD_READ douttst3.asm:398
......INPUT_TEST powrup.asm:614
......PROGRAM_PINS2_INPUT powrup.asm:629
......ARINC_TEST powrup.asm:633
............ARINC_LEVEL_TEST artest.asm:178
..................AD_READ arltst.asm:204
..................AD_READ arltst.asm:250
..................AD_READ arltst.asm:300
..................AD_READ arltst.asm:346
..................AD_READ arltst.asm:396
..................AD_READ arltst.asm:442
............ARINC_READ artest.asm:209
............ARINC_WORD_TXRX_TEST artest.asm:221
..................ARINC_OUT artxrx.asm:207
..................ARINC_READ artxrx.asm:221
............ARINC_READ artest.asm:251
............ARINC_WORD_TXRX_TEST artest.asm:263
..................ARINC_OUT artxrx.asm:207
..................ARINC_READ artxrx.asm:221
......PROGRAM_PINS2_INPUT powrup.asm:640
......PROGRAM_PIN_TEST powrup.asm:642
......PT_RCVR_BITE powrup.asm:645
............AD_READ10 ptbite.asm:225
..................AD_READ adread10.asm:141
............AD_READ10 ptbite.asm:308
..................AD_READ adread10.asm:141
............AD_READ10 ptbite.asm:384
..................AD_READ …Run Code Online (Sandbox Code Playgroud) algorithm perl hierarchical-trees data-structures perl-data-structures
所以我们有一个遗留系统跟踪ID为"欧洲/法国/巴黎"的地方,我正在构建一个Rails外观,将其转换为http:// foobar/places/Europe/France/Paris等URL.这个要求是不可协商的,可能的级别数量无限制,而且我们无法逃避斜线.
为http:// foobar/places/Europe设置routes.rb 是微不足道的:
map.resources :places
Run Code Online (Sandbox Code Playgroud)
...但是http:// foobar/places/Europe/France抱怨"没有行动回应欧洲".我试过了:
map.connect '/places/:id', :controller => 'places', :action => 'show'
Run Code Online (Sandbox Code Playgroud)
...但是这给出了相同的结果,显然:id结束于第一个'/'.如何使ID覆盖"地点"之后的任何内容和所有内容?