@@ -59,6 +59,16 @@ <h2 class="algo-header">Bubble Sort</h2>
59
59
Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the list, compares
60
60
adjacent elements and swaps them if they are in the wrong order.
61
61
</ span >
62
+ < span class ="algo-complexity ">
63
+ < ul >
64
+ < li class ="algo-info "> < span class ="complexity-item "> Worst Complexity : </ span > < span class ="complexity-value "> N^2</ span > </ li >
65
+ < li class ="algo-info "> < span class ="complexity-item "> Average Complexity : </ span > < span class ="complexity-value "> N^2</ span > </ li >
66
+ < li class ="algo-info "> < span class ="complexity-item "> Best Complexity : </ span > < span class ="complexity-value "> N</ span > </ li >
67
+ < li class ="algo-info "> < span class ="complexity-item "> Space Complexity : </ span > < span class ="complexity-value "> 1</ span > </ li >
68
+ < li class ="algo-info "> < span class ="complexity-item "> Method : </ span > < span class ="complexity-value "> Exchanging</ span > </ li >
69
+ < li class ="algo-info "> < span class ="complexity-item "> Stable : </ span > < span class ="complexity-value "> Yes</ span > </ li >
70
+ </ ul >
71
+ </ span >
62
72
</ div >
63
73
64
74
< div id ="comb-info " class ="algo-container hidden ">
@@ -67,6 +77,18 @@ <h2 class="algo-header">Comb Sort</h2>
67
77
Comb Sort is mainly an improvement over Bubble Sort. Bubble sort always compares adjacent values. So all inversions are removed
68
78
one by one. Comb Sort improves on Bubble Sort by using gap of size more than 1.
69
79
</ span >
80
+ < span class ="algo-complexity ">
81
+ < ul >
82
+ < li class ="algo-info "> < span class ="complexity-item "> Worst Complexity : </ span > < span class ="complexity-value "> N^2</ span > </ li >
83
+ < li class ="algo-info ">
84
+ < span class ="complexity-item "> Average Complexity : </ span > < span class ="complexity-value "> N * log(N)</ span >
85
+ </ li >
86
+ < li class ="algo-info "> < span class ="complexity-item "> Best Complexity : </ span > < span class ="complexity-value "> N</ span > </ li >
87
+ < li class ="algo-info "> < span class ="complexity-item "> Space Complexity : </ span > < span class ="complexity-value "> 1</ span > </ li >
88
+ < li class ="algo-info "> < span class ="complexity-item "> Method : </ span > < span class ="complexity-value "> Exchanging</ span > </ li >
89
+ < li class ="algo-info "> < span class ="complexity-item "> Stable : </ span > < span class ="complexity-value "> No</ span > </ li >
90
+ </ ul >
91
+ </ span >
70
92
</ div >
71
93
72
94
< div id ="heap-info " class ="algo-container hidden ">
@@ -75,6 +97,22 @@ <h2 class="algo-header">Heap Sort</h2>
75
97
Heap sort is a comparison based sorting technique based on Binary Heap data structure. It is similar to selection sort where we
76
98
first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element.
77
99
</ span >
100
+ < span class ="algo-complexity ">
101
+ < ul >
102
+ < li class ="algo-info ">
103
+ < span class ="complexity-item "> Worst Complexity : </ span > < span class ="complexity-value "> N * log(N)</ span >
104
+ </ li >
105
+ < li class ="algo-info ">
106
+ < span class ="complexity-item "> Average Complexity : </ span > < span class ="complexity-value "> N * log(N)</ span >
107
+ </ li >
108
+ < li class ="algo-info ">
109
+ < span class ="complexity-item "> Best Complexity : </ span > < span class ="complexity-value "> N * log(N)</ span >
110
+ </ li >
111
+ < li class ="algo-info "> < span class ="complexity-item "> Space Complexity : </ span > < span class ="complexity-value "> 1</ span > </ li >
112
+ < li class ="algo-info "> < span class ="complexity-item "> Method : </ span > < span class ="complexity-value "> Selection</ span > </ li >
113
+ < li class ="algo-info "> < span class ="complexity-item "> Stable : </ span > < span class ="complexity-value "> No</ span > </ li >
114
+ </ ul >
115
+ </ span >
78
116
</ div >
79
117
80
118
< div id ="insertion-info " class ="algo-container hidden ">
@@ -83,6 +121,18 @@ <h2 class="algo-header">Insertion Sort</h2>
83
121
Insertion Sort is a simple sorting algorithm that builds the final sorted array one item at a time. It is much less efficient on
84
122
large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.
85
123
</ span >
124
+ < span class ="algo-complexity ">
125
+ < ul >
126
+ < li class ="algo-info "> < span class ="complexity-item "> Worst Complexity : </ span > < span class ="complexity-value "> N ^ 2</ span > </ li >
127
+ < li class ="algo-info ">
128
+ < span class ="complexity-item "> Average Complexity : </ span > < span class ="complexity-value "> N ^ 2</ span >
129
+ </ li >
130
+ < li class ="algo-info "> < span class ="complexity-item "> Best Complexity : </ span > < span class ="complexity-value "> N</ span > </ li >
131
+ < li class ="algo-info "> < span class ="complexity-item "> Space Complexity : </ span > < span class ="complexity-value "> 1</ span > </ li >
132
+ < li class ="algo-info "> < span class ="complexity-item "> Method : </ span > < span class ="complexity-value "> Insertion</ span > </ li >
133
+ < li class ="algo-info "> < span class ="complexity-item "> Stable : </ span > < span class ="complexity-value "> Yes</ span > </ li >
134
+ </ ul >
135
+ </ span >
86
136
</ div >
87
137
88
138
< div id ="selection-info " class ="algo-container hidden ">
@@ -91,6 +141,18 @@ <h2 class="algo-header">Selection Sort</h2>
91
141
Selection Sort is a sorting algorithm, specifically an in-place comparison sort. It has O time complexity, making it inefficient
92
142
on large lists, and generally performs worse than the similar insertion sort
93
143
</ span >
144
+ < span class ="algo-complexity ">
145
+ < ul >
146
+ < li class ="algo-info "> < span class ="complexity-item "> Worst Complexity : </ span > < span class ="complexity-value "> N ^ 2</ span > </ li >
147
+ < li class ="algo-info ">
148
+ < span class ="complexity-item "> Average Complexity : </ span > < span class ="complexity-value "> N ^ 2</ span >
149
+ </ li >
150
+ < li class ="algo-info "> < span class ="complexity-item "> Best Complexity : </ span > < span class ="complexity-value "> N ^ 2</ span > </ li >
151
+ < li class ="algo-info "> < span class ="complexity-item "> Space Complexity : </ span > < span class ="complexity-value "> 1</ span > </ li >
152
+ < li class ="algo-info "> < span class ="complexity-item "> Method : </ span > < span class ="complexity-value "> Selection</ span > </ li >
153
+ < li class ="algo-info "> < span class ="complexity-item "> Stable : </ span > < span class ="complexity-value "> No</ span > </ li >
154
+ </ ul >
155
+ </ span >
94
156
</ div >
95
157
96
158
< div id ="shell-info " class ="algo-container hidden ">
@@ -99,16 +161,31 @@ <h2 class="algo-header">Shell Sort</h2>
99
161
Shell Sort is mainly a variation of Insertion Sort. In insertion sort, we move elements only one position ahead. When an element
100
162
has to be moved far ahead, many movements are involved. The idea of shellSort is to allow exchange of far items.
101
163
</ span >
164
+ < span class ="algo-complexity ">
165
+ < ul >
166
+ < li class ="algo-info ">
167
+ < span class ="complexity-item "> Worst Complexity : </ span > < span class ="complexity-value "> Depends on Gap Sequence</ span >
168
+ </ li >
169
+ < li class ="algo-info ">
170
+ < span class ="complexity-item "> Average Complexity : </ span > < span class ="complexity-value "> N * log(N)^2 OR N ^ (3/2)</ span >
171
+ </ li >
172
+ < li class ="algo-info "> < span class ="complexity-item "> Best Complexity : </ span > < span class ="complexity-value "> N</ span > </ li >
173
+ < li class ="algo-info "> < span class ="complexity-item "> Method : </ span > < span class ="complexity-value "> Insertion</ span > </ li >
174
+ < li class ="algo-info "> < span class ="complexity-item "> Stable : </ span > < span class ="complexity-value "> No</ span > </ li >
175
+ </ ul >
176
+ </ span >
102
177
</ div >
103
178
</ div >
104
179
< div id ="container "> < div id ="bars "> </ div > </ div >
180
+
105
181
< script >
106
182
const CONTAINER_WIDTH = 600 ;
107
183
let TOTAL_ELEMENTS = document . getElementById ( "elements" ) . value ;
108
184
let SPEED = document . getElementById ( "speed" ) . value ;
109
185
let container = document . getElementById ( "bars" ) ;
110
186
let bars = document . getElementsByClassName ( "bar" ) ;
111
187
</ script >
188
+
112
189
< script src ="script/interface.js "> </ script >
113
190
< script src ="script/animation.js "> </ script >
114
191
< script src ="script/algorithms.js "> </ script >
0 commit comments