Link:http://output.to/sideway/default.asp?qno=170100016 Knowledge Base Binary Tree Sorting
Knowledge Base: Examples of Sorting
Sorting: Sorting algorithm referencehttps://en.wikipedia.org/wiki/Sorting_algorithm
Sorting An Array by Binary Tree Algorithm
Sorting An Array by Binary Tree Sort Algorithm. Binary tree sort is a simple insertion algorithm by inserting elements to a binary noded tree like structure.
Binary tree sort reference:
https://en.wikipedia.org/wiki/Tree_sort,
https://en.wikipedia.org/wiki/Binary_search_tree
Examples:
Example of arranging an array in binary noded form by Binary Tree Algorithm.
ASP VbScript Command:<script runat="server" language="VBScript">
Dim OriArry, NewArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
NewArry=SrtArry(OriArry)
Response.Write "Noded Binary Tree Array"
Response.Write LstArry(NewArry,0,0,0)
Function SrtArry(Ori_Arry)
Dim i, j, k, flag
Redim tree_arry(UBound(Ori_Arry))
left_ind=0
itm_arry=Ori_Arry(LBound(Ori_Arry))
rigt_ind=0
tree_arry(0)=array(left_ind,itm_arry,rigt_ind)
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
flag=0
j=0
Do while flag=0
If UCase(Ori_Arry(i)) < UCase(tree_arry(j)(1)) Then
k=0
Else
k=2
End If
If tree_arry(j)(k)=0 Then
tree_arry(j)(k)=i
tree_arry(i)=array("0",Ori_Arry(i),"0")
flag=1
Else
j=tree_arry(j)(k)
End If
Loop
Next
SrtArry=tree_arry
End Function
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
Response.Write " <br /> "
call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k< l and j>0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</script>
HTML Web Page In-line Output:Original Array [s, i, d, e, w, a, y, o, u, t] Noded Binary Tree Array [ -->[1, s, 4], -->[2, i, 7], -->[5, d, 3], -->[0, e, 0], -->[8, w, 6], -->[0, a, 0], -->[0, y, 0], -->[0, o, 0], -->[9, u, 0], -->[0, t, 0]]
Example of arranging an array in binary noded form with backward index by Binary Tree Algorithm.
ASP VbScript Command:<script runat="server" language="VBScript">
Dim OriArry, NewArry, TreArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
Redim TreArry(UBound(OriArry))
TreArry(0)=array("0","0","0")
NewArry=SrtArry(OriArry,TreArry,0,0)
Response.Write "Noded Binary Tree with backward index Array"
Response.Write LstArry(NewArry,0,0,0)
Function SrtArry(Ori_Arry,Tre_Arry,i,j)
Dim k, flag, A
A=Tre_Arry
If UCase(Ori_Arry(i)) < UCase(Ori_Arry(j)) Then
k=0
Else
k=2
End If
If A(j)(k)=0 Then
A(j)(k)=i
A(i)=array("0",j,"0")
i=i+1
j=0
Else
j=A(j)(k)
End If
if i<= UBound(Ori_Arry) then
A=SrtArry(Ori_Arry,A,i,j)
end if
SrtArry=A
End Function
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
Response.Write " <br /> "
call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k < l and j > 0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</script>
HTML Web Page In-line Output:Original Array [s, i, d, e, w, a, y, o, u, t] Noded Binary Tree with backward index Array [ -->[1, 0, 4], -->[2, 0, 7], -->[5, 1, 3], -->[0, 2, 0], -->[8, 0, 6], -->[0, 2, 0], -->[0, 4, 0], -->[0, 1, 0], -->[9, 4, 0], -->[0, 8, 0]]
Example of listing a binary noded array in array form by Binary Tree Algorithm.
ASP VbScript Command:<script runat="server" language="VBScript">
Dim OriArry, NewArry, TreArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array <br />"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
Redim TreArry(UBound(OriArry))
TreArry(0)=array("0","0","0")
NewArry=SrtArry(OriArry,TreArry,0,0)
Response.Write "Noded Binary Tree Array <br />"
Response.Write LstArry(NewArry,0,0,0)
Response.Write " <br />"
Response.Write "Recursively Noded Binary Tree Array Listing <br />"
Call LstTree(NewArry,NewArry(0))
Function SrtArry(Ori_Arry,Tre_Arry,i,j)
Dim k, flag, A
A=Tre_Arry
If UCase(Ori_Arry(i)) < UCase(Ori_Arry(j)) Then
k=0
Else
k=2
End If
If A(j)(k)=0 Then
A(j)(k)=i
A(i)=array("0",Ori_Arry(i),"0")
i=i+1
j=0
Else
j=A(j)(k)
End If
if i <= UBound(Ori_Arry) then
A=SrtArry(Ori_Arry,A,i,j)
end if
SrtArry=A
End Function
Function LstTree(Ori_Arry,Tre_Arry)
Dim k, A
A=Tre_Arry
k=0
If A(k) > 0 Then
A(k)=LstTree(Ori_Arry,Ori_Arry(A(k)))
End If
k=2
If A(k) > 0 Then
A(k)=LstTree(Ori_Arry,Ori_Arry(A(k)))
End If
LstTree=A
Call LstArry(LstTree,0,0,0)
Response.Write " <br />"
End Function
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
'Response.Write " <br /> "
'call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k < l and j > 0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</script>
HTML Web Page In-line Output:Original Array [s, i, d, e, w, a, y, o, u, t] Noded Binary Tree Array [[1, s, 4],[2, i, 7],[5, d, 3],[0, e, 0],[8, w, 6],[0, a, 0],[0, y, 0],[0, o, 0],[9, u, 0],[0, t, 0]] Recursively Noded Binary Tree Array Listing [0, a, 0] [0, e, 0] [[0, a, 0],d, [0, e, 0]] [0, o, 0] [[[0, a, 0],d, [0, e, 0]],i, [0, o, 0]] [0, t, 0] [[0, t, 0],u, 0] [0, y, 0] [[[0, t, 0],u, 0],w, [0, y, 0]] [[[[0, a, 0],d, [0, e, 0]],i, [0, o, 0]],s, [[[0, t, 0],u, 0],w, [0, y, 0]]]
Example of sorting a binary noded array in array form by Binary Tree Algorithm.
ASP VbScript Command:<script runat="server" language="VBScript">
Dim OriArry, NewArry, TreArry
OriArry=Array("s","i","d","e","w","a","y","o","u","t")
Response.Write "Original Array <br />"
Response.Write LstArry(OriArry,0,0,0)&" <br /> "
Redim TreArry(UBound(OriArry))
TreArry(0)=array("0","0","0")
NewArry=SrtArry(OriArry,TreArry,0,0)
Response.Write "Noded Binary Tree Array <br />"
Response.Write LstArry(NewArry,0,0,0)
Redim BinArry(UBound(OriArry))
Response.Write " <br />"
Response.Write "Recursively Noded Binary Tree Array Sorting <br />"
Call LstTree(NewArry,NewArry(0),BinArry,0)
Function SrtArry(Ori_Arry,Tre_Arry,i,j)
Dim k, flag, A
A=Tre_Arry
If UCase(Ori_Arry(i)) < UCase(Ori_Arry(j)) Then
k=0
Else
k=2
End If
If A(j)(k)=0 Then
A(j)(k)=i
A(i)=array("0",Ori_Arry(i),"0")
i=i+1
j=0
Else
j=A(j)(k)
End If
if i<= UBound(Ori_Arry) then
A=SrtArry(Ori_Arry,A,i,j)
end if
' aasspp_raw_code = aasspp_raw_code& " <br />"
'Call LstArry(A,0,0,0)
SrtArry=A
End Function
Function LstTree(Ori_Arry,Tre_Arry,Bin_Arry,i)
Dim k, A
A=Tre_Arry
Call TstArry(Ori_Arry,0,Bin_Arry,A,i)
Bin_Arry(i)=A(1)
i=i+1
Call TstArry(Ori_Arry,2,Bin_Arry,A,i)
LstTree=Bin_Arry
Call LstArry(Bin_Arry,0,0,0)
Response.Write " <br />"
End Function
Sub TstArry(Ori_Arry,k,Bin_Arry,A,i)
If A(k)>0 Then
A(k)=LstTree(Ori_Arry,Ori_Arry(A(k)),Bin_Arry,i)
End If
End Sub
Function LstArry(Ori_Arry,lvl,cnt,sze)
Dim i, j, k, l
j=lvl
k=cnt
l=sze
'Response.Write " <br /> "
'call PrtArrow(j)
Response.Write "["
flag=0
For i = LBound(Ori_Arry) to UBound(Ori_Arry)
If k < l and j > 0 Then
flag=1
End If
If IsArray(Ori_Arry(i)) Then
call LstArry(Ori_Arry(i),j+1,i,UBound(Ori_Arry))
Else
Response.Write Ori_Arry(i)
If i<>UBound(Ori_Arry) Then
Response.Write ", "
End If
End If
Next
Response.Write "]"
If flag=1 then
Response.Write ","
End If
End Function
Function PrtArrow(cnt)
Dim count
count=cnt
Do While count>0
count=count-1
Response.Write "-->"
loop
End Function
</script>
HTML Web Page In-line Output:Original Array [s, i, d, e, w, a, y, o, u, t] Noded Binary Tree Array [[1, s, 4],[2, i, 7],[5, d, 3],[0, e, 0],[8, w, 6],[0, a, 0],[0, y, 0],[0, o, 0],[9, u, 0],[0, t, 0]] Recursively Noded Binary Tree Array Sorting [a, , , , , , , , , ] [a, d, e, , , , , , , ] [a, d, e, , , , , , , ] [a, d, e, i, o, , , , , ] [a, d, e, i, o, , , , , ] [a, d, e, i, o, s, t, , , ] [a, d, e, i, o, s, t, u, , ] [a, d, e, i, o, s, t, u, w, y] [a, d, e, i, o, s, t, u, w, y] [a, d, e, i, o, s, t, u, w, y]
|
|