updated lab5 and 6
This commit is contained in:
		
							parent
							
								
									13bcfbbafd
								
							
						
					
					
						commit
						fefb795f80
					
				
					 2 changed files with 4 additions and 4 deletions
				
			
		|  | @ -12,7 +12,7 @@ def hash_gen(s: str, h: int, mult: int): | ||||||
|             cur ^= (cur >> 16) |             cur ^= (cur >> 16) | ||||||
|             cur = (cur * 0x85ebca6b) & MASK32 |             cur = (cur * 0x85ebca6b) & MASK32 | ||||||
|             cur ^= (cur >> 13) |             cur ^= (cur >> 13) | ||||||
|             print(f"String: {s!r}  Hash: {cur:#010x}") |             print(f"Hash: {cur:#010x}") | ||||||
|             h = cur |             h = cur | ||||||
|             time.sleep(2) |             time.sleep(2) | ||||||
|     except KeyboardInterrupt: |     except KeyboardInterrupt: | ||||||
|  |  | ||||||
|  | @ -7,12 +7,12 @@ def ds_gen(dsize): | ||||||
|     """Generate random strings dataset""" |     """Generate random strings dataset""" | ||||||
|     dataset = [] |     dataset = [] | ||||||
|     for _ in range(dsize): |     for _ in range(dsize): | ||||||
|         length = random.randint(10, 50) |         length = random.randint(500000, 1000000) | ||||||
|         random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=length)) |         random_string = ''.join(random.choices(string.ascii_letters + string.digits, k=length)) | ||||||
|         dataset.append(random_string) |         dataset.append(random_string) | ||||||
|     return dataset |     return dataset | ||||||
| 
 | 
 | ||||||
| def hash_benchmark(dataset, hash_func, hash_name): | def hash_benchmark(dataset, hash_func): | ||||||
|     """Benchmark hashing function and detect collisions""" |     """Benchmark hashing function and detect collisions""" | ||||||
|     start_time = time.time() |     start_time = time.time() | ||||||
|     hashes = {} |     hashes = {} | ||||||
|  | @ -43,7 +43,7 @@ def main(): | ||||||
|     print(f"Testing with {len(dataset)} strings\n") |     print(f"Testing with {len(dataset)} strings\n") | ||||||
|      |      | ||||||
|     for hash_func, name in hash_functions: |     for hash_func, name in hash_functions: | ||||||
|         time_taken, collision_count, collisions = hash_benchmark(dataset, hash_func, name) |         time_taken, collision_count, collisions = hash_benchmark(dataset, hash_func) | ||||||
|         print(f"{name}:") |         print(f"{name}:") | ||||||
|         print(f"  Time: {time_taken:.6f} seconds") |         print(f"  Time: {time_taken:.6f} seconds") | ||||||
|         print(f"  Collisions: {collision_count}") |         print(f"  Collisions: {collision_count}") | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue