You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+22-27Lines changed: 22 additions & 27 deletions
Original file line number
Diff line number
Diff line change
@@ -65,9 +65,12 @@ No need to figure out all the details.
65
65
66
66
67
67
# Concepts:
68
+
Now we look into the main topics that are being covered in most interviews/coding challenges. We also look into the patterns that appear in solutions which can be used in new problems. The goal is to understand the fundamentals and try to use them to solve problems.
69
+
70
+
71
+
72
+
## Big O Notion:
68
73
69
-
Big O Notion:
70
-
=============
71
74
72
75
As the input to an algorithm increases, the time required to run the algorithm
73
76
may also increase.
@@ -113,15 +116,14 @@ Int , float 4 bytes
113
116
char 1 byte
114
117
115
118
116
-
# Comparison
117
-
#algorithms
119
+
## Comparison
118
120
119
121
Finding the smallest of n numbers:(n-1)
120
122
Finding the biggest of n numbers:(n-1)
121
123
Finding the smallest and the biggest of n numbers:(2n-3)
122
124
123
-
# Search
124
-
## Binary search (Middle …. Middle, O (log(n)).:
125
+
##Search
126
+
###Binary search (Middle …. Middle, O (log(n)).:
125
127
126
128

127
129
@@ -138,15 +140,15 @@ postion of binary)
138
140
139
141
Middle, Middle, Middle.
140
142
141
-
Sorting:
142
-
========
143
+
## Sorting:
144
+
143
145
144
146
**Bubble sort:**
145
147
146
148
Simplest and most inefficient one O(n\^2)
147
149
148
-
Merge Sort (divide, merge):
149
-
===========================
150
+
## Merge Sort (divide, merge):
151
+
150
152
151
153
Using divide and conquer, first, we divide 2 by 2
152
154
@@ -162,8 +164,7 @@ O (n Log (n))
162
164
163
165
Why we are seeing log (n) in our efficiency? Hint: same as binary search problem
164
166
165
-
Quick Sort (divide, merge):
166
-
===========================
167
+
## Quick Sort (divide, merge):
167
168
168
169
Pick one and move it around
169
170
@@ -214,11 +215,9 @@ Everythin less than 8 are already below 8 so cemented
214
215
215
216
**O(n2) if it’s already sorted. Why? Wasting time**
216
217
217
-
Heaps:
218
-
======
219
218
220
-
Dynamic programming:
221
-
====================
219
+
## Dynamic programming:
220
+
222
221
223
222
(Programming == tables)
224
223
@@ -277,8 +276,7 @@ Longest common subsequent
277
276
278
277

279
278
280
-
Complexity Theory
281
-
=================
279
+
## Complexity Theory
282
280
283
281
Class P: n, n\^2,… (Any problem that can be solved in poly time)
284
282
@@ -301,11 +299,8 @@ quickly
301
299
302
300
Class Co-NP: \_No\_ polytime
303
301
304
-
Technical Interview
305
-
===================
306
302
307
-
======= Greedy Algorithm (Best option at each step):
## Graph algorithm (data structure that shows relation):
323
+
329
324
330
325
Graph(Tree is a subgroup of graph,Network) Nodes(Vertex) Edges
331
326
@@ -352,12 +347,12 @@ Let’s define 3 variables
352
347
353
348
Final answer we be the best solution out of these both (A[i] B[i] )
354
349
355
-
Technical Interview (CIOT BRCD) (cute bird)
356
-
===========================================
350
+
# Technical Interview (CIOT BRCD) (cute bird)
351
+
Now lets focus on the technical interviews. We tend to simplify the concepts by using memory palace techniques. I adivse everyone to develop a memory palace for algorithms/techniques that requrie knowledge about more than 6-7 steps.
357
352
358
353
What are the most important 7 steps?
359
354
360
-
{Memory Palace} Imagine a cute bird sees a giant worm that is shaped like a Q
355
+
Imagine a cute bird sees a giant worm that is shaped like a Q
361
356
{Question}. First the bird pour water on the worm (clarify). Then it find the
362
357
tail and head (I, O). Then it will taste the worm (Test). It will use its brain
363
358
to decide how to eat it (Brainstorm). Then a big white eagle comes and its needs
0 commit comments