diff --git a/VaravinVV/task1_1.py b/VaravinVV/task1_1.py index 8a5f41d..fcef729 100644 --- a/VaravinVV/task1_1.py +++ b/VaravinVV/task1_1.py @@ -1,4 +1,4 @@ -import random, time +import random, time, csv N = [] for n in range(10000): # вот сначала просят сгенерировать а потом 100 гарантированных имён ну ёмаё💀💀💀 @@ -6,12 +6,16 @@ for n in range(10000): # вот сначала просят сгенериров p = random.randint(10000000, 99999999) N.append((f"User_{i:05d}", str(p))) # как в примере кортежики брбрбр +#короче тупо в лоб, там всё равно вставка списка повторы не допускает (ну телефон обновится) +for i in range(100): + N.append((f"User_{i:05d}", str(f'{i:08d}'))) + def ll_insert(head, name, phone): + data = {'name' : name, 'phone' : phone, "next" : None} - if head is None: # я люблю делать бесполезные проверки + if head is None: return data - current = head while current: if current['name'] == name: @@ -36,7 +40,6 @@ def ll_find(head, name): def ll_delete(head, name): if head is None: return None - prev = head current = head['next'] while current: @@ -64,7 +67,26 @@ data_unsorted = None for name, phone in N: data_unsorted = ll_insert(data_unsorted, name, phone) end_time = time.perf_counter() -elapsed_time = end_time - start_time +elapsed_time_1_1 = end_time - start_time +start_time = time.perf_counter() data_sorted = ll_list_all(data_unsorted) +end_time = time.perf_counter() # правильно ли я сделал? навряд-ли +elapsed_time_1_2 = end_time - start_time +#2 - по поиску +start_time = time.perf_counter() +for i in range(100): + ll_find(data_unsorted, f'User_{i:05d}') +for i in range(10): + ll_find(data_unsorted, f'None_{i:05d}') +end_time = time.perf_counter() +elapsed_time_2_1 = end_time - start_time + +start_time = time.perf_counter() +for i in range(100): + ll_find(data_sorted, f'User_{i:05d}') +for i in range(10): + ll_find(data_sorted, f'None_{i:05d}') +end_time = time.perf_counter() +elapsed_time_2_2 = end_time - start_time