mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-29 20:26:07 -04:00
organization in the src structure, modification of README
This commit is contained in:
parent
c2ca11f247
commit
6afe96fa4d
24
README.md
24
README.md
@ -11,7 +11,7 @@ This repository contains a comprehensive study on Algorithms & Data Structures i
|
||||
|
||||
src/
|
||||
|
||||
├── abstract_structures
|
||||
└── abstract_structures
|
||||
|
||||
├── heap
|
||||
|
||||
@ -21,33 +21,19 @@ src/
|
||||
|
||||
└── stacks
|
||||
|
||||
├── builtin_structures
|
||||
|
||||
├── arrays_and_strings
|
||||
└── builtin_structures
|
||||
|
||||
├── dicts
|
||||
|
||||
├── lists
|
||||
├── lists_and_strings
|
||||
|
||||
├── numbers
|
||||
|
||||
├── sets
|
||||
|
||||
├── strings
|
||||
|
||||
└── tuples
|
||||
|
||||
├── graphs_and_trees
|
||||
|
||||
├── trees
|
||||
|
||||
├── programming_paradigms
|
||||
|
||||
├── dynamic_programming
|
||||
|
||||
├── modules
|
||||
|
||||
└── oop
|
||||
└── trees
|
||||
|
||||
└── searching_and_sorting
|
||||
|
||||
@ -57,6 +43,8 @@ src/
|
||||
|
||||
└── Extra Interview Problems
|
||||
|
||||
└── USEFUL
|
||||
|
||||
|
||||
----
|
||||
## Installation
|
||||
|
@ -1,5 +1,9 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
'''
|
||||
The doctest module automatically runs any statement begining with >>>
|
||||
The doctest module automatically runs any statement beginning with >>>
|
||||
and compares the following line with the output from the interpreter.
|
||||
|
||||
>>> 1 == 1
|
@ -1,11 +1,12 @@
|
||||
#!/usr/bin/python3
|
||||
# mari von steinkirch @2013
|
||||
# steinkirch at gmail
|
||||
#!/usr/bin/python
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
''' a simple example of how to time a function '''
|
||||
|
||||
import time
|
||||
|
||||
def sumOfN2(n):
|
||||
''' a simple example of how to time a function '''
|
||||
start = time.time()
|
||||
theSum = 0
|
||||
for i in range(1,n+1):
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/python3
|
||||
# mari von steinkirch @2013
|
||||
# steinkirch at gmail
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
|
||||
from functools import wraps
|
||||
@ -20,7 +20,7 @@ def memo(func):
|
||||
def find_fibonacci_seq_rec(n):
|
||||
''' implements the nth fibonacci value in a recursive exponential runtime '''
|
||||
if n < 2: return n
|
||||
return find_fibonacci_seq_rec(n - 1) + find_fibonacci_seq_rec(n - 2)
|
||||
return find_fibonacci_seq_rec(n - 1) + find_fibonacci_seq_rec(n - 2)
|
||||
|
||||
def test_memo():
|
||||
n = 50
|
||||
@ -31,9 +31,9 @@ def test_memo():
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_memo()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,7 +1,6 @@
|
||||
#!/usr/bin/python3
|
||||
# mari von steinkirch @2013
|
||||
# steinkirch at gmail
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
from itertools import combinations
|
||||
from bisect import bisect
|
||||
@ -14,7 +13,7 @@ def naive_longest_inc_subseq(seq):
|
||||
for sub in combinations(seq, length):
|
||||
if list(sub) == sorted(sub):
|
||||
return len(sub)
|
||||
|
||||
|
||||
|
||||
def longest_inc_subseq1(seq):
|
||||
''' an iterative algorithm for the longest increasing subsequence problem '''
|
||||
@ -24,8 +23,8 @@ def longest_inc_subseq1(seq):
|
||||
if idx == len(end): end.append(val)
|
||||
else: end[idx] = val
|
||||
return len(end)
|
||||
|
||||
|
||||
|
||||
|
||||
def longest_inc_subseq2(seq):
|
||||
''' another iterative algorithm for the longest increasing subsequence problem '''
|
||||
L = [1] * len(seq)
|
||||
@ -51,17 +50,17 @@ def memoized_longest_inc_subseq(seq):
|
||||
@benchmark
|
||||
def test_naive_longest_inc_subseq():
|
||||
print(naive_longest_inc_subseq(s1))
|
||||
|
||||
|
||||
benchmark
|
||||
def test_longest_inc_subseq1():
|
||||
def test_longest_inc_subseq1():
|
||||
print(longest_inc_subseq1(s1))
|
||||
|
||||
@benchmark
|
||||
def test_longest_inc_subseq2():
|
||||
def test_longest_inc_subseq2():
|
||||
print(longest_inc_subseq2(s1))
|
||||
|
||||
|
||||
@benchmark
|
||||
def test_memoized_longest_inc_subseq():
|
||||
def test_memoized_longest_inc_subseq():
|
||||
print(memoized_longest_inc_subseq(s1))
|
||||
|
||||
|
||||
@ -73,9 +72,9 @@ if __name__ == '__main__':
|
||||
test_longest_inc_subseq1()
|
||||
test_longest_inc_subseq2()
|
||||
test_memoized_longest_inc_subseq()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
#!/usr/bin/python3
|
||||
# mari von steinkirch @2013
|
||||
# steinkirch at gmail
|
||||
#!/usr/bin/env python
|
||||
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
|
||||
import os
|
||||
import sys
|
||||
@ -12,12 +14,12 @@ def change_file_ext():
|
||||
print("Usage: change_ext.py filename.old_ext 'new_ext'")
|
||||
sys.exit()
|
||||
|
||||
name = os.path.splitext(sys.argv[1])[0] + "." + sys.argv[2]
|
||||
name = os.path.splitext(sys.argv[1])[0] + "." + sys.argv[2]
|
||||
print (name)
|
||||
|
||||
|
||||
try:
|
||||
shutil.copyfile(sys.argv[1], name)
|
||||
except OSError as err:
|
||||
shutil.copyfile(sys.argv[1], name)
|
||||
except OSError as err:
|
||||
print (err)
|
||||
|
||||
|
@ -1,4 +1,8 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
|
||||
import collections
|
||||
import string
|
||||
import sys
|
@ -1,9 +1,14 @@
|
||||
#!/usr/bin/python
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
|
||||
import collections
|
||||
import sys
|
||||
|
||||
def count_unique_word_freq():
|
||||
return collections.Counter(sys.stdin.read().lower().split()).most_common(n)
|
||||
return collections.Counter(\
|
||||
sys.stdin.read().lower().split()).most_common(n)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/python3
|
||||
# mari von steinkirch @2013
|
||||
# steinkirch at gmail
|
||||
#!/usr/bin/env python
|
||||
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
import sys
|
||||
|
||||
@ -13,7 +14,7 @@ def grep_word_from_files():
|
||||
if word in line:
|
||||
print("{0}:{1}:{2:.40}".format(filename, lino, line.rstrip()))
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
if len(sys.argv) < 2:
|
||||
print("Usage: grep_word_from_files.py word infile1 [infile2...]")
|
@ -1,6 +1,7 @@
|
||||
#!/usr/bin/python3
|
||||
# mari von steinkirch @2013
|
||||
# steinkirch at gmail
|
||||
#!/usr/bin/env python
|
||||
|
||||
|
||||
__author__ = "bt3"
|
||||
|
||||
|
||||
|
||||
@ -46,8 +47,8 @@ def remove_blank_lines():
|
||||
lines = read_data(filename)
|
||||
if lines:
|
||||
write_data(lines, filename)
|
||||
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
remove_blank_lines()
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user