Add trees and hash table stuff

This commit is contained in:
askiiart 2024-03-11 17:44:38 -05:00
parent f8b2dca3a3
commit a63f6add94
Signed by untrusted user who does not match committer: askiiart
GPG key ID: BC3800E55FB54D67
7 changed files with 257 additions and 3 deletions

View file

@ -0,0 +1,20 @@
import sys
initial = int(sys.argv[-4])
multiplier = int(sys.argv[-3])
size = int(sys.argv[-2])
string = sys.argv[-1]
def multiplicative_string_hash(string):
string_hash = initial
hash_multiplier = multiplier
for character in string:
string_hash *= hash_multiplier
string_hash += ord(character)
return string_hash % size
print(multiplicative_string_hash(string))

View file

@ -0,0 +1,24 @@
import sys
size = int(sys.argv[-5])
num = int(sys.argv[-4])
var_1 = int(sys.argv[-3])
var_2 = int(sys.argv[-2])
i = int(sys.argv[-1])
def quadratic():
h = num % size
return (h + (var_1 * i) + (var_2 * i * i)) % size
def mod_size():
return num % size
def h2():
return var_2 - (num % var_2)
def combined():
return (mod_size() + (i * h2())) % size
func = combined
print(func())