Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
4
Task/Tree-traversal/J/tree-traversal-1.j
Normal file
4
Task/Tree-traversal/J/tree-traversal-1.j
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
preorder=: ]S:0
|
||||
postorder=: ([:; postorder&.>@}.) , >@{.
|
||||
levelorder=: ;@({::L:1 _~ [: (/: #@>) <S:1@{::)
|
||||
inorder=: ([:; inorder&.>@(''"_`(1&{)@.(1<#))) , >@{. , [:; inorder&.>@}.@}.
|
||||
53
Task/Tree-traversal/J/tree-traversal-10.j
Normal file
53
Task/Tree-traversal/J/tree-traversal-10.j
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
dataorder=: /:@data reorder ]
|
||||
levelorder=: /:@depth@parent reorder ]
|
||||
|
||||
inorder=: inperm@parent reorder ]
|
||||
inperm=:3 :0
|
||||
chil=. childinds y
|
||||
node=. {.I.(= i.@#) y
|
||||
todo=. i.0 2
|
||||
r=. i.0
|
||||
whilst. (#todo)+.0<:node do.
|
||||
if. 0 <: node do.
|
||||
if. 0 <: {.ch=. node{chil do.
|
||||
todo=. todo, node,{:ch
|
||||
node=. {.ch
|
||||
else.
|
||||
r=. r, node
|
||||
node=. _1 end.
|
||||
else.
|
||||
r=. r, {.ch=. {: todo
|
||||
todo=. }: todo
|
||||
node=. {:ch end. end.
|
||||
r
|
||||
)
|
||||
|
||||
postorder=: postperm@parent reorder ]
|
||||
postperm=:3 :0
|
||||
chil=. 0,1+childinds y
|
||||
todo=. 1+I.(= i.@#) y
|
||||
r=. i.0
|
||||
whilst. (#todo) do.
|
||||
node=. {: todo
|
||||
todo=. }: todo
|
||||
if. 0 < node do.
|
||||
if. #ch=. (node{chil)-.0 do.
|
||||
todo=. todo,(-node),|.ch
|
||||
else.
|
||||
r=. r, <:node end.
|
||||
else.
|
||||
r=. r, <:|node end. end.
|
||||
)
|
||||
|
||||
preorder=: preperm@parent reorder ]
|
||||
preperm=:3 :0
|
||||
chil=. childinds y
|
||||
todo=. I.(= i.@#) y
|
||||
r=. i.0
|
||||
whilst. (#todo) do.
|
||||
r=. r,node=. {: todo
|
||||
todo=. }: todo
|
||||
if. #ch=. (node{chil)-._1 do.
|
||||
todo=. todo,|.ch end. end.
|
||||
r
|
||||
)
|
||||
12
Task/Tree-traversal/J/tree-traversal-11.j
Normal file
12
Task/Tree-traversal/J/tree-traversal-11.j
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
levelorder dataorder example
|
||||
1 2 3 4 5 6 7 8 9
|
||||
0 0 0 1 1 2 3 5 5
|
||||
inorder dataorder example
|
||||
7 4 2 5 1 8 6 9 3
|
||||
1 2 4 2 4 6 8 6 4
|
||||
preorder dataorder example
|
||||
1 2 4 7 5 3 6 8 9
|
||||
0 0 1 2 1 0 5 6 6
|
||||
postorder dataorder example
|
||||
7 4 5 2 8 9 6 3 1
|
||||
1 3 3 8 6 6 7 8 8
|
||||
5
Task/Tree-traversal/J/tree-traversal-2.j
Normal file
5
Task/Tree-traversal/J/tree-traversal-2.j
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
N2=: conjunction def '(<m),(<n),<y'
|
||||
N1=: adverb def '(<m),<y'
|
||||
L=: adverb def '<m'
|
||||
|
||||
tree=: 1 N2 (2 N2 (4 N1 (7 L)) 5 L) 3 N1 6 N2 (8 L) 9 L
|
||||
2
Task/Tree-traversal/J/tree-traversal-3.j
Normal file
2
Task/Tree-traversal/J/tree-traversal-3.j
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
preorder tree
|
||||
1 2 4 7 5 3 6 8 9
|
||||
2
Task/Tree-traversal/J/tree-traversal-4.j
Normal file
2
Task/Tree-traversal/J/tree-traversal-4.j
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
postorder tree
|
||||
7 4 5 2 8 9 6 3 1
|
||||
2
Task/Tree-traversal/J/tree-traversal-5.j
Normal file
2
Task/Tree-traversal/J/tree-traversal-5.j
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
inorder tree
|
||||
7 4 2 5 1 8 6 9 3
|
||||
2
Task/Tree-traversal/J/tree-traversal-6.j
Normal file
2
Task/Tree-traversal/J/tree-traversal-6.j
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
levelorder tree
|
||||
1 2 3 4 5 6 7 8 9
|
||||
1
Task/Tree-traversal/J/tree-traversal-7.j
Normal file
1
Task/Tree-traversal/J/tree-traversal-7.j
Normal file
|
|
@ -0,0 +1 @@
|
|||
tree=: 1 N2 (2 N2 (4 N1 (7 L)) (5 L)) (3 N1 (6 N2 (8 L) (9 L)))
|
||||
1
Task/Tree-traversal/J/tree-traversal-8.j
Normal file
1
Task/Tree-traversal/J/tree-traversal-8.j
Normal file
|
|
@ -0,0 +1 @@
|
|||
example=:1 8 3 4 7 5 9 6 2,: 0 7 0 8 3 8 7 2 0
|
||||
13
Task/Tree-traversal/J/tree-traversal-9.j
Normal file
13
Task/Tree-traversal/J/tree-traversal-9.j
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
depth=: +/@((~: , (~: i.@#@{.)~) {:@,)@({~^:a:)
|
||||
|
||||
reorder=:4 :0
|
||||
'data parent'=. y
|
||||
data1=. x{data
|
||||
parent1=. x{data1 i. parent{data
|
||||
if. 0=L.y do. data1,:parent1 else. data1;parent1 end.
|
||||
)
|
||||
|
||||
data=:3 :'data[''data parent''=. y'
|
||||
parent=:3 :'parent[''data parent''=. y'
|
||||
|
||||
childinds=: [: <:@(2&{.@-.&> #\) (</. #\)`(]~.)`(a:"0)}~
|
||||
Loading…
Add table
Add a link
Reference in a new issue