Skip to content

Commit 0170375

Browse files
author
Mari Wahl
committed
abstracted structures fixed
1 parent 3fdbc2a commit 0170375

File tree

98 files changed

+304
-855
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

98 files changed

+304
-855
lines changed

src/builtin_structures/numbers/testing_floats.py renamed to src/USEFUL/basic_examples/example_fractions.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
#!/usr/bin/python3
2-
# mari von steinkirch @2013
3-
# steinkirch at gmail
1+
#!/usr/bin/env python
2+
3+
__author__ = "bt3"
4+
45

56
from fractions import Fraction
67

78
def rounding_floats(number1, places):
8-
''' some operations with float()'''
99
return round(number1, places)
1010

1111

1212
def float_to_fractions(number):
1313
return Fraction(*number.as_integer_ratio())
14-
14+
1515

1616
def get_denominator(number1, number2):
1717
a = Fraction(number1, number2)
1818
return a.denominator
19-
19+
2020

2121
def get_numerator(number1, number2):
2222
a = Fraction(number1, number2)
@@ -34,7 +34,7 @@ def test_testing_floats(module_name='this module'):
3434
assert(float_to_fractions(number1) == number4)
3535
assert(get_denominator(number2, number6) == number6)
3636
assert(get_numerator(number2, number6) == number2)
37-
37+
3838
s = 'Tests in {name} have {con}!'
3939
print(s.format(name=module_name, con='passed'))
4040

src/builtin_structures/numbers/testing_numpy.py renamed to src/USEFUL/basic_examples/example_numpy.py

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
#!/usr/bin/python
2-
# mari von steinkirch @2013
3-
# steinkirch at gmail
41

2+
#!/usr/bin/env python
3+
4+
__author__ = "bt3"
5+
6+
import time
57
import numpy as np
68

79
def testing_numpy():
@@ -15,18 +17,44 @@ def testing_numpy():
1517
print(np.cos(ax))
1618
print(ax-ay)
1719
print(np.where(ax<2, ax, 10))
18-
20+
1921
m = np.matrix([ax, ay, ax])
2022
print(m)
2123
print(m.T)
22-
24+
2325
grid1 = np.zeros(shape=(10,10), dtype=float)
2426
grid2 = np.ones(shape=(10,10), dtype=float)
2527
print(grid1)
2628
print(grid2)
2729
print(grid1[1]+10)
2830
print(grid2[:,2]*2)
2931

32+
33+
def trad_version():
34+
t1 = time.time()
35+
X = range(10000000)
36+
Y = range(10000000)
37+
Z = []
38+
for i in range(len(X)):
39+
Z.append(X[i] + Y[i])
40+
return time.time() - t1
41+
42+
def numpy_version():
43+
t1 = time.time()
44+
X = np.arange(10000000)
45+
Y = np.arange(10000000)
46+
Z = X + Y
47+
return time.time() - t1
48+
49+
50+
3051
if __name__ == '__main__':
3152
testing_numpy()
53+
print(trad_version())
54+
print(numpy_version())
55+
3256

57+
'''
58+
3.23564291
59+
0.0714290142059
60+
'''

src/builtin_structures/numbers/testing_random.py renamed to src/USEFUL/basic_examples/example_random.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#!/usr/bin/python3
2-
# mari von steinkirch @2013
3-
# steinkirch at gmail
1+
#!/usr/bin/env python
2+
3+
__author__ = "bt3"
44

55
import random
66

@@ -12,11 +12,11 @@ def testing_random():
1212
print(random.choice(values))
1313
print(random.sample(values, 2))
1414
print(random.sample(values, 3))
15-
15+
1616
''' shuffle in place '''
1717
random.shuffle(values)
1818
print(values)
19-
19+
2020
''' create random integers '''
2121
print(random.randint(0,10))
2222
print(random.randint(0,10))

src/builtin_structures/sets/set_operations_with_lists.py renamed to src/USEFUL/basic_examples/example_sets.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#!/usr/bin/python3
2-
# mari von steinkirch @2013
3-
# steinkirch at gmail
1+
#!/usr/bin/env python
2+
3+
__author__ = "bt3"
44

55
def difference(l1):
66
""" return the list with duplicate elements removed """

src/abstract_structures/HashTable.py

100644100755
Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,28 +7,35 @@ class HashTable(object):
77
def __init__(self, slots=10):
88
self.slots = slots
99
self.table = []
10-
self.__create_table()
10+
self.create_table()
1111

12-
def __hash_key(self, value):
12+
def hash_key(self, value):
1313
return hash(value)%self.slots
1414

15-
def __create_table(self):
15+
def create_table(self):
1616
for i in range(self.slots):
1717
self.table.append([])
1818

1919
def add_item(self, value):
20-
key = self.__hash_key(value)
20+
key = self.hash_key(value)
2121
self.table[key].append(value)
2222

2323
def print_table(self):
2424
for key in range(len(self.table)):
2525
print "Key is %s, value is %s." %(key, self.table[key])
2626

27-
27+
def find_item(self, item):
28+
pos = self.hash_key(item)
29+
if item in self.table[pos]:
30+
return True
31+
else:
32+
return False
2833

2934
if __name__ == '__main__':
3035
dic = HashTable(5)
3136
for i in range(1, 40, 2):
3237
dic.add_item(i)
3338

34-
dic.print_table()
39+
dic.print_table()
40+
assert(dic.find_item(20) == False)
41+
assert(dic.find_item(21) == True)

src/abstract_structures/queue_with_stack.py renamed to src/abstract_structures/Queue.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,24 @@ def dequeue(self):
1717
self.deq.append(self.enq.pop())
1818
return self.deq.pop()
1919

20+
def isEmpty(self):
21+
return not (self.enq + self.deq)
22+
23+
def size(self):
24+
return len(self.enq) + len(self.deq)
25+
2026
if __name__ == '__main__':
2127
q = Queue()
2228

2329
for i in range(1,10):
2430
q.enqueue(i)
2531

32+
assert(q.isEmpty() == False)
33+
34+
assert(q.size() == 9)
35+
2636
for i in range(1, 10):
27-
print q.dequeue()
37+
print q.dequeue()
38+
39+
assert(q.isEmpty() == True)
40+

src/abstract_structures/stack_with_minumum.py renamed to src/abstract_structures/Stack.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,21 @@ def find_min(self):
3232
else:
3333
return 'No min value for empty list.'
3434

35+
def size(self):
36+
return len(self.content)
37+
38+
def isEmpty(self):
39+
return not bool(self.content)
40+
41+
def peek(self):
42+
if self.content:
43+
return self.content[-1]
44+
else:
45+
print('Stack is empty.')
46+
47+
48+
def __repr__(self):
49+
return '{}'.format(self.content)
3550

3651

3752
if __name__ == '__main__':

src/abstract_structures/__init__.py

100644100755
File mode changed.

src/abstract_structures/hash_tables/__init__.py

Whitespace-only changes.

src/abstract_structures/hash_tables/hash_table.py

Lines changed: 0 additions & 61 deletions
This file was deleted.

0 commit comments

Comments
 (0)