-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
106 lines (102 loc) · 4.78 KB
/
index.html
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
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>DS and Algos Study Guide</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="./assets/styles.css">
</head>
<body>
<h1>Data Structure & Algo Resources</h1>
<div class="grid">
<Section class="resource-box">
<div class="content">
<h2>Sites for Training</h2>
<ul>
<li>
<a target="_blank" href="https://www.leetcode.com">Leet Code</a>
</li>
<li>
<a target="_blank" href="https://www.HackerRank.com">HackerRank</a>
</li>
<li>
<a target="_blank" href="https://www.codewars.com">Code Wars</a>
</li>
<li>
<a target="_blank" href="https://app.codesignal.com/"> Code Signal</a>
</li>
<li>
<a target="_blank" href="https://binarysearch.com/">Binary Search</a>
</li>
</ul>
</div>
</Section>
<Section class="resource-box">
<div class="content">
<h2>Sites for Readings</h2>
<ul>
<li>
<a target="_blank"
href="https://dev.to/aspittel/thank-u-next-an-introduction-to-linked-lists-4pph">
Linked List Analogy
</a>
</li>
</ul>
</div>
</Section>
<section class="resource-box">
<div class="content">
<h2>Big O References</h2>
<img class="content-image" src="./assets/images/Big-O-chart-1.png" alt="Big O chart" />
<img class="content-image" src="./assets/images/Big-O-chart-2.png" alt="Big O chart color shaded" />
</div>
<p>
The following are examples of common complexities and their Big O notations,
ordered from <span class="green">fastest</span> to <span class="red">slowest</span>:
</p>
<ul class="big-o-container">
<li><b>Constant</b>: O(1)</li>
<li><b>Logarithmic</b>: O(log(n))</li>
<li><b>Linear</b>: O(n)</li>
<li><b>Log-linear</b>: O(nlog(n))</li>
<li><b>Quadratic</b>: O(n<sup>2</sup>)</li>
<li><b>Cubic</b>: O(n<sup>3</sup>)</li>
<li><b>Exponential</b>: O(2<sup>n</sup>)</li>
<li><b>Factorial</b>: O(n!)</li>
</ul>
</section>
<section class="resource-box">
<img src="assets/images/Sorting-Algo-time-space-chart.png" alt="sorting algo time-space chart" />
<div class="content">
<h2>Sorting Algorithms</h2>
<h3 class="technique">Bubble Sort </h3>
<p class="definition">
Switches each element left to right adjacent
</p>
<h3 class="technique">Selection Sort </h3>
<p class="definition">
Selects i-th smallest element and places at i-th position. This algorithm divides the array into two
parts: sorted (left) and unsorted (right) subarray. It selects the smallest element from unsorted
subarray and places in the first position of that subarray (ascending order). It repeatedly selects
the next smallest element.
</p>
<h3 class="technique">Insertion Sort </h3>
<p class="definition">
A simple comparison based sorting algorithm. It inserts every array element into its proper
position. In i-th iteration, previous (i-1) elements (i.e. subarray Arr[1:(i-1)]) are already
sorted, and the i-th element (Arr[i]) is inserted into its proper place in the previously sorted
subarray.
</p>
<h3 class="technique">Merge Sort</h3>
<p class="definition">
A divide & conquer algorithm. Essentially breaks down an array in the middle to subarrays, and keeps
breaking it down until its one element in an array. Then proceeds to build itself back up. Can be
used as a sub-problem to a big problem:
- Best to visualize as having pointers of i1 and i2 compare, if i1 < i2 push to new array. </p>
</div>
</section>
</div>
</body>
</html>