From 7e00598b8f94ffd1fc1b0502e5ca12e1f59d1949 Mon Sep 17 00:00:00 2001 From: kuznetsovTD Date: Thu, 30 Apr 2026 23:54:08 +0300 Subject: [PATCH] [1] task 1 --- kuznetsovTD/docs/data_task1/Figure_1.png | Bin 0 -> 15102 bytes kuznetsovTD/docs/data_task1/Figure_2.png | Bin 0 -> 14988 bytes kuznetsovTD/docs/data_task1/Figure_3.png | Bin 0 -> 15251 bytes kuznetsovTD/docs/data_task1/Figure_4.png | Bin 0 -> 14824 bytes kuznetsovTD/docs/data_task1/Figure_5.png | Bin 0 -> 17671 bytes kuznetsovTD/docs/data_task1/Figure_6.png | Bin 0 -> 16549 bytes kuznetsovTD/docs/data_task1/results.csv | 91 ++++++++++++++++ kuznetsovTD/docs/report_1.docx | Bin 0 -> 119397 bytes kuznetsovTD/task1/__init__.py | 0 kuznetsovTD/task1/exp.py | 117 +++++++++++++++++++++ kuznetsovTD/task1/generator/__init__.py | 0 kuznetsovTD/task1/generator/randomnames.py | 52 +++++++++ kuznetsovTD/task1/plot.py | 49 +++++++++ kuznetsovTD/task1/structures/BinaryTree.py | 70 ++++++++++++ kuznetsovTD/task1/structures/HashTable.py | 49 +++++++++ kuznetsovTD/task1/structures/LinkedList.py | 51 +++++++++ kuznetsovTD/task1/structures/__init__.py | 0 17 files changed, 479 insertions(+) create mode 100644 kuznetsovTD/docs/data_task1/Figure_1.png create mode 100644 kuznetsovTD/docs/data_task1/Figure_2.png create mode 100644 kuznetsovTD/docs/data_task1/Figure_3.png create mode 100644 kuznetsovTD/docs/data_task1/Figure_4.png create mode 100644 kuznetsovTD/docs/data_task1/Figure_5.png create mode 100644 kuznetsovTD/docs/data_task1/Figure_6.png create mode 100644 kuznetsovTD/docs/data_task1/results.csv create mode 100644 kuznetsovTD/docs/report_1.docx create mode 100644 kuznetsovTD/task1/__init__.py create mode 100644 kuznetsovTD/task1/exp.py create mode 100644 kuznetsovTD/task1/generator/__init__.py create mode 100644 kuznetsovTD/task1/generator/randomnames.py create mode 100644 kuznetsovTD/task1/plot.py create mode 100644 kuznetsovTD/task1/structures/BinaryTree.py create mode 100644 kuznetsovTD/task1/structures/HashTable.py create mode 100644 kuznetsovTD/task1/structures/LinkedList.py create mode 100644 kuznetsovTD/task1/structures/__init__.py diff --git a/kuznetsovTD/docs/data_task1/Figure_1.png b/kuznetsovTD/docs/data_task1/Figure_1.png new file mode 100644 index 0000000000000000000000000000000000000000..47177e9e82175417825d51e80e0e3839c385e6f8 GIT binary patch literal 15102 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 literal 0 HcmV?d00001 diff --git a/kuznetsovTD/docs/data_task1/Figure_4.png b/kuznetsovTD/docs/data_task1/Figure_4.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b2f4cba58c7b509c42134dbe56a3e1842193bb GIT binary patch literal 14824 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 z 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 XA8eJmNk!Hx5!bJ3D&=1>fB3%uV!b<( literal 0 HcmV?d00001 diff --git a/kuznetsovTD/docs/data_task1/Figure_5.png b/kuznetsovTD/docs/data_task1/Figure_5.png new file mode 100644 index 0000000000000000000000000000000000000000..9676e76d793fcb46bd48236b05242b0081f8dcf3 GIT binary patch literal 17671 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

O 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 Cp$VP< literal 0 HcmV?d00001 diff --git a/kuznetsovTD/task1/__init__.py b/kuznetsovTD/task1/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/kuznetsovTD/task1/exp.py b/kuznetsovTD/task1/exp.py new file mode 100644 index 0000000..be6e3af --- /dev/null +++ b/kuznetsovTD/task1/exp.py @@ -0,0 +1,117 @@ +import time +import csv +import random + +from generator.randomnames import generate_dataset, name_pool + +from structures.LinkedList import ll_insert, ll_find, ll_delete +from structures.HashTable import ht_insert, ht_find, ht_delete +from structures.BinaryTree import bst_insert, bst_find, bst_delete + + +def build_search_set(): + return random.sample(name_pool, min(100, len(name_pool))) + [ + f"Fake_{i}" for i in range(10) + ] + + +def run_once(insert_f, find_f, delete_f, records, search_set, delete_set): + data = None + + # INSERT + start = time.perf_counter() + for name, phone in records: + data = insert_f(data, name, phone) + insert_time = time.perf_counter() - start + + # FIND + start = time.perf_counter() + for name in search_set: + find_f(data, name) + find_time = time.perf_counter() - start + + # DELETE + start = time.perf_counter() + for name in delete_set: + data = delete_f(data, name) + delete_time = time.perf_counter() - start + + return insert_time, find_time, delete_time + + +def run_all(): + results = [] + + structures = [ + ("LinkedList", ll_insert, ll_find, ll_delete), + ("HashTable", ht_insert, ht_find, ht_delete), + ("BST", bst_insert, bst_find, bst_delete) + ] + + for order_name, sorted_flag in [("shuffled", False), ("sorted", True)]: + + for struct_name, ins, fnd, dlt in structures: + + for run_id in range(5): + + print(f"{struct_name} | {order_name} | run {run_id + 1}") + + records = generate_dataset(10000, sorted_flag=sorted_flag) + + search_set = build_search_set() + delete_set = random.sample(name_pool, 50) + + insert_t, find_t, delete_t = run_once( + ins, fnd, dlt, + records, + search_set, + delete_set + ) + + results.append([ + struct_name, + order_name, + "insert", + run_id + 1, + insert_t + ]) + + results.append([ + struct_name, + order_name, + "find", + run_id + 1, + find_t + ]) + + results.append([ + struct_name, + order_name, + "delete", + run_id + 1, + delete_t + ]) + + return results + + +def save_csv(results): + with open("results.csv", "w", newline="") as f: + writer = csv.writer(f) + + writer.writerow([ + "Structure", + "Order", + "Operation", + "Run", + "Time" + ]) + + writer.writerows(results) + + +if __name__ == "__main__": + results = run_all() + save_csv(results) + + print("\nDONE -> results.csv created") \ No newline at end of file diff --git a/kuznetsovTD/task1/generator/__init__.py b/kuznetsovTD/task1/generator/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/kuznetsovTD/task1/generator/randomnames.py b/kuznetsovTD/task1/generator/randomnames.py new file mode 100644 index 0000000..70ca804 --- /dev/null +++ b/kuznetsovTD/task1/generator/randomnames.py @@ -0,0 +1,52 @@ +import random + + +name_pool = ( + "Ivan", "Maria", "Peter", "Anna", "Sergey", "Elena", "Alexey", "Olga", + "Dmitry", "Tatyana", "Mikhail", "Natalia", "Andrey", "Irina", "Nikolay", + "Svetlana", "Vladimir", "Ekaterina", "Alexander", "Yulia", "Pavel", "Kseniya", + "Victor", "Anastasia", "Artem", "Victoria", "Maxim", "Polina", "Daniil", + "Sofia", "Evgeny", "Alice", "Stanislav", "Daria", "Georgy", "Veronika", + "Kirill", "Margarita", "Timofey", "Arina", "Roman", "Valeria", "Igor", + "Alina", "Oleg", "Diana", "Yuri", "Milana", "Vasily", "Eva", "Nikita", + "Leonid", "Stepan", "Bogdan", "Gleb", "Matvey", "Arseny", "Denis", + "Anton", "Vladislav", "Rodion", "Semyon", "Fedor", "Zahar", "Mark", + "Lev", "Artyomiy", "Yaroslav", "Timur", "Ruslan", "Boris", "Vadim", + "Konstantin", "Gennady", "Pavel", "Ilya", "Egor", "Nazar", "Damir", + "Vsevolod", "Platon", "Savely", "Svyatoslav", "Miron", "Arkady", + "Yevgeny", "Emil", "Arthur", "Demyan", "Rinat", "Marat", "Farid", + "Rustam", "Ilshat", "Azamat", "Marcel", "Albert", "Eduard", "Viktor", "Rostislav", "Gennady", "Yegor", "Petr", "Zakhar", + "Saveliy", "Gavriil", "Nestor", "Ignat", "Prokhor", "Taras", + "Severin", "Luka", "Artyomiy", "Radion", "Demyan", "Yefim","Neo", "Max", "Leo", "Sam", "Alex", "John", "Markus", + "Kevin", "Daniel", "Robert", "James", "Michael", "David", + "Andrew", "Chris", "Brian", "Steven", "Eric", "Thomas", + "Ryan", "Justin", "Aaron", "Jason", "Nathan", "Luke" +) + + +fake_names = [ + "Zero", "Kopek", "Half", "Quarter", "Eighth", + "Pood", "Copper", "Silver", "Gold", "Ninth" +] + + +def generate_phone(length: int = 11) -> str: + start = 10 ** (length - 1) + end = (10 ** length) - 1 + return str(random.randint(start, end)) + + +def generate_dataset(size: int = 10000, sorted_flag: bool = False) -> list: + dataset = [ + (random.choice(name_pool), generate_phone()) + for _ in range(size) + ] + + if sorted_flag: + dataset.sort(key=lambda x: x[0]) + + return dataset + + +def generate_query_set() -> list: + return random.sample(name_pool, 100) + fake_names \ No newline at end of file diff --git a/kuznetsovTD/task1/plot.py b/kuznetsovTD/task1/plot.py new file mode 100644 index 0000000..877a870 --- /dev/null +++ b/kuznetsovTD/task1/plot.py @@ -0,0 +1,49 @@ +import csv +import matplotlib.pyplot as plt +from collections import defaultdict + + +file_path = "results.csv" + +data = defaultdict(lambda: defaultdict(lambda: defaultdict(list))) +# data[order][operation][structure] -> list of times + + +# читаем CSV +with open(file_path, "r") as f: + reader = csv.DictReader(f) + + for row in reader: + structure = row["Structure"] + order = row["Order"] + operation = row["Operation"] + time = float(row["Time"]) + + data[order][operation][structure].append(time) + + +def get_avg(order, operation, structure): + values = data[order][operation][structure] + return sum(values) / len(values) + + +def plot_hist(operation): + structures = ["LinkedList", "HashTable", "BST"] + orders = ["shuffled", "sorted"] + + for order in orders: + values = [get_avg(order, operation, s) for s in structures] + + plt.figure() + plt.bar(structures, values) + + plt.title(f"{operation.upper()} (order: {order})") + plt.ylabel("Time (seconds)") + + plt.show() + + +# 3 графика-гистограммы +plot_hist("insert") +plot_hist("find") +plot_hist("delete") \ No newline at end of file diff --git a/kuznetsovTD/task1/structures/BinaryTree.py b/kuznetsovTD/task1/structures/BinaryTree.py new file mode 100644 index 0000000..7de0a63 --- /dev/null +++ b/kuznetsovTD/task1/structures/BinaryTree.py @@ -0,0 +1,70 @@ +def bst_insert(root: dict | None, name: str, phone: str) -> dict: + if root is None: + return {'name': name, 'phone': phone, 'left': None, 'right': None} + + if name < root['name']: + root['left'] = bst_insert(root['left'], name, phone) + elif name > root['name']: + root['right'] = bst_insert(root['right'], name, phone) + else: + root['phone'] = phone + + return root + + +def bst_find(root: dict | None, name: str) -> str | None: + current = root + + while current is not None: + if name == current['name']: + return current['phone'] + elif name < current['name']: + current = current['left'] + else: + current = current['right'] + + return None + + +def _min_value(node: dict) -> dict: + while node['left'] is not None: + node = node['left'] + return node + + +def bst_delete(root: dict | None, name: str) -> dict | None: + if root is None: + return None + + if name < root['name']: + root['left'] = bst_delete(root['left'], name) + + elif name > root['name']: + root['right'] = bst_delete(root['right'], name) + + else: + + if root['left'] is None: + return root['right'] + if root['right'] is None: + return root['left'] + successor = _min_value(root['right']) + root['name'] = successor['name'] + root['phone'] = successor['phone'] + root['right'] = bst_delete(root['right'], successor['name']) + + return root + + +def bst_list_all(root: dict | None) -> list: + result = [] + + def walk(node: dict | None): + if node is None: + return + walk(node['left']) + result.append((node['name'], node['phone'])) + walk(node['right']) + + walk(root) + return result \ No newline at end of file diff --git a/kuznetsovTD/task1/structures/HashTable.py b/kuznetsovTD/task1/structures/HashTable.py new file mode 100644 index 0000000..ecd22d3 --- /dev/null +++ b/kuznetsovTD/task1/structures/HashTable.py @@ -0,0 +1,49 @@ +from structures.LinkedList import ll_insert, ll_find, ll_delete + + +def _hash_key(key: str, capacity: int) -> int: + acc = 0 + for ch in key: + acc = (acc * 31 + ord(ch)) % capacity + return acc + + +def ht_insert(storage: list | None, key: str, value: str, capacity: int = 50) -> list: + if storage is None: + storage = [None] * capacity + + idx = _hash_key(key, len(storage)) + storage[idx] = ll_insert(storage[idx], key, value) + return storage + + +def ht_find(storage: list | None, key: str) -> str | None: + if storage is None: + return None + + idx = _hash_key(key, len(storage)) + return ll_find(storage[idx], key) + + +def ht_delete(storage: list | None, key: str) -> list | None: + if storage is None: + return None + + idx = _hash_key(key, len(storage)) + storage[idx] = ll_delete(storage[idx], key) + return storage + + +def ht_list_all(storage: list | None) -> list: + if storage is None: + return [] + + result = [] + for chain in storage: + node = chain + while node is not None: + result.append((node['name'], node['phone'])) + node = node['next'] + + result.sort(key=lambda x: x[0]) + return result \ No newline at end of file diff --git a/kuznetsovTD/task1/structures/LinkedList.py b/kuznetsovTD/task1/structures/LinkedList.py new file mode 100644 index 0000000..6edeac5 --- /dev/null +++ b/kuznetsovTD/task1/structures/LinkedList.py @@ -0,0 +1,51 @@ +def ll_list_all(start: dict | None) -> list: + items = [] + node = start + while node is not None: + items.append((node['name'], node['phone'])) + node = node['next'] + items.sort(key=lambda x: x[0]) + return items + + +def ll_delete(start: dict | None, key: str) -> dict | None: + if start is None: + return None + + if start['name'] == key: + return start['next'] + + ptr = start + while ptr['next'] is not None: + if ptr['next']['name'] == key: + ptr['next'] = ptr['next']['next'] + return start + ptr = ptr['next'] + + return start + + +def ll_find(start: dict | None, key: str) -> str | None: + ptr = start + while ptr is not None: + if ptr['name'] == key: + return ptr['phone'] + ptr = ptr['next'] + return None + + +def ll_insert(start: dict | None, key: str, value: str) -> dict: + if start is None: + return {'name': key, 'phone': value, 'next': None} + + ptr = start + while True: + if ptr['name'] == key: + ptr['phone'] = value + return start + + if ptr['next'] is None: + ptr['next'] = {'name': key, 'phone': value, 'next': None} + return start + + ptr = ptr['next'] \ No newline at end of file diff --git a/kuznetsovTD/task1/structures/__init__.py b/kuznetsovTD/task1/structures/__init__.py new file mode 100644 index 0000000..e69de29 -- 2.43.0