Skip to content

Commit 6f9f910

Browse files
authored
Merge pull request #17 from polcats/development
Added complexity details.
2 parents b37dfd8 + c90c617 commit 6f9f910

File tree

2 files changed

+95
-0
lines changed

2 files changed

+95
-0
lines changed

index.html

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,16 @@ <h2 class="algo-header">Bubble Sort</h2>
5959
Bubble sort, sometimes referred to as sinking sort, is a simple sorting algorithm that repeatedly steps through the list, compares
6060
adjacent elements and swaps them if they are in the wrong order.
6161
</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>
6272
</div>
6373

6474
<div id="comb-info" class="algo-container hidden">
@@ -67,6 +77,18 @@ <h2 class="algo-header">Comb Sort</h2>
6777
Comb Sort is mainly an improvement over Bubble Sort. Bubble sort always compares adjacent values. So all inversions are removed
6878
one by one. Comb Sort improves on Bubble Sort by using gap of size more than 1.
6979
</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>
7092
</div>
7193

7294
<div id="heap-info" class="algo-container hidden">
@@ -75,6 +97,22 @@ <h2 class="algo-header">Heap Sort</h2>
7597
Heap sort is a comparison based sorting technique based on Binary Heap data structure. It is similar to selection sort where we
7698
first find the maximum element and place the maximum element at the end. We repeat the same process for remaining element.
7799
</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>
78116
</div>
79117

80118
<div id="insertion-info" class="algo-container hidden">
@@ -83,6 +121,18 @@ <h2 class="algo-header">Insertion Sort</h2>
83121
Insertion Sort is a simple sorting algorithm that builds the final sorted array one item at a time. It is much less efficient on
84122
large lists than more advanced algorithms such as quicksort, heapsort, or merge sort.
85123
</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>
86136
</div>
87137

88138
<div id="selection-info" class="algo-container hidden">
@@ -91,6 +141,18 @@ <h2 class="algo-header">Selection Sort</h2>
91141
Selection Sort is a sorting algorithm, specifically an in-place comparison sort. It has O time complexity, making it inefficient
92142
on large lists, and generally performs worse than the similar insertion sort
93143
</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>
94156
</div>
95157

96158
<div id="shell-info" class="algo-container hidden">
@@ -99,16 +161,31 @@ <h2 class="algo-header">Shell Sort</h2>
99161
Shell Sort is mainly a variation of Insertion Sort. In insertion sort, we move elements only one position ahead. When an element
100162
has to be moved far ahead, many movements are involved. The idea of shellSort is to allow exchange of far items.
101163
</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>
102177
</div>
103178
</div>
104179
<div id="container"><div id="bars"></div></div>
180+
105181
<script>
106182
const CONTAINER_WIDTH = 600;
107183
let TOTAL_ELEMENTS = document.getElementById("elements").value;
108184
let SPEED = document.getElementById("speed").value;
109185
let container = document.getElementById("bars");
110186
let bars = document.getElementsByClassName("bar");
111187
</script>
188+
112189
<script src="script/interface.js"></script>
113190
<script src="script/animation.js"></script>
114191
<script src="script/algorithms.js"></script>

styles/style.css

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,24 @@ a#repository img {
4242
font-weight: bold;
4343
}
4444

45+
#algo-info .algo-complexity {
46+
display: block;
47+
}
48+
49+
#algo-info .algo-complexity ul {
50+
text-align: left;
51+
list-style-type: square;
52+
}
53+
54+
#algo-info .algo-complexity ul .complexity-item {
55+
font-weight: bold;
56+
display: inline-block;
57+
width: 160px;
58+
}
59+
#algo-info .algo-complexity ul .complexity-value {
60+
padding: 5px;
61+
}
62+
4563
#container {
4664
grid-area: container;
4765
width: 100%;

0 commit comments

Comments
 (0)