0% found this document useful (0 votes)
17 views

Binary Tree Practical 1

Practical on binary tree in computer science A level

Uploaded by

Yan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views

Binary Tree Practical 1

Practical on binary tree in computer science A level

Uploaded by

Yan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

9618/42 AS & A Level Computer Science November 2021 – Practical evidence document

Centre Number: [Enter your centre number here]


Candidate Name: [Enter your name here]
Candidate Number: [Enter your candidate number here]
Screenshots or program listings must be copied into appropriate cells in the following table.

Save this evidence document as evidence_ followed by your centre number_ candidate number.
For example: evidence_ zz999_9999 and insert your name, centre number and candidate number
into the header above.

Examiners must be able to read the contents including any screenshots without the use of a
magnifying glass. Answers that are not readable or missing will not be awarded any marks.

Save this evidence document at regular intervals, for example every 10 minutes.

Question 3
Part 3(a)
Module Module1
Sub Main()
Dim RootPointer, FreeNode As Integer
Dim ArrayNodes(19, 2) As Integer '1st and 3rd column represent leftptr and
right ptr
RootPointer = -1
FreeNode = 0
Console.ReadKey()
End Sub
Part 3(b)
Sub AddNode(ByRef ArrayNodes(,) As Integer, ByRef Rootpointer As Integer, ByRef
Freenode As Integer)
Dim NodeData, CurrentNode As Integer
Dim Placed As Boolean = False

Console.WriteLine("Enter the data")


NodeData = Console.ReadLine

If Freenode <= 19 Then


ArrayNodes(Freenode, 0) = -1
ArrayNodes(Freenode, 1) = NodeData
ArrayNodes(Freenode, 2) = -1

If Rootpointer = -1 Then
Rootpointer = 0
Else
CurrentNode = Rootpointer
While Placed = False
If NodeData < ArrayNodes(CurrentNode, 1) Then
If ArrayNodes(CurrentNode, 0) = -1 Then
ArrayNodes(CurrentNode, 0) = Freenode
Placed = True
Else
CurrentNode = ArrayNodes(CurrentNode, 0)
End If
Else
If ArrayNodes(CurrentNode, 2) = -1 Then

1
9618/42 AS & A Level Computer Science November 2021 – Practical evidence document

Centre Number: [Enter your centre number here]


Candidate Name: [Enter your name here]
Candidate Number: [Enter your candidate number here]
ArrayNodes(CurrentNode, 2) = Freenode
Placed = True
Else
CurrentNode = ArrayNodes(CurrentNode, 2)
End If
End If
End While
End If
Freenode = Freenode + 1
Else
Console.WriteLine("Tree is full")
End If
End Sub
Part 3(c)
Sub PrintAll(ByVal ArrayNodes(,) As Integer)
Dim index As Integer
For index = 0 To 19
Console.WriteLine(ArrayNodes(index, 0) & " " & ArrayNodes(index,
1) & " " & ArrayNodes(index, 2))
Next
End Sub

Part 3(d)(i)
For k = 0 To 9
AddNode(ArrayNodes, RootPointer, FreeNode)
Next
PrintAll(ArrayNodes)

Part 3(d)(ii)

Part 3(e)(i)
Sub InOrder(ByRef ArrayNodes(,) As Integer, ByVal Rootptr As Integer)

2
9618/42 AS & A Level Computer Science November 2021 – Practical evidence document

Centre Number: [Enter your centre number here]


Candidate Name: [Enter your name here]
Candidate Number: [Enter your candidate number here]
If ArrayNodes(Rootptr, 0) <> -1 Then
InOrder(ArrayNodes, ArrayNodes(Rootptr, 0))
End If
Console.WriteLine(ArrayNodes(Rootptr, 1))
If ArrayNodes(Rootptr, 2) <> -1 Then
InOrder(ArrayNodes, ArrayNodes(Rootptr, 2))
End If
End Sub

Part 3(e)(ii)

You might also like