File size: 4,180 Bytes
890628b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
[Tick 1]
New Parcels: P1_0 to Bursa (Priority 1), P1_1 to Ankara (Priority 1), P1_2 to Bursa (Priority 2)
Queue Size: 3
Sorted to BST: P1_0, P1_1, P1_2
Dispatched: No parcels for active terminal Istanbul
BST city parcels: {Ankara=1, Bursa=2}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (2)
    └── Ankara (1)


[Tick 2]
New Parcels: P2_0 to Izmir (Priority 2), P2_1 to Bursa (Priority 2)
Queue Size: 2
Sorted to BST: P2_0, P2_1
Dispatched: No parcels for active terminal Istanbul
BST city parcels: {Ankara=1, Bursa=3, Izmir=1}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (3)
    ├── Ankara (1)
    └── Izmir (1)


[Tick 3]
New Parcels: P3_0 to Antalya (Priority 3)
Queue Size: 1
Sorted to BST: P3_0
Dispatched: No parcels for active terminal Istanbul
BST city parcels: {Ankara=1, Antalya=1, Bursa=3, Izmir=1}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (3)
    ├── Ankara (1)
    │   └── Antalya (1)
    └── Izmir (1)


[Tick 4]
New Parcels: P4_0 to Istanbul (Priority 2)
Queue Size: 1
Sorted to BST: P4_0
Returned: P4_0 misrouted -> Pushed to ReturnStack
BST city parcels: {Ankara=1, Antalya=1, Bursa=3, Istanbul=0, Izmir=1}
ReturnStack Size: 1
ArrivalBuffer []
ReturnStack(top->) [P4_0]
BST:
└── Bursa (3)
    ├── Ankara (1)
    │   └── Antalya (1)
    └── Izmir (1)
        └── Istanbul (0)


[Tick 5]
New Parcels: P5_0 to Istanbul (Priority 1), P5_1 to Antalya (Priority 2)
Queue Size: 2
Sorted to BST: P5_0, P5_1
Dispatched: P5_0 from BST to Istanbul -> Success
Rotated to: Ankara
BST city parcels: {Ankara=1, Antalya=2, Bursa=3, Istanbul=0, Izmir=1}
ReturnStack Size: 1
ArrivalBuffer []
ReturnStack(top->) [P4_0]
BST:
└── Bursa (3)
    ├── Ankara (1)
    │   └── Antalya (2)
    └── Izmir (1)
        └── Istanbul (0)


[Tick 6]
New Parcels: P6_0 to Ankara (Priority 3), P6_1 to Istanbul (Priority 1)
Queue Size: 2
Sorted to BST: P6_0, P6_1
Dispatched: P6_0 from BST to Ankara -> Success
Reprocess: Returned parcel reprocessed: P4_0
BST city parcels: {Ankara=1, Antalya=2, Bursa=3, Istanbul=2, Izmir=1}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (3)
    ├── Ankara (1)
    │   └── Antalya (2)
    └── Izmir (1)
        └── Istanbul (2)


[Tick 7]
New Parcels: P7_0 to Ankara (Priority 3), P7_1 to Antalya (Priority 3), P7_2 to Bursa (Priority 3)
Queue Size: 3
Sorted to BST: P7_0, P7_1, P7_2
Dispatched: P7_0 from BST to Ankara -> Success
BST city parcels: {Ankara=1, Antalya=3, Bursa=4, Istanbul=2, Izmir=1}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (4)
    ├── Ankara (1)
    │   └── Antalya (3)
    └── Izmir (1)
        └── Istanbul (2)


[Tick 8]
New Parcels: P8_0 to Ankara (Priority 3)
Queue Size: 1
Sorted to BST: P8_0
Dispatched: P8_0 from BST to Ankara -> Success
BST city parcels: {Ankara=1, Antalya=3, Bursa=4, Istanbul=2, Izmir=1}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (4)
    ├── Ankara (1)
    │   └── Antalya (3)
    └── Izmir (1)
        └── Istanbul (2)


[Tick 9]
New Parcels: P9_0 to Bursa (Priority 2)
Queue Size: 1
Sorted to BST: P9_0
Dispatched: P1_1 from BST to Ankara -> Success
BST city parcels: {Ankara=0, Antalya=3, Bursa=5, Istanbul=2, Izmir=1}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (5)
    ├── Ankara (0)
    │   └── Antalya (3)
    └── Izmir (1)
        └── Istanbul (2)


[Tick 10]
New Parcels: P10_0 to Ankara (Priority 1), P10_1 to Antalya (Priority 2), P10_2 to Antalya (Priority 2)
Queue Size: 3
Sorted to BST: P10_0, P10_1, P10_2
Dispatched: P10_0 from BST to Ankara -> Success
Rotated to: Izmir
BST city parcels: {Ankara=0, Antalya=5, Bursa=5, Istanbul=2, Izmir=1}
ReturnStack Size: 0
ArrivalBuffer []
ReturnStack(top->) []
BST:
└── Bursa (5)
    ├── Ankara (0)
    │   └── Antalya (5)
    └── Izmir (1)
        └── Istanbul (2)