Skip to content

Commit 3dbd20a

Browse files
committed
Day1
1 parent ee89698 commit 3dbd20a

6 files changed

+182
-0
lines changed

Diff for: .DS_Store

6 KB
Binary file not shown.

Diff for: BigO.py

Whitespace-only changes.

Diff for: BigO/BigO.py

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
def multiply(n):
2+
return n*n # O(1) complexity
3+
print(multiply(9))
4+
5+
def print_items(n):
6+
for i in range(n):
7+
print(i)#O(n) time Complexity
8+
print_items(10)
9+
10+
def print_item(n):
11+
for i in range(n):
12+
for j in range(i):
13+
print(i, j) # 0(n^2) time Complexity Because of Nested Loop
14+
15+
def printItem(n):
16+
for i in range(n):
17+
for j in range(j):
18+
for k in range(j):
19+
print(i, j, k) # O(n^3) time complexity
20+
def dropNonDominantOperation(n):
21+
for i in range(n):
22+
for j in range(i):
23+
print(i, j)
24+
for k in range(n):
25+
print(k)
26+
# O(n^2+n) is equal to O(n^2)
27+
28+
def sum1(n):
29+
if n<=0: #Space Complexity
30+
return 0
31+
return n + sum1(n-1)
32+
print(sum1(3))
33+
34+
def pair_sum_sequence(n):#Space Complexity
35+
total = 0
36+
for i in range(n):
37+
total = total + pair_sum(i, i+1)
38+
return total
39+
def pair_sum(a, b):
40+
return a+b
41+
42+
def findBiggestNumber(sampleArray):
43+
biggestNum= sampleArray[0]
44+
for index in range(1, len(sampleArray)):
45+
if sampleArray[index] > biggestNum:
46+
biggestNum = sampleArray[index]
47+
print(biggestNum)

Diff for: BigO/How+to+measure+the+codes+using+Big+O%3F.pdf

81.2 KB
Binary file not shown.

Diff for: BigO/timeComplexities.py

+130
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,130 @@
1+
# Created by Elshad Karimov on 3/17/20.
2+
# Copyright © 2020 Elshad Karimov. All rights reserved.
3+
4+
5+
array = [1, 2, 3, 4, 5]
6+
7+
###### Constant time complexity #######
8+
print('###### Constant time complexity #######')
9+
print(array[0])
10+
11+
12+
###### Linear time complexity #######
13+
print('###### Linear time complexity #######')
14+
for element in array:
15+
print(element)
16+
17+
18+
###### Logarithmic time complexity #######
19+
print('###### Logarithmic time complexity #######')
20+
for index in range(0,len(array),3):
21+
print(array[index])
22+
23+
24+
###### Quadratic time complexity #######
25+
print('###### Quadratic time complexity #######')
26+
for x in array:
27+
for y in array:
28+
print(x,y)
29+
30+
31+
###### Exponential time complexity #######
32+
print('###### Exponential time complexity #######')
33+
def fibonacci(n):
34+
if n <= 1:
35+
return n
36+
return fibonacci(n-1) + fibonacci(n-2)
37+
38+
39+
###### Add vs Multiply #######
40+
arrayA = [1,2,3,4,5,6,7,8,9]
41+
arrayB = [11,12,13,14,15,16,17,18,19]
42+
43+
for a in arrayA:
44+
print(a)
45+
46+
for b in arrayB:
47+
print(b)
48+
49+
for a in arrayA:
50+
for b in arrayB:
51+
print(a,b)
52+
53+
###### Iterative algorithm - finding the biggest number in the array #######
54+
55+
sample1Array = [1,10,45,33,23,45,67,2,3,33,55,11,65,76,34,35,27,99]
56+
57+
def findBiggestNumber(sampleArray):
58+
biggestNumber = sampleArray[0]
59+
for index in range(1,len(sampleArray)):
60+
if sampleArray[index] > biggestNumber:
61+
biggestNumber = sampleArray[index]
62+
print(biggestNumber)
63+
64+
findBiggestNumber(sample1Array)
65+
66+
###### Recursive algorithm - finding the biggest number in the array #######
67+
68+
def findMaxNumRec(sampleArray, n):
69+
if n == 1:
70+
return sampleArray[0]
71+
return max(sampleArray[n-1],findMaxNumRec(sampleArray,n-1))
72+
73+
print(findMaxNumRec(sample1Array,len(sample1Array)))
74+
75+
76+
###### Recursive algorithm multiple calls #######
77+
78+
def f(n):
79+
if n <= 1:
80+
return 1
81+
return f(n-1) + f(n-1)
82+
83+
print(f(3))
84+
85+
86+
87+
88+
89+
90+
91+
###### Quiz Questions #######
92+
93+
94+
def f1(n):
95+
if n <= 0:
96+
return 1
97+
else:
98+
return 1 + f1(n-1)
99+
100+
101+
def f2(n):
102+
103+
if n <= 0:
104+
return 1
105+
else:
106+
return 1 + f2(n-5)
107+
108+
109+
def f3(n):
110+
if n <= 0:
111+
return 1
112+
else:
113+
return 1 + f3(n/5)
114+
115+
116+
def f4(n,m,o):
117+
if n<=0:
118+
print(n,m,o)
119+
else:
120+
f4(n-1,m+1,o)
121+
f4(n-1,m,o+1)
122+
123+
def f5(n):
124+
for i in range(0,n,2):
125+
print(i)
126+
if n<=0:
127+
return 1
128+
else:
129+
return 1 + f5(n-5)
130+

Diff for: tempCodeRunnerFile.py

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
def sum1(n):
2+
if n<=0:
3+
return 0
4+
return n+ sum(n-1)
5+
sum1(3)

0 commit comments

Comments
 (0)