School Commit Init

This commit is contained in:
2024-08-31 12:07:21 +03:00
commit 0b130ee18c
2801 changed files with 4720552 additions and 0 deletions
@@ -0,0 +1,67 @@
"""
Created on Jan 10, 2017
@author: Arthur
"""
import time
from texttable import *
def generate_test(array, dim):
if len(array) == dim:
# print (array)
pass
if len(array) > dim:
return
array.append(0)
for i in range(0, dim):
array[-1] = i
generate_test(array[:], dim)
def backtracking_iter(dim: int):
array = [-1] # candidate solution
while len(array) > 0:
chosen = False
while not chosen and array[-1] < dim - 1:
array[-1] = array[-1] + 1 # increase the last component
chosen = len(set(array)) == len(array)
if chosen:
if len(array) == dim:
print(array)
array.append(-1) # expand candidate solution
else:
array = array[:-1] # go back one component
def backtracking_rec(array, dim):
if len(array) == dim:
print(array)
if len(array) > dim:
return
array.append(0)
for i in range(0, dim):
array[-1] = i
if len(set(array)) == len(array):
backtracking_rec(array, dim)
array.pop()
'''
And here we build our experiment
'''
functions = [generate_test, backtracking_rec]
data_sizes = [3, 4, 5, 6, 7]
t = Texttable()
t.add_row(['Functions'] + data_sizes)
for function in functions:
row = [function.__name__]
for size in data_sizes:
t1 = time.perf_counter()
function([], size)
t2 = time.perf_counter()
row = row + [t2 - t1]
t.add_row(row)
print(t.draw())