1
1
from pydatastructs .trees .heaps import BinaryHeap , TernaryHeap , BinomialHeap , DHeap
2
+ from pydatastructs .linear_data_structures .arrays import DynamicOneDimensionalArray
2
3
from pydatastructs .miscellaneous_data_structures .binomial_trees import BinomialTree
3
4
from pydatastructs .utils .misc_util import TreeNode , BinomialTreeNode
4
5
from pydatastructs .utils .raises_util import raises
@@ -25,10 +26,11 @@ def test_BinaryHeap():
25
26
"(3, 3, []), (25, 25, []), (1, 1, []), "
26
27
"(2, 2, []), (7, 7, [])]" )
27
28
28
- expected_extracted_element = max_heap .heap [0 ].key
29
- assert max_heap .extract ().key == expected_extracted_element
29
+ assert max_heap .extract ().key == 100
30
30
31
31
expected_sorted_elements = [36 , 25 , 19 , 17 , 7 , 3 , 2 , 1 ]
32
+ l = max_heap .heap [0 ].left
33
+ l = max_heap .heap [0 ].right
32
34
sorted_elements = []
33
35
for _ in range (8 ):
34
36
sorted_elements .append (max_heap .extract ().key )
@@ -39,7 +41,7 @@ def test_BinaryHeap():
39
41
TreeNode (1 , 1 ), TreeNode (2 , 2 ), TreeNode (3 , 3 ),
40
42
TreeNode (17 , 17 ), TreeNode (19 , 19 ), TreeNode (36 , 36 )
41
43
]
42
- min_heap = BinaryHeap (elements = elements , heap_property = "min" )
44
+ min_heap = BinaryHeap (elements = DynamicOneDimensionalArray ( TreeNode , 9 , elements ) , heap_property = "min" )
43
45
assert min_heap .extract ().key == 1
44
46
45
47
expected_sorted_elements = [2 , 3 , 7 , 17 , 19 , 25 , 36 , 100 ]
@@ -77,7 +79,7 @@ def test_TernaryHeap():
77
79
TreeNode (1 , 1 ), TreeNode (2 , 2 ), TreeNode (3 , 3 ),
78
80
TreeNode (17 , 17 ), TreeNode (19 , 19 ), TreeNode (36 , 36 )
79
81
]
80
- min_heap = TernaryHeap (elements = elements , heap_property = "min" )
82
+ min_heap = TernaryHeap (elements = DynamicOneDimensionalArray ( TreeNode , 9 , elements ) , heap_property = "min" )
81
83
expected_extracted_element = min_heap .heap [0 ].key
82
84
assert min_heap .extract ().key == expected_extracted_element
83
85
@@ -104,8 +106,7 @@ def test_DHeap():
104
106
'(36, 36, []), (17, 17, []), (3, 3, []), (19, 19, []), '
105
107
'(1, 1, []), (2, 2, []), (7, 7, [])]' )
106
108
107
- expected_extracted_element = max_heap .heap [0 ].key
108
- assert max_heap .extract ().key == expected_extracted_element
109
+ assert max_heap .extract ().key == 100
109
110
110
111
expected_sorted_elements = [36 , 25 , 19 , 17 , 7 , 3 , 2 , 1 ]
111
112
sorted_elements = []
@@ -118,7 +119,7 @@ def test_DHeap():
118
119
TreeNode (1 , 1 ), TreeNode (2 , 2 ), TreeNode (3 , 3 ),
119
120
TreeNode (17 , 17 ), TreeNode (19 , 19 ), TreeNode (36 , 36 )
120
121
]
121
- min_heap = DHeap (elements = elements , heap_property = "min" )
122
+ min_heap = DHeap (elements = DynamicOneDimensionalArray ( TreeNode , 9 , elements ) , heap_property = "min" )
122
123
assert min_heap .extract ().key == 1
123
124
124
125
expected_sorted_elements = [2 , 3 , 7 , 17 , 19 , 25 , 36 , 100 ]
0 commit comments