From 3954dd5218acb2369d77a8d9e63b5af30d9c7b8d Mon Sep 17 00:00:00 2001 From: LukovnikovDE Date: Fri, 10 Apr 2026 02:12:51 +0300 Subject: [PATCH 01/60] initial commit --- lukovnikovde/docs/data/data-structure.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/docs/data/data-structure.py diff --git a/lukovnikovde/docs/data/data-structure.py b/lukovnikovde/docs/data/data-structure.py new file mode 100644 index 0000000..e69de29 From 8b4083725bd888a2d80574be505fea3bd6849f54 Mon Sep 17 00:00:00 2001 From: LukovnikovDE Date: Fri, 10 Apr 2026 02:39:05 +0300 Subject: [PATCH 02/60] [0] initial commit --- lukovnikovde/docs/data/{data-structure.py => DataStructure.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lukovnikovde/docs/data/{data-structure.py => DataStructure.py} (100%) diff --git a/lukovnikovde/docs/data/data-structure.py b/lukovnikovde/docs/data/DataStructure.py similarity index 100% rename from lukovnikovde/docs/data/data-structure.py rename to lukovnikovde/docs/data/DataStructure.py From 2f56564cd9501983bb6c64dfc556e1f21cddec40 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 10 Apr 2026 04:26:53 +0000 Subject: [PATCH 03/60] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20lukovnikovde/docs/data/DataStructure.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [0] add a function ll_insert --- lukovnikovde/docs/data/DataStructure.py | 33 +++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index e69de29..dae6e2c 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -0,0 +1,33 @@ +import random as rnd +############################################################################################# +head = None + +def ll_insert(head, name, phone): + next_node = {'name': name, 'phone': phone, 'next': None} + if head is None: return next_node + + running = head + while running is not None: + if running['name'] == name: + running['phone'] = phone + return head + running = running['next'] + + running = head + while running['next'] is not None: running = running['next'] + running['next'] = next_node + return head + +print('======== TESTING LL_INSERT ==========') +Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] + +for _ in range(10): + name = Name[rnd.randint(0, 3)] + phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + print(name, phone) + head = ll_insert(head, name, phone) + print(head) + print('-----------------------------------\n') + +print('======== END TESTING ================') From e9dc413227becd2d3cccdbd59ec67f57035dcace Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 22 Apr 2026 13:55:50 +0000 Subject: [PATCH 04/60] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20lukovnikovde/docs/data/DataStructure.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [2] adding ll_find --- lukovnikovde/docs/data/DataStructure.py | 56 +++++++++++++++++++------ 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index dae6e2c..7f9e38a 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -1,6 +1,5 @@ import random as rnd ############################################################################################# -head = None def ll_insert(head, name, phone): next_node = {'name': name, 'phone': phone, 'next': None} @@ -18,16 +17,49 @@ def ll_insert(head, name, phone): running['next'] = next_node return head -print('======== TESTING LL_INSERT ==========') -Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] +def ll_find(head, name): + running = head + flag = True + + while flag: + if running['name'] == name: + return running['phone'] + running = running['next'] + flag = running is not None + + return None + + + +def main(): + + head = None + + print('======== TESTING LL_INSERT ==========') + Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] + + for _ in range(10): + name = Name[rnd.randint(0, 3)] + phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + print(name, phone) + head = ll_insert(head, name, phone) + print(head) + print('-----------------------------------\n') + print('======== END TESTING ================') + + + print('======== TESTING LL_FIND ==========') + Name.append('Masha') + for i in range(len(Name)): + name = Name[i] + print(name, ":", ll_find(head, name)) + print("======== END TESTING =============") + + +if __name__ == "__main__": + main() + + -for _ in range(10): - name = Name[rnd.randint(0, 3)] - phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ - str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) - print(name, phone) - head = ll_insert(head, name, phone) - print(head) - print('-----------------------------------\n') -print('======== END TESTING ================') From 5831480b1bc4f29f5025e62708e43dffa859f9a4 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 22 Apr 2026 14:02:37 +0000 Subject: [PATCH 05/60] [1] adding ll_insert(...) --- lukovnikovde/docs/data/DataStructure.py | 56 ++++++------------------- 1 file changed, 12 insertions(+), 44 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 7f9e38a..b6dd66a 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -1,5 +1,6 @@ import random as rnd ############################################################################################# +head = None def ll_insert(head, name, phone): next_node = {'name': name, 'phone': phone, 'next': None} @@ -17,49 +18,16 @@ def ll_insert(head, name, phone): running['next'] = next_node return head -def ll_find(head, name): - running = head - flag = True - - while flag: - if running['name'] == name: - return running['phone'] - running = running['next'] - flag = running is not None - - return None - - - -def main(): - - head = None - - print('======== TESTING LL_INSERT ==========') - Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] - - for _ in range(10): - name = Name[rnd.randint(0, 3)] - phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ - str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) - print(name, phone) - head = ll_insert(head, name, phone) - print(head) - print('-----------------------------------\n') - print('======== END TESTING ================') - - - print('======== TESTING LL_FIND ==========') - Name.append('Masha') - for i in range(len(Name)): - name = Name[i] - print(name, ":", ll_find(head, name)) - print("======== END TESTING =============") - - -if __name__ == "__main__": - main() - - +print('======== TESTING LL_INSERT ==========') +Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] +for _ in range(10): + name = Name[rnd.randint(0, 3)] + phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + print(name, phone) + head = ll_insert(head, name, phone) + print(head) + print('-----------------------------------\n') +print('======== END TESTING ================') \ No newline at end of file From ace43f35b0abcacd339bbc7e08d0f4e972cf6b7b Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 22 Apr 2026 14:04:25 +0000 Subject: [PATCH 06/60] [2] adding ll_find --- lukovnikovde/docs/data/DataStructure.py | 56 +++++++++++++++++++------ 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index b6dd66a..7f9e38a 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -1,6 +1,5 @@ import random as rnd ############################################################################################# -head = None def ll_insert(head, name, phone): next_node = {'name': name, 'phone': phone, 'next': None} @@ -18,16 +17,49 @@ def ll_insert(head, name, phone): running['next'] = next_node return head -print('======== TESTING LL_INSERT ==========') -Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] +def ll_find(head, name): + running = head + flag = True + + while flag: + if running['name'] == name: + return running['phone'] + running = running['next'] + flag = running is not None + + return None + + + +def main(): + + head = None + + print('======== TESTING LL_INSERT ==========') + Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] + + for _ in range(10): + name = Name[rnd.randint(0, 3)] + phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + print(name, phone) + head = ll_insert(head, name, phone) + print(head) + print('-----------------------------------\n') + print('======== END TESTING ================') + + + print('======== TESTING LL_FIND ==========') + Name.append('Masha') + for i in range(len(Name)): + name = Name[i] + print(name, ":", ll_find(head, name)) + print("======== END TESTING =============") + + +if __name__ == "__main__": + main() + + -for _ in range(10): - name = Name[rnd.randint(0, 3)] - phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ - str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) - print(name, phone) - head = ll_insert(head, name, phone) - print(head) - print('-----------------------------------\n') -print('======== END TESTING ================') \ No newline at end of file From 95d00a8942fae4b71fd2fa27061850ec7182e0c4 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 22 Apr 2026 16:50:01 +0000 Subject: [PATCH 07/60] [3] adding ll_delete() --- lukovnikovde/docs/data/DataStructure.py | 35 ++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 7f9e38a..43a99da 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -19,17 +19,37 @@ def ll_insert(head, name, phone): def ll_find(head, name): running = head - flag = True - while flag: + while True: if running['name'] == name: return running['phone'] running = running['next'] - flag = running is not None + if running is None: break return None +def ll_delete(head, name): + running = head + + if running['name'] == name: + return head['next'] + + while running['next']['name'] != name: + running = running['next'] + if running['next']['next'] is None: + if running['next']['name'] != name: + return head + if running['next']['next'] is None: + running['next'] = None + else: running['next'] = running['next']['next'] + + return head + + + + + def main(): @@ -56,6 +76,15 @@ def main(): print(name, ":", ll_find(head, name)) print("======== END TESTING =============") + print('========== TESTING LL_DELETE ==========') + + for _ in range(2): + name = Name[rnd.randint(0, 4)] + head = ll_delete(head, name) + + print(head) + print(name, ":", ll_find(head, name)) + print("========= END TESTING ==============") if __name__ == "__main__": main() From 4faacbc4eddca06ff0966cdd1032d06d618aa6d2 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 08:09:09 +0000 Subject: [PATCH 08/60] [4] adding ll_list_all() and sort_list() --- lukovnikovde/docs/data/DataStructure.py | 26 +++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 43a99da..6e49563 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -47,9 +47,22 @@ def ll_delete(head, name): return head - - +def ll_list_all(head): + name_list = [] + running = head + while running is not None: + name_list.append([running['name'], running['phone']]) + running = running['next'] + return name_list +def sort_list(name_list): + l = len(name_list) + for i in range(l - 1): + for j in range(l - i - 1): + if name_list[j][0] > name_list[j + 1][0]: + name_list[j][0], name_list[j + 1][0] = name_list[j + 1][0], name_list[j][0] + return name_list + def main(): @@ -76,6 +89,10 @@ def main(): print(name, ":", ll_find(head, name)) print("======== END TESTING =============") + print("============ TESTING LL_LIST_ALL AND SORT_LIST =============") + print(*sort_list(ll_list_all(head))) + print("============ END TESTING ===============") + print('========== TESTING LL_DELETE ==========') for _ in range(2): @@ -86,6 +103,11 @@ def main(): print(name, ":", ll_find(head, name)) print("========= END TESTING ==============") + + + + + if __name__ == "__main__": main() From 6dba583f2c70d04eb0bcbba753185ad04f58f8a3 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 13:48:41 +0000 Subject: [PATCH 09/60] [5] adding ht_insert() --- lukovnikovde/docs/data/DataStructure.py | 54 ++++++++++++++++++++----- 1 file changed, 43 insertions(+), 11 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 6e49563..d04d2a1 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -64,22 +64,22 @@ def sort_list(name_list): return name_list -def main(): - head = None +########################################################################################################################### +def LinkedList(head): print('======== TESTING LL_INSERT ==========') - Name = ['Dima', 'Ivan', 'Maxim', 'Alex'] + Name = ['Dima', 'Ivan', 'Maxim', 'Alex', 'Olga', 'Lena'] for _ in range(10): - name = Name[rnd.randint(0, 3)] + name = Name[rnd.randint(0, len(Name) - 1)] phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) print(name, phone) head = ll_insert(head, name, phone) print(head) print('-----------------------------------\n') - print('======== END TESTING ================') + print('======== END TESTING ================\n\n') print('======== TESTING LL_FIND ==========') @@ -87,11 +87,11 @@ def main(): for i in range(len(Name)): name = Name[i] print(name, ":", ll_find(head, name)) - print("======== END TESTING =============") + print("======== END TESTING =============\n\n") print("============ TESTING LL_LIST_ALL AND SORT_LIST =============") print(*sort_list(ll_list_all(head))) - print("============ END TESTING ===============") + print("============ END TESTING ===============\n\n") print('========== TESTING LL_DELETE ==========') @@ -101,12 +101,44 @@ def main(): print(head) print(name, ":", ll_find(head, name)) - print("========= END TESTING ==============") - - - + print("========= END TESTING ==============\n\n") + +######################################################################################################### + +def ht_insert(head, name, phone): + + running = head + if running is None: + return {name: phone} + running[name] = phone + return head + + +#################################################################################################### + +def HashTable(head): + + print('=========== TESTING HT_INSERT =============') + Name = ['Dima', 'Alex', 'Ivan', 'Maxim', 'Olga', 'Lena'] + + for _ in range(10): + name = Name[rnd.randint(0, len(Name) - 1)] + phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + + print(name, phone) + head = ht_insert(head, name, phone) + print(head) + print('-----------------------------------------------------\n') + + print('============= END TESTING =====================\n\n') +################################################################################################# +def main(): + + LinkedList(None) + HashTable(None) if __name__ == "__main__": main() From 289171aac593a77ebb6b24660aae6c2b3b48f162 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 14:59:57 +0000 Subject: [PATCH 10/60] [6] correction ht_insert() --- lukovnikovde/docs/data/DataStructure.py | 45 +++++++++++++++---------- 1 file changed, 27 insertions(+), 18 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index d04d2a1..4a1d15b 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -1,6 +1,17 @@ import random as rnd ############################################################################################# +def sort_list(name_list): + l = len(name_list) + for i in range(l - 1): + for j in range(l - i - 1): + if name_list[j][0] > name_list[j + 1][0]: + name_list[j][0], name_list[j + 1][0] = name_list[j + 1][0], name_list[j][0] + return name_list + + +########################################################################################################################### + def ll_insert(head, name, phone): next_node = {'name': name, 'phone': phone, 'next': None} if head is None: return next_node @@ -55,17 +66,9 @@ def ll_list_all(head): running = running['next'] return name_list -def sort_list(name_list): - l = len(name_list) - for i in range(l - 1): - for j in range(l - i - 1): - if name_list[j][0] > name_list[j + 1][0]: - name_list[j][0], name_list[j + 1][0] = name_list[j + 1][0], name_list[j][0] - return name_list - +################################################################################################################################ -########################################################################################################################### def LinkedList(head): print('======== TESTING LL_INSERT ==========') @@ -105,14 +108,14 @@ def LinkedList(head): ######################################################################################################### -def ht_insert(head, name, phone): - - running = head - if running is None: - return {name: phone} - running[name] = phone - return head - +def ht_insert(buckest, name, phone): + index = sum(ord(ch) for ch in name) % 10 + for i, (Name, Phone) in enumerate(buckest[index]): + if Name == name: + buckest[index][i] = (name, phone) + return buckest + buckest[index].append((name, phone)) + return buckest #################################################################################################### @@ -133,12 +136,18 @@ def HashTable(head): print('============= END TESTING =====================\n\n') +""" Name.append('Masha') + for i in range(len(Name)): + name = Name[i] + print(name, ":", ht_find(head, name)) + print("======== END TESTING =============\n\n") +""" ################################################################################################# def main(): LinkedList(None) - HashTable(None) + HashTable([[] for _ in range(10)]) if __name__ == "__main__": main() From ddaef4333a3750d0b58d4dac2628bd059a6d6e33 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 15:22:46 +0000 Subject: [PATCH 11/60] [7] adding ht_find() and ht_list_all --- lukovnikovde/docs/data/DataStructure.py | 42 ++++++++++++++++++++----- 1 file changed, 34 insertions(+), 8 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 4a1d15b..f07d238 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -6,7 +6,7 @@ def sort_list(name_list): for i in range(l - 1): for j in range(l - i - 1): if name_list[j][0] > name_list[j + 1][0]: - name_list[j][0], name_list[j + 1][0] = name_list[j + 1][0], name_list[j][0] + name_list[j], name_list[j + 1] = name_list[j + 1], name_list[j] return name_list @@ -62,7 +62,7 @@ def ll_list_all(head): name_list = [] running = head while running is not None: - name_list.append([running['name'], running['phone']]) + name_list.append((running['name'], running['phone'])) running = running['next'] return name_list @@ -117,9 +117,27 @@ def ht_insert(buckest, name, phone): buckest[index].append((name, phone)) return buckest +def ht_find(buckest, name): + index = sum(ord(ch) for ch in name) % 10 + for (Name, Phone) in buckest[index]: + if Name == name: + return Phone + return None + +def ht_list_all(buckest): + + name_list = [] + + for index in range(len(buckest)): + for i, (name, phone) in enumerate(buckest[index]): + name_list.append((name, phone)) + + name_list = sort_list(name_list) + + return name_list #################################################################################################### -def HashTable(head): +def HashTable(buckest): print('=========== TESTING HT_INSERT =============') Name = ['Dima', 'Alex', 'Ivan', 'Maxim', 'Olga', 'Lena'] @@ -130,18 +148,26 @@ def HashTable(head): str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) print(name, phone) - head = ht_insert(head, name, phone) - print(head) + buckest = ht_insert(buckest, name, phone) + print(buckest) print('-----------------------------------------------------\n') print('============= END TESTING =====================\n\n') -""" Name.append('Masha') + + print('============== TESTING HT_FIND =====================') + + Name.append('Masha') for i in range(len(Name)): name = Name[i] - print(name, ":", ht_find(head, name)) + print(name, ":", ht_find(buckest, name)) print("======== END TESTING =============\n\n") -""" + + print("================ TESTING TH_LIST_ALL ====================") + + print(*ht_list_all(buckest)) + + print() ################################################################################################# def main(): From 6cbe3dc4390e1a361e343125ceae21b70a21979d Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 15:36:41 +0000 Subject: [PATCH 12/60] [8] adding ht_delete() --- lukovnikovde/docs/data/DataStructure.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index f07d238..f26e6bb 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -135,6 +135,16 @@ def ht_list_all(buckest): name_list = sort_list(name_list) return name_list + + +def ht_delete(buckest, name): + index = sum(ord(ch) for ch in name) % 10 + for i, (Name, Phone) in enumerate(buckest[index]): + if Name == name: + del buckest[index][i] + return buckest + + #################################################################################################### def HashTable(buckest): @@ -166,8 +176,18 @@ def HashTable(buckest): print("================ TESTING TH_LIST_ALL ====================") print(*ht_list_all(buckest)) + print("========= END TESTING ==============\n\n") + + + print('========== TESTING HT_DELETE ==========') - print() + for _ in range(2): + name = Name[rnd.randint(0, len(Name) - 1)] + head = ht_delete(buckest, name) + + print(buckest) + print(name, ":", ht_find(buckest, name)) + print("========= END TESTING ==============\n\n") ################################################################################################# def main(): From 6849fc48026677742de0c0552729c110c44ca290 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 16:26:24 +0000 Subject: [PATCH 13/60] [9] adding bst_insert() --- lukovnikovde/docs/data/DataStructure.py | 49 +++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index f26e6bb..89fbb81 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -190,10 +190,59 @@ def HashTable(buckest): print("========= END TESTING ==============\n\n") ################################################################################################# + +def bst_insert(root, name, phone): + + running = root + + if running is None: + root = {'name': name, 'phone': phone, 'left': None, 'right': None} + return root + while True: + node = sum(ord(ch) for ch in running['name']) + sheet = sum(ord(ch) for ch in name) + if node < sheet: + if running['right'] is None: + running['right'] = {'name': name, 'phone': phone, 'left': None, 'right': None} + return root + running = running['right'] + elif node > sheet: + if running['left'] is None: + running['left'] = {'name': name, 'phone': phone, 'left': None, 'right': None} + return root + running = running['left'] + else: + running['phone'] = phone + return root + + + +################################################################################################# + +def BinarySearchTree(root): + + print('=========== TESTING BST_INSERT =============') + Name = ['Dima', 'Alex', 'Ivan', 'Maxim', 'Olga', 'Lena'] + + for _ in range(10): + name = Name[rnd.randint(0, len(Name) - 1)] + phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + + print(name, phone) + root = bst_insert(root, name, phone) + print(root) + print('-----------------------------------------------------\n') + + print('============= END TESTING =====================\n\n') + + +################################################################################################ def main(): LinkedList(None) HashTable([[] for _ in range(10)]) + BinarySearchTree(None) if __name__ == "__main__": main() From b647f5af598532432ada1eec18bf8ae34eab01e1 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 1 May 2026 16:47:22 +0000 Subject: [PATCH 14/60] [10] adding bst_find() --- lukovnikovde/docs/data/DataStructure.py | 36 +++++++++++++++++++++---- 1 file changed, 31 insertions(+), 5 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 89fbb81..193f834 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -9,6 +9,11 @@ def sort_list(name_list): name_list[j], name_list[j + 1] = name_list[j + 1], name_list[j] return name_list +def hash_key(name): + h_key = sum(ord(ch) for ch in name) + return h_key + + ########################################################################################################################### @@ -109,7 +114,7 @@ def LinkedList(head): ######################################################################################################### def ht_insert(buckest, name, phone): - index = sum(ord(ch) for ch in name) % 10 + index = hash_key(name) % 10 for i, (Name, Phone) in enumerate(buckest[index]): if Name == name: buckest[index][i] = (name, phone) @@ -118,7 +123,7 @@ def ht_insert(buckest, name, phone): return buckest def ht_find(buckest, name): - index = sum(ord(ch) for ch in name) % 10 + index = hash_key(name) % 10 for (Name, Phone) in buckest[index]: if Name == name: return Phone @@ -138,7 +143,7 @@ def ht_list_all(buckest): def ht_delete(buckest, name): - index = sum(ord(ch) for ch in name) % 10 + index = hash_key(name) % 10 for i, (Name, Phone) in enumerate(buckest[index]): if Name == name: del buckest[index][i] @@ -199,8 +204,8 @@ def bst_insert(root, name, phone): root = {'name': name, 'phone': phone, 'left': None, 'right': None} return root while True: - node = sum(ord(ch) for ch in running['name']) - sheet = sum(ord(ch) for ch in name) + node = shash_key(running['name']) + sheet = hash_key(name) if node < sheet: if running['right'] is None: running['right'] = {'name': name, 'phone': phone, 'left': None, 'right': None} @@ -215,8 +220,21 @@ def bst_insert(root, name, phone): running['phone'] = phone return root +def bst_find(root, name): + running = root + while running is not None: + node = hash_key(running['name']) + sheet = hadh_key(name) + if name == running['name']: + return running['phone'] + elif node < sheet: + running = running['right'] + else: + running = running['left'] + + return None ################################################################################################# def BinarySearchTree(root): @@ -236,6 +254,14 @@ def BinarySearchTree(root): print('============= END TESTING =====================\n\n') + print('============== TESTING BST_FIND =====================') + + Name.append('Masha') + for i in range(len(Name)): + name = Name[i] + print(name, ":", bst_find(root, name)) + print("======== END TESTING =============\n\n") + ################################################################################################ def main(): From cf54fc49318f888b3f3906f61988c8e05d82da5e Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sat, 2 May 2026 09:58:29 +0000 Subject: [PATCH 15/60] [11] adding bst_delete() and bst_list_all --- lukovnikovde/docs/data/DataStructure.py | 75 ++++++++++++++++++++++++- 1 file changed, 72 insertions(+), 3 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 193f834..6c578c4 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -188,7 +188,7 @@ def HashTable(buckest): for _ in range(2): name = Name[rnd.randint(0, len(Name) - 1)] - head = ht_delete(buckest, name) + buckest = ht_delete(buckest, name) print(buckest) print(name, ":", ht_find(buckest, name)) @@ -204,7 +204,7 @@ def bst_insert(root, name, phone): root = {'name': name, 'phone': phone, 'left': None, 'right': None} return root while True: - node = shash_key(running['name']) + node = hash_key(running['name']) sheet = hash_key(name) if node < sheet: if running['right'] is None: @@ -226,7 +226,7 @@ def bst_find(root, name): while running is not None: node = hash_key(running['name']) - sheet = hadh_key(name) + sheet = hash_key(name) if name == running['name']: return running['phone'] elif node < sheet: @@ -235,6 +235,58 @@ def bst_find(root, name): running = running['left'] return None + +def bst_list_all(root, name_list = []): + if root is None: + return + name_list.append((root['name'], root['phone'])) + bst_list_all(root['left'], name_list) + bst_list_all(root['right'], name_list) + name_list = sort_list(name_list) + return name_list + +def bst_delete(root, name): + + running = root + + while running is not None: + node = hash_key(running['name']) + sheet = hash_key(name) + if name == running['name']: + + break + elif node < sheet: + old_running = running + flag = 1 + running = running['right'] + else: + old_running = running + flag = 0 + running = running['left'] + + step = ['left', 'right'] + + if running['left'] is None: + old_running[step[flag]] = running['right'] + return root + + if running['right'] is None: + old_running[step[flag]] = running['left'] + return root + + node_delete = running + old_running = running + running = running['right'] + while running['left'] is not None: + old_running = running + running = running['left'] + + node_delete['name'] = running['name'] + node_delete['phone'] = running['phone'] + old_running['left'] = None + + return root + ################################################################################################# def BinarySearchTree(root): @@ -261,6 +313,23 @@ def BinarySearchTree(root): name = Name[i] print(name, ":", bst_find(root, name)) print("======== END TESTING =============\n\n") + + + print('===================== TESTING BST_LIST_ALL =============') + name_list = bst_list_all(root) + print(*name_list) + print("======== END TESTING =============\n\n") + + + print('========== TESTING HT_DELETE ==========') + + for _ in range(2): + name = Name[rnd.randint(0, len(Name) - 1)] + root = bst_delete(root, name) + + print(root) + print(name, ":", bst_find(root, name)) + print("========= END TESTING ==============\n\n") ################################################################################################ From f9461cd0103aefaeaeb85f52e39c880d8a11dc9a Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sat, 2 May 2026 10:08:46 +0000 Subject: [PATCH 16/60] [0] initial commit --- lukovnikovde/docs/data/results.csv | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/docs/data/results.csv diff --git a/lukovnikovde/docs/data/results.csv b/lukovnikovde/docs/data/results.csv new file mode 100644 index 0000000..e69de29 From a9d5835d7f9f040a2191750af42e3fd0d4c48183 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sat, 2 May 2026 11:22:33 +0000 Subject: [PATCH 17/60] [12] adding time for LinkedList --- lukovnikovde/docs/data/DataStructure.py | 109 ++++++++++++++++-------- 1 file changed, 72 insertions(+), 37 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 6c578c4..eb33ffb 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -1,4 +1,5 @@ import random as rnd +import time ############################################################################################# def sort_list(name_list): @@ -13,8 +14,10 @@ def hash_key(name): h_key = sum(ord(ch) for ch in name) return h_key - - +def create_name_phone(i): + name = f"User_{i:03d}" + phone = f"{rnd.randint(100, 999)}-{rnd.randint(100, 999)}" + return (name, phone) ########################################################################################################################### def ll_insert(head, name, phone): @@ -74,42 +77,40 @@ def ll_list_all(head): ################################################################################################################################ -def LinkedList(head): +def LinkedList(head, phone_book): - print('======== TESTING LL_INSERT ==========') - Name = ['Dima', 'Ivan', 'Maxim', 'Alex', 'Olga', 'Lena'] + start_insert = time.perf_counter() + for i in range(len(phone_book)): - for _ in range(10): - name = Name[rnd.randint(0, len(Name) - 1)] - phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ - str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) - print(name, phone) - head = ll_insert(head, name, phone) - print(head) - print('-----------------------------------\n') - print('======== END TESTING ================\n\n') + head = ll_insert(head, phone_book[i][0], phone_book[i][1]) + #print(head) + end_insert = time.perf_counter() + time_insert = end_insert - start_insert - - print('======== TESTING LL_FIND ==========') - Name.append('Masha') - for i in range(len(Name)): - name = Name[i] - print(name, ":", ll_find(head, name)) - print("======== END TESTING =============\n\n") - - print("============ TESTING LL_LIST_ALL AND SORT_LIST =============") - print(*sort_list(ll_list_all(head))) - print("============ END TESTING ===============\n\n") - - print('========== TESTING LL_DELETE ==========') + start_find = time.perf_counter() + for _ in range(100): + name = create_name_phone(rnd.randint(0, 999))[0] + #print(name, ":", ll_find(head, name)) + end_find = time.perf_counter() + time_find = end_find - start_find - for _ in range(2): - name = Name[rnd.randint(0, 4)] + + start_delete = time.perf_counter() + for i in range(110): + if i <= 99: name = f"User_{rnd.randint(0,999):03d}" + else: name = f"None_{i:03d}" head = ll_delete(head, name) - - print(head) - print(name, ":", ll_find(head, name)) - print("========= END TESTING ==============\n\n") + end_delete = time.perf_counter() + time_delete = end_delete - start_delete + + + start_list = time.perf_counter() + name_list = sort_list(ll_list_all(head)) + #print(*name_list) + end_list = time.perf_counter() + time_list = end_list - start_list + + return (time_insert, time_find, time_delete, time_list) ######################################################################################################### @@ -248,8 +249,9 @@ def bst_list_all(root, name_list = []): def bst_delete(root, name): running = root + old_running = running - while running is not None: + while old_running is not None: node = hash_key(running['name']) sheet = hash_key(name) if name == running['name']: @@ -265,6 +267,10 @@ def bst_delete(root, name): running = running['left'] step = ['left', 'right'] + + if running['left'] is None and running['right'] is None: + old_running = None + return root if running['left'] is None: old_running[step[flag]] = running['right'] @@ -335,9 +341,38 @@ def BinarySearchTree(root): ################################################################################################ def main(): - LinkedList(None) - HashTable([[] for _ in range(10)]) - BinarySearchTree(None) + phone_book = [] + for i in range(1000): + phone_book.append(create_name_phone(i)) + for _ in range(9000): + phone_book.append(create_name_phone(rnd.randint(0, 999))) + + phone_book_not_sorted = phone_book.copy() + rnd.shuffle(phone_book_not_sorted) + + phone_book_sorted = phone_book.copy() + phone_book_sorted = sort_list(phone_book_sorted) + replay = 10 + + + Time_ll_not_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + Time_ll_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + + for _ in range(replay): + time_ll_not_sorted = LinkedList(None, phone_book_not_sorted) + for i, key in enumerate(Time_ll_not_sorted): + Time_ll_not_sorted[key] += time_ll_not_sorted[i]/replay + print(Time_ll_not_sorted) + + for _ in range(replay): + time_ll_sorted = LinkedList(None, phone_book_sorted) + for i, key in enumerate(Time_ll_sorted): + Time_ll_sorted[key] += time_ll_sorted[i]/replay + print(Time_ll_sorted) + + + #HashTable([[] for _ in range(10)]) + #BinarySearchTree(None) if __name__ == "__main__": main() From bd4d6d48a021f99bf5295571ef35520663cad1f8 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 09:27:45 +0000 Subject: [PATCH 18/60] [13] adding time for HashTable() and fixing BinarySearchTree() --- lukovnikovde/docs/data/DataStructure.py | 184 +++++++++++++----------- 1 file changed, 98 insertions(+), 86 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index eb33ffb..f9343b6 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -90,7 +90,8 @@ def LinkedList(head, phone_book): start_find = time.perf_counter() for _ in range(100): name = create_name_phone(rnd.randint(0, 999))[0] - #print(name, ":", ll_find(head, name)) + phone = ll_find(head, name) + #print(name, ":", phone) end_find = time.perf_counter() time_find = end_find - start_find @@ -153,47 +154,43 @@ def ht_delete(buckest, name): #################################################################################################### -def HashTable(buckest): +def HashTable(buckest, phone_book): - print('=========== TESTING HT_INSERT =============') - Name = ['Dima', 'Alex', 'Ivan', 'Maxim', 'Olga', 'Lena'] - for _ in range(10): - name = Name[rnd.randint(0, len(Name) - 1)] - phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ - str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + start_insert = time.perf_counter() + for i in range(len(phone_book)): - print(name, phone) - buckest = ht_insert(buckest, name, phone) - print(buckest) - print('-----------------------------------------------------\n') + buckest = ht_insert(buckest, phone_book[i][0], phone_book[i][1]) + #print(buckest) + end_insert = time.perf_counter() + time_insert = end_insert - start_insert + + + start_find = time.perf_counter() + for _ in range(100): + name = create_name_phone(rnd.randint(0, 999))[0] + phone = ht_find(buckest, name) + #print(name, ":", phone) + end_find = time.perf_counter() + time_find = end_find - start_find - print('============= END TESTING =====================\n\n') - - - print('============== TESTING HT_FIND =====================') - - Name.append('Masha') - for i in range(len(Name)): - name = Name[i] - print(name, ":", ht_find(buckest, name)) - print("======== END TESTING =============\n\n") - - print("================ TESTING TH_LIST_ALL ====================") - - print(*ht_list_all(buckest)) - print("========= END TESTING ==============\n\n") - - - print('========== TESTING HT_DELETE ==========') - for _ in range(2): - name = Name[rnd.randint(0, len(Name) - 1)] + start_delete = time.perf_counter() + for i in range(110): + if i <= 99: name = f"User_{rnd.randint(0,999):03d}" + else: name = f"None_{i:03d}" buckest = ht_delete(buckest, name) - - print(buckest) - print(name, ":", ht_find(buckest, name)) - print("========= END TESTING ==============\n\n") + end_delete = time.perf_counter() + time_delete = end_delete - start_delete + + + start_list = time.perf_counter() + name_list = sort_list(ht_list_all(buckest)) + #print(*name_list) + end_list = time.perf_counter() + time_list = end_list - start_list + + return (time_insert, time_find, time_delete, time_list) ################################################################################################# @@ -248,49 +245,31 @@ def bst_list_all(root, name_list = []): def bst_delete(root, name): - running = root - old_running = running + if root is None: + return None + if hash_key(name) < hash_key(root['name']): + root['left'] = bst_delete(root['left'], name) + elif hash_key(name) > hash_key(root['name']): + root['right'] = bst_delete(root['right'], name) + else: + + if root['left'] is None and root['right'] is None: + return None - while old_running is not None: - node = hash_key(running['name']) - sheet = hash_key(name) - if name == running['name']: + if root['left'] is None: + return root['right'] + if root['right'] is None: + return root['left'] + + min_node = root['right'] + while min_node['left'] is not None: + min_node = min_node['left'] - break - elif node < sheet: - old_running = running - flag = 1 - running = running['right'] - else: - old_running = running - flag = 0 - running = running['left'] - - step = ['left', 'right'] + root['name'] = min_node['name'] + root['phone'] = min_node['phone'] + + root['right'] = bst_delete(root['right'], min_node['name']) - if running['left'] is None and running['right'] is None: - old_running = None - return root - - if running['left'] is None: - old_running[step[flag]] = running['right'] - return root - - if running['right'] is None: - old_running[step[flag]] = running['left'] - return root - - node_delete = running - old_running = running - running = running['right'] - while running['left'] is not None: - old_running = running - running = running['left'] - - node_delete['name'] = running['name'] - node_delete['phone'] = running['phone'] - old_running['left'] = None - return root ################################################################################################# @@ -352,26 +331,59 @@ def main(): phone_book_sorted = phone_book.copy() phone_book_sorted = sort_list(phone_book_sorted) - replay = 10 + replay = 5 - Time_ll_not_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} - Time_ll_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + Time_ll_not_sorted = [] + Time_ll_sorted = [] + + Time_average_ll_not_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + Time_average_ll_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} for _ in range(replay): time_ll_not_sorted = LinkedList(None, phone_book_not_sorted) - for i, key in enumerate(Time_ll_not_sorted): - Time_ll_not_sorted[key] += time_ll_not_sorted[i]/replay - print(Time_ll_not_sorted) + Time_ll_not_sorted.append({'insert': time_ll_not_sorted[0], 'find': time_ll_not_sorted[1], 'delete': time_ll_not_sorted[2], 'list': time_ll_not_sorted[3]}) + for i, key in enumerate(Time_average_ll_not_sorted): + Time_average_ll_not_sorted[key] += time_ll_not_sorted[i]/replay + for i in range(replay): + print(Time_ll_not_sorted[i]) + print("Average:", Time_average_ll_not_sorted, "\n\n") for _ in range(replay): time_ll_sorted = LinkedList(None, phone_book_sorted) - for i, key in enumerate(Time_ll_sorted): - Time_ll_sorted[key] += time_ll_sorted[i]/replay - print(Time_ll_sorted) + Time_ll_sorted.append({'insert': time_ll_sorted[0], 'find': time_ll_sorted[1], 'delete': time_ll_sorted[2], 'list': time_ll_sorted[3]}) + for i, key in enumerate(Time_average_ll_sorted): + Time_average_ll_sorted[key] += time_ll_sorted[i]/replay + for i in range(replay): + print(Time_ll_not_sorted[i]) + print("Average:", Time_average_ll_sorted, "\n\n") - #HashTable([[] for _ in range(10)]) + + Time_ht_not_sorted = [] + Time_ht_sorted = [] + + Time_average_ht_not_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + Time_average_ht_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + + for _ in range(replay): + time_ht_not_sorted = HashTable([[] for _ in range(100)], phone_book_not_sorted) + Time_ht_not_sorted.append({'insert': time_ht_not_sorted[0], 'find': time_ht_not_sorted[1], 'delete': time_ht_not_sorted[2], 'list': time_ht_not_sorted[3]}) + for i, key in enumerate(Time_average_ht_not_sorted): + Time_average_ht_not_sorted[key] += time_ht_not_sorted[i]/replay + for i in range(replay): + print(Time_ht_not_sorted[i]) + print(f"Average: {Time_average_ht_not_sorted}\n\n") + + for _ in range(replay): + time_ht_sorted = HashTable([[] for _ in range(100)], phone_book_sorted) + Time_ht_sorted.append({'insert': time_ht_sorted[0], 'find': time_ht_sorted[1], 'delete': time_ht_sorted[2], 'list': time_ht_sorted[3]}) + for i, key in enumerate(Time_average_ht_sorted): + Time_average_ht_sorted[key] += time_ht_sorted[i]/replay + for i in range(replay): + print(Time_ht_sorted[i]) + print(f"Average: {Time_average_ht_sorted}\n\n") + #BinarySearchTree(None) if __name__ == "__main__": From a784a4a03768480262b8bc4b5ad52b54a9000e58 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 09:42:03 +0000 Subject: [PATCH 19/60] [14] adding time for BinarySearchTree() --- lukovnikovde/docs/data/DataStructure.py | 103 +++++++++++++++--------- 1 file changed, 66 insertions(+), 37 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index f9343b6..0214abe 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -274,48 +274,42 @@ def bst_delete(root, name): ################################################################################################# -def BinarySearchTree(root): +def BinarySearchTree(root, phone_book): - print('=========== TESTING BST_INSERT =============') - Name = ['Dima', 'Alex', 'Ivan', 'Maxim', 'Olga', 'Lena'] + start_insert = time.perf_counter() + for i in range(len(phone_book)): - for _ in range(10): - name = Name[rnd.randint(0, len(Name) - 1)] - phone = str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + '-' + \ - str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + str(rnd.randint(0,9)) + root = bst_insert(root, phone_book[i][0], phone_book[i][1]) + #print(buckest) + end_insert = time.perf_counter() + time_insert = end_insert - start_insert - print(name, phone) - root = bst_insert(root, name, phone) - print(root) - print('-----------------------------------------------------\n') - - print('============= END TESTING =====================\n\n') - print('============== TESTING BST_FIND =====================') - - Name.append('Masha') - for i in range(len(Name)): - name = Name[i] - print(name, ":", bst_find(root, name)) - print("======== END TESTING =============\n\n") + start_find = time.perf_counter() + for _ in range(100): + name = create_name_phone(rnd.randint(0, 999))[0] + phone = bst_find(root, name) + #print(name, ":", phone) + end_find = time.perf_counter() + time_find = end_find - start_find - print('===================== TESTING BST_LIST_ALL =============') - name_list = bst_list_all(root) - print(*name_list) - print("======== END TESTING =============\n\n") - - - print('========== TESTING HT_DELETE ==========') - - for _ in range(2): - name = Name[rnd.randint(0, len(Name) - 1)] + start_delete = time.perf_counter() + for i in range(110): + if i <= 99: name = f"User_{rnd.randint(0,999):03d}" + else: name = f"None_{i:03d}" root = bst_delete(root, name) - - print(root) - print(name, ":", bst_find(root, name)) - print("========= END TESTING ==============\n\n") - + end_delete = time.perf_counter() + time_delete = end_delete - start_delete + + + start_list = time.perf_counter() + name_list = sort_list(bst_list_all(root)) + #print(*name_list) + end_list = time.perf_counter() + time_list = end_list - start_list + + return (time_insert, time_find, time_delete, time_list) ################################################################################################ def main(): @@ -340,6 +334,8 @@ def main(): Time_average_ll_not_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} Time_average_ll_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + print("============================================ TESTING LINKEDLIST =====================================\n") + print('Not sorted: ') for _ in range(replay): time_ll_not_sorted = LinkedList(None, phone_book_not_sorted) Time_ll_not_sorted.append({'insert': time_ll_not_sorted[0], 'find': time_ll_not_sorted[1], 'delete': time_ll_not_sorted[2], 'list': time_ll_not_sorted[3]}) @@ -349,6 +345,7 @@ def main(): print(Time_ll_not_sorted[i]) print("Average:", Time_average_ll_not_sorted, "\n\n") + print('Sorted:') for _ in range(replay): time_ll_sorted = LinkedList(None, phone_book_sorted) Time_ll_sorted.append({'insert': time_ll_sorted[0], 'find': time_ll_sorted[1], 'delete': time_ll_sorted[2], 'list': time_ll_sorted[3]}) @@ -364,8 +361,10 @@ def main(): Time_ht_sorted = [] Time_average_ht_not_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} - Time_average_ht_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + Time_average_ht_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + print("============================================ TESTING HASHTABLE =====================================\n") + print('Not sorted: ') for _ in range(replay): time_ht_not_sorted = HashTable([[] for _ in range(100)], phone_book_not_sorted) Time_ht_not_sorted.append({'insert': time_ht_not_sorted[0], 'find': time_ht_not_sorted[1], 'delete': time_ht_not_sorted[2], 'list': time_ht_not_sorted[3]}) @@ -375,6 +374,7 @@ def main(): print(Time_ht_not_sorted[i]) print(f"Average: {Time_average_ht_not_sorted}\n\n") + print('Sorted: ') for _ in range(replay): time_ht_sorted = HashTable([[] for _ in range(100)], phone_book_sorted) Time_ht_sorted.append({'insert': time_ht_sorted[0], 'find': time_ht_sorted[1], 'delete': time_ht_sorted[2], 'list': time_ht_sorted[3]}) @@ -384,7 +384,36 @@ def main(): print(Time_ht_sorted[i]) print(f"Average: {Time_average_ht_sorted}\n\n") - #BinarySearchTree(None) + + + Time_bst_not_sorted = [] + Time_bst_sorted = [] + + Time_average_bst_not_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + Time_average_bst_sorted = {'insert': 0, 'find': 0, 'delete': 0, 'list': 0} + + print("============================================ TESTING BINARYSEARCHTREE =====================================\n") + print('Not sorted: ') + for _ in range(replay): + time_bst_not_sorted = BinarySearchTree(None, phone_book_not_sorted) + Time_bst_not_sorted.append({'insert': time_bst_not_sorted[0], 'find': time_bst_not_sorted[1], 'delete': time_bst_not_sorted[2], 'list': time_bst_not_sorted[3]}) + for i, key in enumerate(Time_average_bst_not_sorted): + Time_average_bst_not_sorted[key] += time_bst_not_sorted[i]/replay + for i in range(replay): + print(Time_bst_not_sorted[i]) + print(f"Average: {Time_average_bst_not_sorted}\n\n") + + print('Sorted: ') + for _ in range(replay): + time_bst_sorted = BinarySearchTree(None, phone_book_sorted) + Time_bst_sorted.append({'insert': time_bst_sorted[0], 'find': time_bst_sorted[1], 'delete': time_bst_sorted[2], 'list': time_bst_sorted[3]}) + for i, key in enumerate(Time_average_bst_sorted): + Time_average_bst_sorted[key] += time_bst_sorted[i]/replay + for i in range(replay): + print(Time_bst_sorted[i]) + print(f"Average: {Time_average_bst_sorted}\n\n") + print("=============================================== END TESTING ================================================") + if __name__ == "__main__": main() From 7c65ec1f5c802009931fc09bab023a8ec9b79d09 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 12:53:58 +0000 Subject: [PATCH 20/60] [1] adding data --- lukovnikovde/docs/data/results.csv | 0 ...ый,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv | 121 ++++++++++++++++++ 2 files changed, 121 insertions(+) delete mode 100644 lukovnikovde/docs/data/results.csv create mode 100644 lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv diff --git a/lukovnikovde/docs/data/results.csv b/lukovnikovde/docs/data/results.csv deleted file mode 100644 index e69de29..0000000 diff --git a/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv b/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv new file mode 100644 index 0000000..0465f04 --- /dev/null +++ b/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv @@ -0,0 +1,121 @@ +Структура,Режим,Операция,Время(мс) +LinkedList,Случайный,вставка,208.20209999510553 +LinkedList,Случайный,поиск,2.9045000119367614 +LinkedList,Случайный,удаление,6.004199996823445 +LinkedList,Случайный,формирование списка,43.378100002883 +LinkedList,Упорядоченный,вставка,215.11740000278223 +LinkedList,Упорядоченный,поиск,1.7325999942841008 +LinkedList,Упорядоченный,удаление,3.911000007065013 +LinkedList,Упорядоченный,формирование списка,24.1636999999173 +LinkedList,Случайный,вставка,190.88409999676514 +LinkedList,Случайный,поиск,1.9274999940535054 +LinkedList,Случайный,удаление,3.3909000048879534 +LinkedList,Случайный,формирование списка,36.927299996023066 +LinkedList,Упорядоченный,вставка,201.54510000429582 +LinkedList,Упорядоченный,поиск,1.9468000100459903 +LinkedList,Упорядоченный,удаление,4.283199989004061 +LinkedList,Упорядоченный,формирование списка,26.472099998500198 +LinkedList,Случайный,вставка,204.69529999536462 +LinkedList,Случайный,поиск,1.9399000011617318 +LinkedList,Случайный,удаление,3.888599996571429 +LinkedList,Случайный,формирование списка,39.83399999560788 +LinkedList,Упорядоченный,вставка,217.6401999895461 +LinkedList,Упорядоченный,поиск,1.971699995920062 +LinkedList,Упорядоченный,удаление,4.484700009925291 +LinkedList,Упорядоченный,формирование списка,25.39739999338053 +LinkedList,Случайный,вставка,207.78500000596978 +LinkedList,Случайный,поиск,2.0483999978750944 +LinkedList,Случайный,удаление,4.675799995311536 +LinkedList,Случайный,формирование списка,39.048300008289516 +LinkedList,Упорядоченный,вставка,212.31619999161921 +LinkedList,Упорядоченный,поиск,2.114100003382191 +LinkedList,Упорядоченный,удаление,4.880499996943399 +LinkedList,Упорядоченный,формирование списка,25.903200003085658 +LinkedList,Случайный,вставка,210.4317000048468 +LinkedList,Случайный,поиск,2.055600009043701 +LinkedList,Случайный,удаление,4.459099989617243 +LinkedList,Случайный,формирование списка,38.836399995489046 +LinkedList,Упорядоченный,вставка,208.12389999628067 +LinkedList,Упорядоченный,поиск,2.0536000083666295 +LinkedList,Упорядоченный,удаление,3.682700000354089 +LinkedList,Упорядоченный,формирование списка,24.227499990956858 +HashTable,Случайный,вставка,29.41139999893494 +HashTable,Случайный,поиск,0.3895999980159104 +HashTable,Случайный,удаление,0.5401999951573089 +HashTable,Случайный,формирование списка,61.099800004740246 +HashTable,Упорядоченный,вставка,31.637899999623187 +HashTable,Упорядоченный,поиск,0.39010000182315707 +HashTable,Упорядоченный,удаление,0.6806000019423664 +HashTable,Упорядоченный,формирование списка,59.90120000205934 +HashTable,Случайный,вставка,28.534299999591894 +HashTable,Случайный,поиск,0.3829000052064657 +HashTable,Случайный,удаление,0.5402999959187582 +HashTable,Случайный,формирование списка,61.70770000608172 +HashTable,Упорядоченный,вставка,28.072300003259443 +HashTable,Упорядоченный,поиск,0.37850000080652535 +HashTable,Упорядоченный,удаление,0.5289999971864745 +HashTable,Упорядоченный,формирование списка,60.8557999948971 +HashTable,Случайный,вставка,27.099200000520796 +HashTable,Случайный,поиск,0.3744999994523823 +HashTable,Случайный,удаление,0.5358000053092837 +HashTable,Случайный,формирование списка,64.14799999038223 +HashTable,Упорядоченный,вставка,29.48389999801293 +HashTable,Упорядоченный,поиск,0.37510000402107835 +HashTable,Упорядоченный,удаление,0.5323999939719215 +HashTable,Упорядоченный,формирование списка,59.62549999821931 +HashTable,Случайный,вставка,26.82020000065677 +HashTable,Случайный,поиск,0.3580000047804788 +HashTable,Случайный,удаление,0.5305999948177487 +HashTable,Случайный,формирование списка,62.40640000032727 +HashTable,Упорядоченный,вставка,27.015900006517768 +HashTable,Упорядоченный,поиск,0.378099997760728 +HashTable,Упорядоченный,удаление,0.5264000064926222 +HashTable,Упорядоченный,формирование списка,62.27580000995658 +HashTable,Случайный,вставка,27.9859000002034 +HashTable,Случайный,поиск,0.3634999884525314 +HashTable,Случайный,удаление,0.5342000076780096 +HashTable,Случайный,формирование списка,63.41239999164827 +HashTable,Упорядоченный,вставка,32.28899999521673 +HashTable,Упорядоченный,поиск,0.3885000041918829 +HashTable,Упорядоченный,удаление,0.530999997863546 +HashTable,Упорядоченный,формирование списка,123.99769999319687 +BinarySearchTree,Случайный,вставка,85.69290000014007 +BinarySearchTree,Случайный,поиск,0.8522999996785074 +BinarySearchTree,Случайный,удаление,0.6367000023601577 +BinarySearchTree,Случайный,формирование списка,0.019499988411553204 +BinarySearchTree,Упорядоченный,вставка,186.62829999811947 +BinarySearchTree,Упорядоченный,поиск,2.0231000089552253 +BinarySearchTree,Упорядоченный,удаление,1.5316000062739477 +BinarySearchTree,Упорядоченный,формирование списка,0.17160001152660698 +BinarySearchTree,Случайный,вставка,58.28359999577515 +BinarySearchTree,Случайный,поиск,0.8163000020431355 +BinarySearchTree,Случайный,удаление,0.750300008803606 +BinarySearchTree,Случайный,формирование списка,0.03229999856557697 +BinarySearchTree,Упорядоченный,вставка,187.06600001314655 +BinarySearchTree,Упорядоченный,поиск,2.030700008617714 +BinarySearchTree,Упорядоченный,удаление,1.9510999991325662 +BinarySearchTree,Упорядоченный,формирование списка,0.29850000282749534 +BinarySearchTree,Случайный,вставка,61.478399991756305 +BinarySearchTree,Случайный,поиск,0.822900008643046 +BinarySearchTree,Случайный,удаление,0.6437000120058656 +BinarySearchTree,Случайный,формирование списка,0.042799991206265986 +BinarySearchTree,Упорядоченный,вставка,197.5971999927424 +BinarySearchTree,Упорядоченный,поиск,2.928499990957789 +BinarySearchTree,Упорядоченный,удаление,1.3709000049857423 +BinarySearchTree,Упорядоченный,формирование списка,0.3245999978389591 +BinarySearchTree,Случайный,вставка,56.02879999787547 +BinarySearchTree,Случайный,поиск,0.8548000041628256 +BinarySearchTree,Случайный,удаление,0.6403000006685033 +BinarySearchTree,Случайный,формирование списка,0.13559999933931977 +BinarySearchTree,Упорядоченный,вставка,202.32229999965057 +BinarySearchTree,Упорядоченный,поиск,2.030099989497103 +BinarySearchTree,Упорядоченный,удаление,2.3326000082306564 +BinarySearchTree,Упорядоченный,формирование списка,0.6596000021090731 +BinarySearchTree,Случайный,вставка,55.63760000222828 +BinarySearchTree,Случайный,поиск,0.8491999906254932 +BinarySearchTree,Случайный,удаление,0.7559999939985573 +BinarySearchTree,Случайный,формирование списка,0.17389999993611127 +BinarySearchTree,Упорядоченный,вставка,204.21820000046864 +BinarySearchTree,Упорядоченный,поиск,2.8218999941600487 +BinarySearchTree,Упорядоченный,удаление,1.7469000013079494 +BinarySearchTree,Упорядоченный,формирование списка,0.0004265999887138605 From 81899baf6edaac26dcd0631793186d1aba18cab7 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 12:56:10 +0000 Subject: [PATCH 21/60] [15] adding file_insert() to create a csv file --- lukovnikovde/docs/data/DataStructure.py | 43 +++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 0214abe..72dddca 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -1,5 +1,6 @@ import random as rnd import time +import csv ############################################################################################# def sort_list(name_list): @@ -18,6 +19,11 @@ def create_name_phone(i): name = f"User_{i:03d}" phone = f"{rnd.randint(100, 999)}-{rnd.randint(100, 999)}" return (name, phone) + +def file_insert(results): + with open("results.csv", "w", encoding = "utf-8-sig", newline = "") as file: + writer = csv.writer(file) + writer.writerows(results) ########################################################################################################################### def ll_insert(head, name, phone): @@ -413,7 +419,44 @@ def main(): print(Time_bst_sorted[i]) print(f"Average: {Time_average_bst_sorted}\n\n") print("=============================================== END TESTING ================================================") + + results = [["Структура", "Режим", "Операция", "Время(мс)"]] + for i in range(replay): + results.append(["LinkedList", "Случайный", "вставка", Time_ll_not_sorted[i]["insert"]]) + results.append(["LinkedList", "Случайный", "поиск", Time_ll_not_sorted[i]["find"]]) + results.append(["LinkedList", "Случайный", "удаление", Time_ll_not_sorted[i]["delete"]]) + results.append(["LinkedList", "Случайный", "формирование списка", Time_ll_not_sorted[i]["list"]]) + + results.append(["LinkedList", "Упорядоченный", "вставка", Time_ll_sorted[i]["insert"]]) + results.append(["LinkedList", "Упорядоченный", "поиск", Time_ll_sorted[i]["find"]]) + results.append(["LinkedList", "Упорядоченный", "удаление", Time_ll_sorted[i]["delete"]]) + results.append(["LinkedList", "Упорядоченный", "формирование списка", Time_ll_sorted[i]["list"]]) + + for i in range(replay): + results.append(["HashTable", "Случайный", "вставка", Time_ht_not_sorted[i]["insert"]]) + results.append(["HashTable", "Случайный", "поиск", Time_ht_not_sorted[i]["find"]]) + results.append(["HashTable", "Случайный", "удаление", Time_ht_not_sorted[i]["delete"]]) + results.append(["HashTable", "Случайный", "формирование списка", Time_ht_not_sorted[i]["list"]]) + + results.append(["HashTable", "Упорядоченный", "вставка", Time_ht_sorted[i]["insert"]]) + results.append(["HashTable", "Упорядоченный", "поиск", Time_ht_sorted[i]["find"]]) + results.append(["HashTable", "Упорядоченный", "удаление", Time_ht_sorted[i]["delete"]]) + results.append(["HashTable", "Упорядоченный", "формирование списка", Time_ht_sorted[i]["list"]]) + for i in range(replay): + results.append(["BinarySearchTree", "Случайный", "вставка", Time_bst_not_sorted[i]["insert"]]) + results.append(["BinarySearchTree", "Случайный", "поиск", Time_bst_not_sorted[i]["find"]]) + results.append(["BinarySearchTree", "Случайный", "удаление", Time_bst_not_sorted[i]["delete"]]) + results.append(["BinarySearchTree", "Случайный", "формирование списка", Time_bst_not_sorted[i]["list"]]) + + results.append(["BinarySearchTree", "Упорядоченный", "вставка", Time_bst_sorted[i]["insert"]]) + results.append(["BinarySearchTree", "Упорядоченный", "поиск", Time_bst_sorted[i]["find"]]) + results.append(["BinarySearchTree", "Упорядоченный", "удаление", Time_bst_sorted[i]["delete"]]) + results.append(["BinarySearchTree", "Упорядоченный", "формирование списка", Time_bst_sorted[i]["list"]]) + + for i in range(1, len(results) - 1): + results[i][3] *= 1000 + file_insert(results) if __name__ == "__main__": main() From c6cbce12cce04f137a242c68a3a75de2223fce25 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 14:18:39 +0000 Subject: [PATCH 22/60] [2] updating data --- ...ый,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv | 360 ++++++++++++------ 1 file changed, 240 insertions(+), 120 deletions(-) diff --git a/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv b/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv index 0465f04..b52729b 100644 --- a/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv +++ b/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv @@ -1,121 +1,241 @@ Структура,Режим,Операция,Время(мс) -LinkedList,Случайный,вставка,208.20209999510553 -LinkedList,Случайный,поиск,2.9045000119367614 -LinkedList,Случайный,удаление,6.004199996823445 -LinkedList,Случайный,формирование списка,43.378100002883 -LinkedList,Упорядоченный,вставка,215.11740000278223 -LinkedList,Упорядоченный,поиск,1.7325999942841008 -LinkedList,Упорядоченный,удаление,3.911000007065013 -LinkedList,Упорядоченный,формирование списка,24.1636999999173 -LinkedList,Случайный,вставка,190.88409999676514 -LinkedList,Случайный,поиск,1.9274999940535054 -LinkedList,Случайный,удаление,3.3909000048879534 -LinkedList,Случайный,формирование списка,36.927299996023066 -LinkedList,Упорядоченный,вставка,201.54510000429582 -LinkedList,Упорядоченный,поиск,1.9468000100459903 -LinkedList,Упорядоченный,удаление,4.283199989004061 -LinkedList,Упорядоченный,формирование списка,26.472099998500198 -LinkedList,Случайный,вставка,204.69529999536462 -LinkedList,Случайный,поиск,1.9399000011617318 -LinkedList,Случайный,удаление,3.888599996571429 -LinkedList,Случайный,формирование списка,39.83399999560788 -LinkedList,Упорядоченный,вставка,217.6401999895461 -LinkedList,Упорядоченный,поиск,1.971699995920062 -LinkedList,Упорядоченный,удаление,4.484700009925291 -LinkedList,Упорядоченный,формирование списка,25.39739999338053 -LinkedList,Случайный,вставка,207.78500000596978 -LinkedList,Случайный,поиск,2.0483999978750944 -LinkedList,Случайный,удаление,4.675799995311536 -LinkedList,Случайный,формирование списка,39.048300008289516 -LinkedList,Упорядоченный,вставка,212.31619999161921 -LinkedList,Упорядоченный,поиск,2.114100003382191 -LinkedList,Упорядоченный,удаление,4.880499996943399 -LinkedList,Упорядоченный,формирование списка,25.903200003085658 -LinkedList,Случайный,вставка,210.4317000048468 -LinkedList,Случайный,поиск,2.055600009043701 -LinkedList,Случайный,удаление,4.459099989617243 -LinkedList,Случайный,формирование списка,38.836399995489046 -LinkedList,Упорядоченный,вставка,208.12389999628067 -LinkedList,Упорядоченный,поиск,2.0536000083666295 -LinkedList,Упорядоченный,удаление,3.682700000354089 -LinkedList,Упорядоченный,формирование списка,24.227499990956858 -HashTable,Случайный,вставка,29.41139999893494 -HashTable,Случайный,поиск,0.3895999980159104 -HashTable,Случайный,удаление,0.5401999951573089 -HashTable,Случайный,формирование списка,61.099800004740246 -HashTable,Упорядоченный,вставка,31.637899999623187 -HashTable,Упорядоченный,поиск,0.39010000182315707 -HashTable,Упорядоченный,удаление,0.6806000019423664 -HashTable,Упорядоченный,формирование списка,59.90120000205934 -HashTable,Случайный,вставка,28.534299999591894 -HashTable,Случайный,поиск,0.3829000052064657 -HashTable,Случайный,удаление,0.5402999959187582 -HashTable,Случайный,формирование списка,61.70770000608172 -HashTable,Упорядоченный,вставка,28.072300003259443 -HashTable,Упорядоченный,поиск,0.37850000080652535 -HashTable,Упорядоченный,удаление,0.5289999971864745 -HashTable,Упорядоченный,формирование списка,60.8557999948971 -HashTable,Случайный,вставка,27.099200000520796 -HashTable,Случайный,поиск,0.3744999994523823 -HashTable,Случайный,удаление,0.5358000053092837 -HashTable,Случайный,формирование списка,64.14799999038223 -HashTable,Упорядоченный,вставка,29.48389999801293 -HashTable,Упорядоченный,поиск,0.37510000402107835 -HashTable,Упорядоченный,удаление,0.5323999939719215 -HashTable,Упорядоченный,формирование списка,59.62549999821931 -HashTable,Случайный,вставка,26.82020000065677 -HashTable,Случайный,поиск,0.3580000047804788 -HashTable,Случайный,удаление,0.5305999948177487 -HashTable,Случайный,формирование списка,62.40640000032727 -HashTable,Упорядоченный,вставка,27.015900006517768 -HashTable,Упорядоченный,поиск,0.378099997760728 -HashTable,Упорядоченный,удаление,0.5264000064926222 -HashTable,Упорядоченный,формирование списка,62.27580000995658 -HashTable,Случайный,вставка,27.9859000002034 -HashTable,Случайный,поиск,0.3634999884525314 -HashTable,Случайный,удаление,0.5342000076780096 -HashTable,Случайный,формирование списка,63.41239999164827 -HashTable,Упорядоченный,вставка,32.28899999521673 -HashTable,Упорядоченный,поиск,0.3885000041918829 -HashTable,Упорядоченный,удаление,0.530999997863546 -HashTable,Упорядоченный,формирование списка,123.99769999319687 -BinarySearchTree,Случайный,вставка,85.69290000014007 -BinarySearchTree,Случайный,поиск,0.8522999996785074 -BinarySearchTree,Случайный,удаление,0.6367000023601577 -BinarySearchTree,Случайный,формирование списка,0.019499988411553204 -BinarySearchTree,Упорядоченный,вставка,186.62829999811947 -BinarySearchTree,Упорядоченный,поиск,2.0231000089552253 -BinarySearchTree,Упорядоченный,удаление,1.5316000062739477 -BinarySearchTree,Упорядоченный,формирование списка,0.17160001152660698 -BinarySearchTree,Случайный,вставка,58.28359999577515 -BinarySearchTree,Случайный,поиск,0.8163000020431355 -BinarySearchTree,Случайный,удаление,0.750300008803606 -BinarySearchTree,Случайный,формирование списка,0.03229999856557697 -BinarySearchTree,Упорядоченный,вставка,187.06600001314655 -BinarySearchTree,Упорядоченный,поиск,2.030700008617714 -BinarySearchTree,Упорядоченный,удаление,1.9510999991325662 -BinarySearchTree,Упорядоченный,формирование списка,0.29850000282749534 -BinarySearchTree,Случайный,вставка,61.478399991756305 -BinarySearchTree,Случайный,поиск,0.822900008643046 -BinarySearchTree,Случайный,удаление,0.6437000120058656 -BinarySearchTree,Случайный,формирование списка,0.042799991206265986 -BinarySearchTree,Упорядоченный,вставка,197.5971999927424 -BinarySearchTree,Упорядоченный,поиск,2.928499990957789 -BinarySearchTree,Упорядоченный,удаление,1.3709000049857423 -BinarySearchTree,Упорядоченный,формирование списка,0.3245999978389591 -BinarySearchTree,Случайный,вставка,56.02879999787547 -BinarySearchTree,Случайный,поиск,0.8548000041628256 -BinarySearchTree,Случайный,удаление,0.6403000006685033 -BinarySearchTree,Случайный,формирование списка,0.13559999933931977 -BinarySearchTree,Упорядоченный,вставка,202.32229999965057 -BinarySearchTree,Упорядоченный,поиск,2.030099989497103 -BinarySearchTree,Упорядоченный,удаление,2.3326000082306564 -BinarySearchTree,Упорядоченный,формирование списка,0.6596000021090731 -BinarySearchTree,Случайный,вставка,55.63760000222828 -BinarySearchTree,Случайный,поиск,0.8491999906254932 -BinarySearchTree,Случайный,удаление,0.7559999939985573 -BinarySearchTree,Случайный,формирование списка,0.17389999993611127 -BinarySearchTree,Упорядоченный,вставка,204.21820000046864 -BinarySearchTree,Упорядоченный,поиск,2.8218999941600487 -BinarySearchTree,Упорядоченный,удаление,1.7469000013079494 -BinarySearchTree,Упорядоченный,формирование списка,0.0004265999887138605 +LinkedList,Случайный,вставка,315.1450000004843 +LinkedList,Случайный,поиск,4.316799997468479 +LinkedList,Случайный,удаление,6.655499993939884 +LinkedList,Случайный,формирование списка,60.00260000291746 +LinkedList,Упорядоченный,вставка,350.889699999243 +LinkedList,Упорядоченный,поиск,4.407000000355765 +LinkedList,Упорядоченный,удаление,9.319399992818944 +LinkedList,Упорядоченный,формирование списка,42.746599996462464 +LinkedList,Случайный,вставка,325.66859999496955 +LinkedList,Случайный,поиск,3.040399999008514 +LinkedList,Случайный,удаление,5.931300009251572 +LinkedList,Случайный,формирование списка,60.57949998648837 +LinkedList,Упорядоченный,вставка,336.7800999985775 +LinkedList,Упорядоченный,поиск,3.11140000121668 +LinkedList,Упорядоченный,удаление,7.032299996353686 +LinkedList,Упорядоченный,формирование списка,38.3676000055857 +LinkedList,Случайный,вставка,331.8294000055175 +LinkedList,Случайный,поиск,3.2995999936247244 +LinkedList,Случайный,удаление,5.828900000778958 +LinkedList,Случайный,формирование списка,59.610899988911115 +LinkedList,Упорядоченный,вставка,322.081900012563 +LinkedList,Упорядоченный,поиск,3.226500004529953 +LinkedList,Упорядоченный,удаление,6.857400003354996 +LinkedList,Упорядоченный,формирование списка,40.90739999082871 +LinkedList,Случайный,вставка,308.91980000888 +LinkedList,Случайный,поиск,4.142200006754138 +LinkedList,Случайный,удаление,7.1447999944211915 +LinkedList,Случайный,формирование списка,62.26019999303389 +LinkedList,Упорядоченный,вставка,356.4856999873882 +LinkedList,Упорядоченный,поиск,3.2805000082589686 +LinkedList,Упорядоченный,удаление,7.517700010794215 +LinkedList,Упорядоченный,формирование списка,38.8781000074232 +LinkedList,Случайный,вставка,338.4959999966668 +LinkedList,Случайный,поиск,3.1971999997040257 +LinkedList,Случайный,удаление,6.824999989476055 +LinkedList,Случайный,формирование списка,72.87770000402816 +LinkedList,Упорядоченный,вставка,331.1701000056928 +LinkedList,Упорядоченный,поиск,3.181500011123717 +LinkedList,Упорядоченный,удаление,6.956600002013147 +LinkedList,Упорядоченный,формирование списка,45.828999995137565 +LinkedList,Случайный,вставка,330.27880000008736 +LinkedList,Случайный,поиск,3.262800004449673 +LinkedList,Случайный,удаление,5.911299987928942 +LinkedList,Случайный,формирование списка,59.69100000220351 +LinkedList,Упорядоченный,вставка,334.73180000146385 +LinkedList,Упорядоченный,поиск,3.0015000083949417 +LinkedList,Упорядоченный,удаление,5.957399989711121 +LinkedList,Упорядоченный,формирование списка,38.86820000479929 +LinkedList,Случайный,вставка,321.3075999956345 +LinkedList,Случайный,поиск,3.3231999987037852 +LinkedList,Случайный,удаление,6.390499998815358 +LinkedList,Случайный,формирование списка,61.298600005102344 +LinkedList,Упорядоченный,вставка,360.48879999725614 +LinkedList,Упорядоченный,поиск,3.0202999914763495 +LinkedList,Упорядоченный,удаление,6.7882000003010035 +LinkedList,Упорядоченный,формирование списка,38.73149999708403 +LinkedList,Случайный,вставка,344.594700000016 +LinkedList,Случайный,поиск,3.0772000027354807 +LinkedList,Случайный,удаление,7.201000000350177 +LinkedList,Случайный,формирование списка,68.52040000376292 +LinkedList,Упорядоченный,вставка,326.10489999933634 +LinkedList,Упорядоченный,поиск,3.6927000037394464 +LinkedList,Упорядоченный,удаление,6.466999999247491 +LinkedList,Упорядоченный,формирование списка,43.164300004718825 +LinkedList,Случайный,вставка,336.68520000355784 +LinkedList,Случайный,поиск,3.8714000111212954 +LinkedList,Случайный,удаление,7.6293000020086765 +LinkedList,Случайный,формирование списка,64.97999999555759 +LinkedList,Упорядоченный,вставка,353.74369999044575 +LinkedList,Упорядоченный,поиск,4.3335999944247305 +LinkedList,Упорядоченный,удаление,6.703400009428151 +LinkedList,Упорядоченный,формирование списка,44.42610000842251 +LinkedList,Случайный,вставка,343.05890000541694 +LinkedList,Случайный,поиск,3.133099991828203 +LinkedList,Случайный,удаление,7.611599998199381 +LinkedList,Случайный,формирование списка,60.717500004102476 +LinkedList,Упорядоченный,вставка,355.8459999912884 +LinkedList,Упорядоченный,поиск,3.6125000042375177 +LinkedList,Упорядоченный,удаление,6.540600006701425 +LinkedList,Упорядоченный,формирование списка,37.76039999502245 +HashTable,Случайный,вставка,36.150400002952665 +HashTable,Случайный,поиск,0.5397000059019774 +HashTable,Случайный,удаление,0.5634999979520217 +HashTable,Случайный,формирование списка,99.8268000112148 +HashTable,Упорядоченный,вставка,36.392599999089725 +HashTable,Упорядоченный,поиск,0.7215999939944595 +HashTable,Упорядоченный,удаление,0.9868000051937997 +HashTable,Упорядоченный,формирование списка,89.34399999270681 +HashTable,Случайный,вставка,31.0685000004014 +HashTable,Случайный,поиск,0.5193000106373802 +HashTable,Случайный,удаление,0.5655999993905425 +HashTable,Случайный,формирование списка,88.22770000551827 +HashTable,Упорядоченный,вставка,31.6781000001356 +HashTable,Упорядоченный,поиск,0.520800007507205 +HashTable,Упорядоченный,удаление,0.5692999984603375 +HashTable,Упорядоченный,формирование списка,93.50269999413285 +HashTable,Случайный,вставка,32.41780000098515 +HashTable,Случайный,поиск,0.5359000060707331 +HashTable,Случайный,удаление,0.5809000140288845 +HashTable,Случайный,формирование списка,91.42560001055244 +HashTable,Упорядоченный,вставка,33.23169999930542 +HashTable,Упорядоченный,поиск,0.5219000013312325 +HashTable,Упорядоченный,удаление,0.5640999879688025 +HashTable,Упорядоченный,формирование списка,93.49840000504628 +HashTable,Случайный,вставка,32.34969999175519 +HashTable,Случайный,поиск,0.5914000066695735 +HashTable,Случайный,удаление,0.7762000022921711 +HashTable,Случайный,формирование списка,90.24459999636747 +HashTable,Упорядоченный,вставка,34.15970000787638 +HashTable,Упорядоченный,поиск,0.5342999938875437 +HashTable,Упорядоченный,удаление,0.5834999901708215 +HashTable,Упорядоченный,формирование списка,96.20780000113882 +HashTable,Случайный,вставка,32.985600002575666 +HashTable,Случайный,поиск,0.5103000003146008 +HashTable,Случайный,удаление,0.5585999897448346 +HashTable,Случайный,формирование списка,91.32430001045577 +HashTable,Упорядоченный,вставка,35.927500008256175 +HashTable,Упорядоченный,поиск,0.6290999881457537 +HashTable,Упорядоченный,удаление,0.96010000561364 +HashTable,Упорядоченный,формирование списка,94.56919999502134 +HashTable,Случайный,вставка,33.725600005709566 +HashTable,Случайный,поиск,0.5227000074228272 +HashTable,Случайный,удаление,0.5782000080216676 +HashTable,Случайный,формирование списка,91.97929999209009 +HashTable,Упорядоченный,вставка,34.54490000149235 +HashTable,Упорядоченный,поиск,0.5131999932928011 +HashTable,Упорядоченный,удаление,0.5754000012530014 +HashTable,Упорядоченный,формирование списка,98.85480000230018 +HashTable,Случайный,вставка,32.395899994298816 +HashTable,Случайный,поиск,0.5251999973552302 +HashTable,Случайный,удаление,0.571600001421757 +HashTable,Случайный,формирование списка,91.43000000040047 +HashTable,Упорядоченный,вставка,32.42740000132471 +HashTable,Упорядоченный,поиск,0.5138999986229464 +HashTable,Упорядоченный,удаление,0.5727999960072339 +HashTable,Упорядоченный,формирование списка,105.10570000042208 +HashTable,Случайный,вставка,32.10650000255555 +HashTable,Случайный,поиск,0.538099993718788 +HashTable,Случайный,удаление,0.5784999957541004 +HashTable,Случайный,формирование списка,93.07100001024082 +HashTable,Упорядоченный,вставка,34.88110000034794 +HashTable,Упорядоченный,поиск,0.5392000020947307 +HashTable,Упорядоченный,удаление,0.6065000052331015 +HashTable,Упорядоченный,формирование списка,98.27390000282321 +HashTable,Случайный,вставка,39.10399999585934 +HashTable,Случайный,поиск,1.024700002744794 +HashTable,Случайный,удаление,1.095200001145713 +HashTable,Случайный,формирование списка,93.50529999937862 +HashTable,Упорядоченный,вставка,32.83910000754986 +HashTable,Упорядоченный,поиск,0.5306000093696639 +HashTable,Упорядоченный,удаление,0.5603000026894733 +HashTable,Упорядоченный,формирование списка,88.33899999444839 +HashTable,Случайный,вставка,33.29720000328962 +HashTable,Случайный,поиск,0.5246000073384494 +HashTable,Случайный,удаление,0.5549999914364889 +HashTable,Случайный,формирование списка,89.06149999529589 +HashTable,Упорядоченный,вставка,30.75229999376461 +HashTable,Упорядоченный,поиск,0.516200001584366 +HashTable,Упорядоченный,удаление,0.5560999998124316 +HashTable,Упорядоченный,формирование списка,89.72599999106023 +BinarySearchTree,Случайный,вставка,162.45819999312516 +BinarySearchTree,Случайный,поиск,1.5899999998509884 +BinarySearchTree,Случайный,удаление,1.4628999924752861 +BinarySearchTree,Случайный,формирование списка,0.030199997127056122 +BinarySearchTree,Упорядоченный,вставка,345.824599993648 +BinarySearchTree,Упорядоченный,поиск,3.960800007916987 +BinarySearchTree,Упорядоченный,удаление,2.3357000027317554 +BinarySearchTree,Упорядоченный,формирование списка,1.299499999731779 +BinarySearchTree,Случайный,вставка,136.01400000334252 +BinarySearchTree,Случайный,поиск,1.5309000009438023 +BinarySearchTree,Случайный,удаление,1.137999992351979 +BinarySearchTree,Случайный,формирование списка,0.09549999958835542 +BinarySearchTree,Упорядоченный,вставка,355.8954000036465 +BinarySearchTree,Упорядоченный,поиск,3.3584000047994778 +BinarySearchTree,Упорядоченный,удаление,3.6585999914677814 +BinarySearchTree,Упорядоченный,формирование списка,1.5516999992541969 +BinarySearchTree,Случайный,вставка,119.86479999904986 +BinarySearchTree,Случайный,поиск,1.610199993592687 +BinarySearchTree,Случайный,удаление,1.2873999949079007 +BinarySearchTree,Случайный,формирование списка,0.15140000323299319 +BinarySearchTree,Упорядоченный,вставка,323.0999000079464 +BinarySearchTree,Упорядоченный,поиск,4.026300011901185 +BinarySearchTree,Упорядоченный,удаление,2.734000008786097 +BinarySearchTree,Упорядоченный,формирование списка,2.1105999912833795 +BinarySearchTree,Случайный,вставка,117.4349000066286 +BinarySearchTree,Случайный,поиск,2.2062000061850995 +BinarySearchTree,Случайный,удаление,1.5413999935844913 +BinarySearchTree,Случайный,формирование списка,0.1503000094089657 +BinarySearchTree,Упорядоченный,вставка,323.3202999981586 +BinarySearchTree,Упорядоченный,поиск,3.615300011006184 +BinarySearchTree,Упорядоченный,удаление,3.313599998364225 +BinarySearchTree,Упорядоченный,формирование списка,3.4688999876379967 +BinarySearchTree,Случайный,вставка,119.83319999126252 +BinarySearchTree,Случайный,поиск,1.6359000001102686 +BinarySearchTree,Случайный,удаление,1.1815000034403056 +BinarySearchTree,Случайный,формирование списка,0.35030000435654074 +BinarySearchTree,Упорядоченный,вставка,342.2913999966113 +BinarySearchTree,Упорядоченный,поиск,5.35669999953825 +BinarySearchTree,Упорядоченный,удаление,3.054000000702217 +BinarySearchTree,Упорядоченный,формирование списка,2.675899988389574 +BinarySearchTree,Случайный,вставка,145.3990000009071 +BinarySearchTree,Случайный,поиск,1.7481999966548756 +BinarySearchTree,Случайный,удаление,2.36389999918174 +BinarySearchTree,Случайный,формирование списка,0.6158000032883137 +BinarySearchTree,Упорядоченный,вставка,326.3811000069836 +BinarySearchTree,Упорядоченный,поиск,3.302800003439188 +BinarySearchTree,Упорядоченный,удаление,2.8451999969547614 +BinarySearchTree,Упорядоченный,формирование списка,3.151800003251992 +BinarySearchTree,Случайный,вставка,143.1086999946274 +BinarySearchTree,Случайный,поиск,1.6715999954612926 +BinarySearchTree,Случайный,удаление,1.223200000822544 +BinarySearchTree,Случайный,формирование списка,0.6703999970341101 +BinarySearchTree,Упорядоченный,вставка,311.5944000019226 +BinarySearchTree,Упорядоченный,поиск,3.3515999966766685 +BinarySearchTree,Упорядоченный,удаление,2.7783999976236373 +BinarySearchTree,Упорядоченный,формирование списка,2.64759999117814 +BinarySearchTree,Случайный,вставка,122.8082000016002 +BinarySearchTree,Случайный,поиск,1.5981000033207238 +BinarySearchTree,Случайный,удаление,1.3875000004190952 +BinarySearchTree,Случайный,формирование списка,0.8019999950192869 +BinarySearchTree,Упорядоченный,вставка,342.1444999985397 +BinarySearchTree,Упорядоченный,поиск,3.428099997108802 +BinarySearchTree,Упорядоченный,удаление,2.625099994475022 +BinarySearchTree,Упорядоченный,формирование списка,3.05579999985639 +BinarySearchTree,Случайный,вставка,124.16140000277665 +BinarySearchTree,Случайный,поиск,1.821800004108809 +BinarySearchTree,Случайный,удаление,1.1479999957373366 +BinarySearchTree,Случайный,формирование списка,0.920199992833659 +BinarySearchTree,Упорядоченный,вставка,320.02109999302775 +BinarySearchTree,Упорядоченный,поиск,3.465899993898347 +BinarySearchTree,Упорядоченный,удаление,2.8033999988110736 +BinarySearchTree,Упорядоченный,формирование списка,3.0931000073906034 +BinarySearchTree,Случайный,вставка,128.47060000058264 +BinarySearchTree,Случайный,поиск,1.7262000037590042 +BinarySearchTree,Случайный,удаление,2.278400002978742 +BinarySearchTree,Случайный,формирование списка,0.7653000066056848 +BinarySearchTree,Упорядоченный,вставка,308.7705000070855 +BinarySearchTree,Упорядоченный,поиск,3.360699993208982 +BinarySearchTree,Упорядоченный,удаление,3.163499990478158 +BinarySearchTree,Упорядоченный,формирование списка,0.005347600003005937 From 31517521511df45db4d249ec3868e7dde3cc1341 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 14:22:45 +0000 Subject: [PATCH 23/60] [0] time schedule for various operations --- .../data/Снимок экрана 2026-05-06 141650.png | Bin 0 -> 161601 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/docs/data/Снимок экрана 2026-05-06 141650.png diff --git a/lukovnikovde/docs/data/Снимок экрана 2026-05-06 141650.png b/lukovnikovde/docs/data/Снимок экрана 2026-05-06 141650.png new file mode 100644 index 0000000000000000000000000000000000000000..ad33abe1e7cdfa70c4690626db6e35b35ed42341 GIT binary patch literal 161601 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%0D&dL|H8*Pg=rt6c-{2bAB{shOd+zAdk(ajP^A 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 *(8v9`OKPP}pMvR@}zrF$=i!S^g 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

Z|occ&*F>PhTO+y#5oO{)i&AqT%?o<;b5o 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%0A(O$RIPof^Tnw~%`qeyI|Q+0?pS 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 XQ?caRey!|e3ZA{)r^>@)-M{%Kh8#RD literal 0 HcmV?d00001 From e4e9216bdce37d8965f858396c6e0555fa64a6ed Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 14:23:14 +0000 Subject: [PATCH 24/60] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20lukovnikovde/docs/data/=D0=A1=D0=BD=D0=B8=D0=BC=D0=BE?= =?UTF-8?q?=D0=BA=20=D1=8D=D0=BA=D1=80=D0=B0=D0=BD=D0=B0=202026-05-06=2014?= =?UTF-8?q?1650.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/Снимок экрана 2026-05-06 141650.png | Bin 161601 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lukovnikovde/docs/data/Снимок экрана 2026-05-06 141650.png diff --git a/lukovnikovde/docs/data/Снимок экрана 2026-05-06 141650.png b/lukovnikovde/docs/data/Снимок экрана 2026-05-06 141650.png deleted file mode 100644 index ad33abe1e7cdfa70c4690626db6e35b35ed42341..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161601 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%0D&dL|H8*Pg=rt6c-{2bAB{shOd+zAdk(ajP^A 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 *(8v9`OKPP}pMvR@}zrF$=i!S^g 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

Z|occ&*F>PhTO+y#5oO{)i&AqT%?o<;b5o zvmD!+;3>OOZ7G21miG3)aQ#M97f9(?&O3cla&}pK9O90Pi+lCz)v{f?cGc9^8|6LA zd!5(>yGnnxVP|J2Df$#LQ2N@Z6B&tTzP`H={;M(8z0h7Lq{9)#uzUB$_Dw9dj4xii zaB_D3jxqZ$$iT_gqCeao>y#ZIY`Efzx4!;h`<+e_-_MW;a2VV^={+S_<>&k)dGo$~ z`$9F6c`rq(1tc$`%{wAm_AWBm60Qa?sTf1C_oIut2Q9F(;i@~K>fQjT_7Re&Mv+!} z-%CB&oDJgvkI*_I9;a+`_&wzK=pgpp@3J^fF;BmDo*HTQXpt7>BJ&WF{8=0V0t{$( zD=2(MRWh!b;E{s&M}s5_7m=>}j#xG2bw=#LRcqGl$KM0-En%R479GtEb?7OOZ7aMV z#Wt3}&4T;`4xc9smO$2EV|oNl#N!KZ7N&sb#%|owUVPr!^x z+Iw<#g;qf}KuBv1oV;__ud`tOA)bwD=2^ns9%pTU(hHju< zI6Z$Zf!zwU;Q|~earSJFz|1csh#wW zpX%uEul-Q>9I@$J1_xgtji9-QueHDbIV}7Zj6i}wEyMgddG^q-TA`&rNlFsPm~P!L zAMypHhksQYNX-j4gA@um<|_Ibw6ut964*_H#GjLsb1Kt*eq5yxEO;&2<|&+F1rWpm zrn*DWY%j>q6SU$q1Ob8Q*hw08gr<+6-n6tdI8SR3|5=Ur=~-}LGlaTP6VC71cCiBZ zmUyMz)zQp2n&aWGUlKrn*KvpRAw6fQFUVjzbr}e&TI$^+bMx~g`~93*jESr~>;O{8 z|76%*$@K9C5TloqldDOwjK~NrA)uTrA1}Kzd4>d6ZW}byIuWMrsX7LdB1we!c${cyA==4cOa->T|q&gk>@8OljY1sZ*AM;o)Dh>7PT@Xnrt0< zPUUa7GZiUli$7uZIzj5cmh*Do1u3Z?@bp@`x*QQ9-M@G5hi@GH8^n9MTml#016W9T z9(Km58W_jf0I^iRE}jD=`ypDok-bt?sKN^LxojLcbQI~KppcO3Sie34J*YGrwY0SK z>l2Tlz`VjT#I)5l>>7QPER09d2xp~UxA#~Oz>Wt_L1PaW+RzLld>gpk%*?FB*yUg3 z-krQxLZbKr`~xEKz`g#OoGgjez=l{O>e{EOWqT<%@hE&O&q~{Ty%TN7jXz0L|`cQ#1=_u|PyZbE%{y10;(#b!;X6kSQr>C{BT%$J3 z9LdXg`t<2DH#aw3JL&A`FUn$>cam{#4bg7U5~N^^IXQtm z^W#+O=On#BmCb>Ha~RnmS|H~zjpSI!FDGud{zcjHu{1QSudVIIUEdHF^9A3LX+ zL~Rcq(=B+3RP+VFX@JMmoR=aG5@iOf-!Ma5;wCDBV!E{@E}`1E+UK2sDYA4fB#^J| zF*Nhqw(f5!ioAco*I%`@>g03@bqw2O_~g*_58<5$W97H@^&P^_Q3RJnseMHb5sHw~ z)rI35B@kE(TptQCoI^PR>^_;6yZvsu%WeZ$v)oVGxp@icuOTpgFyP;Fbq6c-YS& zc(J0X_fi~K|)s+3-oT5xEl#IIblCLceHuU`2@gT=`3@JsBL z+()Z6u(GqC|8>S+hj9$D8Vvu}pBJDQCyfOL+9n0-y$dA5+msDv$pJzo0e^m#mMY-* z9WGd4?zsEwEN)#zsI3fHBAj&L^A(@i6Q&r<%ENOJ51ti;K(Vi*`W&mjUL1#xrrpVV zWs|AMFd#)613Apu%gc*YnI|d7$$0#O8?d9wbxsp*oah`uI?vDXkkryTG zwrbj%x1y<{+L6NShhxU=jR)-NE?+sKze~B1`At?)ksPOL)M4;TcQWOW7}oC+TT@fx zl$4ZY(Oq(SY_m?!+c$cH=;(a6bGyE}xG&tNIkkKD?q9{l@_0w>Wx>)uRHTGolXd#& z@#8E2F{}o1+m^3bK@1o3sX*+b2TwPsHP03h$X3`Qx9Cshr$sp_dUn#tQbxV1g0OY|S zQf`Ux<1ja}2E1V+OZhpr#8YhNHZ)t%>1qbCDZ&W}6+sDn8XX;-@z!a91w_Z?!-u_* zYB9?}3aS~Djw(hK!euK(2+Hm#J#EKM%g%zGcC@9(Nc7C2r)(7>ZfCG&$xDbLR}E>G zo*YvXq;mj$bLq>PiKmc@mi84rTHzUxDH7=84!n+UW(x`q-gorqs}(a&-42)0=t~g> zM`IS3rI&Tsgr6#oo&dZ;V@FFnzX`(TM=Z;?FoiOlp4Fn|m0+5BbNl{(UMH|?D^wg> zTJ@HWjwcue_+D5jt1Xe$jgxIiA4R?)!wIj0A?LKma1vWk@~AAF2S9I^+CNOLnwnv~ zW2H^6zF++YmuAb39ZuN8c-ybROaZ{IVZfOB&x^6J1a>Vi@862oo8NSlyuW$wt3I0l z{V7Y}qTAz{e;>{N`t{k)u~q*PfdBO?{V{NX|M~8J|BF+1cfolHWf}0Y$B+{z#^Ap+ z_wlcJj1+uE@t)G&SMhY}KW?176oBWxex$`fPo z*h)ZhWZ!oYpOYErsFl!NhWR5L#c=>a5iu}ZzyJQdnwaMmZ2!J_7EaE;-~AbJ@uR?= z8+Y(fz)(*^y7jXj{?m4Fg)p)Bxv5u~`Ohe3@jI|U9cdH(M zA1;{s$m8)aVU^}HBeUjmqO%hWNI+~+Q4zIOOy$}dq3swRVBIZzZwn3>sA8a1XiU8i z0fexCrI!qmwdu4=+bGuHu&en-XZ47?xgokiY09_SjF%r$tJNY^^fA2)%3vhxEs{ry-4|M|Kkkc7iCr= z<%GT^YZiWa4PT*8n!AA?dwzcYlBXvwaUBUW=@gxt0h&fOht{r^pFg>Drjb{hJ+|Y1#0yk7L(EYa$Mfk}s4UP=4t;%t+ijYLmn(m*)6;La0PxPvgxi#(aKVg>>IME_T zq8;X?wI!4f;ycwc?L|zQGF;&cTt$S4%IP8SmK!cv+`$z>YDL2A9IOGj$b?Tqmg$QSp+lEboUMZf#{d;1 z8<5`&`id>|e#3NZts4mV-XpR$b=-jb=37xaAr#;TQ0B2R=*Vt;DezXl$*t|ET_!)o z#-~t3iD<=bJ!sKev2OF`&1$hXol!ae{pt?8&BIJfpNteu3z8+`=*!K}kkBMPqUcT| z**~tbi~>O~8*`h_x3WonD=gduIj06zNQRG;|8^;LQms^O)5ZSyH8L}h^za`1v7yN+i0z~yKAOmP;$X6Z%Etnby;)&0{R+afXTa}Pnk z5h!-wa&y-qVVecW&u=;Q`rSJh7{foV^1zXjbVam|8MC~nk((h`iXyik!~&oCQyob| zVR?k}XWDQk#b40a(8XVXiuXp)`?wz{uK*S~ii2`+xY@3#sHlVLv8*^x@*$zjsE?-_ zlgV%q4mA!}R;a&uI;ssDs=2lG5kPN`iy3)$c!XFmPd|R#pXbHx_VVSHxWp9{L}E{2 zeKq&?uD7zX`s?Xa!f>gEy+{3ErlEj7@%Lwjd|YAEj3azjSWJ2MOktGc22Qvkv>jn_ zLiFOnHk!O83D<(vimLoQJ9`ZW2S*NOK~8!UrzZ7J(b`z%}JFuGxae`UsXThSgk1vMe&{I^Y@+ zNYFMvnVdX+d^?nmi+yU+4aOWI2?+}|9>KGfiW@1%P5y)?cCkx7nLkVhvx!=RkO&s_ zW>r;H@cD4NXN_P~rD^x?O!%ro8i&X@v$+Tdq_TrLtp>uocmMu1oV@@||5Zla4dQx} z+B`QmM;@MHuv7rairPm9?nQd+$$;tM+Ar5uz`c5ip5EiKz9RDwqCzj=83t%1n`34D zg=&kDOJc%==~0V@Vd${1vaST)f@C5NFQF8w4uuFB701IIsvz6#!X*)p0z&D^9a zz_2wGSk)5B%G-!5N<%{fB>CNVJGWBaeKeNj3@1Nvs6VS8FT+s)i3j|Ay{MJ(nF#$# zT)emi)N%xyLBE%wbI;}jQ_jI>cPfVnZ(vF~ICOa?J-Sa_=(zMzilFT@4<7tgo*hJr zkgfIKht5PXo2Odxhm1R5n?C}hV^md+xU>m6PNk#&WjVRcWCcKDyJv0P>#||a*m}5m z8KwxHp*WE(fem>U-STiq=+wl-6W|0?lc!j_A3;RE#Kb7nucnZ(BA>~t)|-y;^77yq z8<@i1OG|07E4!OA#kjQ6^hb{@PIQ;<2R~Jg(%6ZX2VpRy(xV*!l<;*d_X&w&<^P&C zi_wyg@CV!KHk=JGkIh8u!Hpwf(Rkz9t>mDB3Rf2waeq-ev$o%xe*OL(2p4b~V*;hf zjYn!ED=Jlch|c>1_-3pp5Q6AHF!xY`zQLOyumfNSE z!iBGbkmkqxYv~xcG`>N2DMegs_X+crAjg#jo!3cRi1;~}n|*6k-OIvqMtc>Y&2P*sm4J~$F#Xxs$OOxPbR52k zKj7Z*dQU+<3{AZ!H>&9K)VN86Ey1R3BVL~^3r>X!zt zvY+W-h?}LMkP$4h$e`u?gw{y70O}VFYHYcxT_kL(X8f*xRpd@k_9sX=UIiaUA^3@W zMs)P%ZGi*oiZu%d#PTSm#^f=>=?MGcfdhHa}I%O};9=UFvPee0TR*5|&0+0}iDvs5(13E~q00q94xS1Ib zSpb;X-30WL1qw|I#}#I?tmYFhF9s0kn(VEVy=-i&h~tCg?g*wNdR$a6p+Tfo%xFKr z5XeTbMnm;$O)WCsjcb0VZTs>J8Ztte+nTACOjA)4d}JkenJV~7v1=f5xc^G;3+D={&sy}O+FX>IIC#Z}3Sq3*GTC7<1E)fr+qn8Myzx^? zLpb;V0XK3QBOO3VCJ>x7w66-B)R2uLcn*0EHmkuurN7?4e_vSixm_~?w_diu9ZKcH z+>aw@o5%bI|5$^xSlH^>%^a`Uh7dR=bBzwY&a=4u`3RKhW(vEuA z>u{(G7LPneuPdgJyxoUmTDGIr%G&9O;Q~0lxV0~}t?yvGLJlNfwii-1`2fb>#l9!@ zqslA7$>#Ta^=cn(08!bJEqdH9PXX|?c67WkJ(+1Yn@D*Hqpi>7LUlEcdI8&ho@H}h zhRXl=`(83^%9x280ahT78$ni*;T$lSySI0k{UxGM;&(%C`HMMdq2UHWaT~=%m{G6T zz2Q?NFIikw2Wav8vV*adLuMy~Qr+jW%ck(;_Y)mS}~TClG>_v&&2nnmE71y zk2F0^Y{@LJe`3M?hOKrGDAs4}5DVVaq3URDRk1^MA{4-e$Be~!dF~)I&Jht2H+6Kv zZY$-bpx*dQV~PaFP^#zfI$FL@&kpA!l%NZh}&>Y#+>p3bKx(4p?r2 zaps>KB(Ae;FA`0azpe!gDX3XH9Dma^o8q@nGwQ;TspO%Tjp@aT*uWrLD-^rRt}Kjw z>_Zlt0p2ds77@a@)1Mb1M>`>e2c7H!l*V?%b<5NAL|!CheD@)ToKbT0{Ov-xIfvs6 zMq0C$pTda|{PRNq-AEg~} z7u6duRcI+?7|<^qyN7b~C~e_S*@QNtK$MpxH~pWm@8smSUJv%Do|J@HM;<-=#+8(d z$>ur<#!&OWBqe39VYa29$M9>xu_SI92|2;fuM`~By}RP-aTo7K6hYGYcZ`*>c}q!3 zLiG3sh{-q7O7iQ%w$mlX+e0$L@u&?IZIBDzbNB9DK^#6D;@64_q~DOjkF%p6k>mq> z5JPo{^O34B z9|TXHjOcngO3tN&m%SQ%Ss>L)h8(PUj~ug#!NH=pJlB>>tX%S-2qQB$R}?!0kzzS* zY0wTti%vi<=D}@?v#`fzI(Q{9^1vkxlg2b>gthn(NLaG7#OUBUiIWMfzygVI)tKvN z3y*D~AZB|MXE70?jt5@uQCnaCZbAeBrR#M+p=*C2aWuX2=g$-AkVwJ;^E&q7%3*;t z1i%vzLIU)7To<)9niKUTuTggyAyi@-BeFf-LF`WFM)JqRwJ(3VarFuu@v<2=+=ask z5#Q%9PVH*K@d(>6)^`v2e7@@Ps;Wz}d&1LFvFa)0%woj<=c!59dwiyc-%gt;D)V0so7x8M=`4*OM33MRd)W|T!>2Jv>t)xp`qye zdUl><7&e5L;Q^UMO{oD!h5qrn98M6kAJa=UH9)52JG$5@D?vY0{P0qXbU_T4BdBl8;Ov zC#5TZW2ON&U67NjIt+<-Ib{xe>%f({p$|Ni?Q4AB)}>l;Q<`z$EN}fJmK2g&#)-Em zaArTN&!f5YMudT|eyp;=9Bzzxhm=O9y{2|yI3_oD!fbN__6Oe|&zd0v<%N?I#eqQ{ zDv$+AWv9hx0n~oaYaCUQe%?7vf&Jf8XEtx<1?WW#NfRYM7MVWmomK>4ykP+8;WOEz;mf;^2WnJM2IGG$U^E zXFt^C0^s9D`0K0QH2RkR`fJsJ=`xve!GZ;45(m?JbScekTI^fR>rpk3xU*(zKXY>z zH=Vp5>gE(2W*N0+kEvSmlzV2^=%*MSPAq$>F9;s{g(&(t5E>IRlJ`74(4vg!mZG-p zDBTvrbc)g2uUC9AssFnzq95_cs2iQW53m{P|X8EqLZWQ&tRmI6g` zF5ECm{G?Y=NegOrrtd09=Dd(L?0LE&Ps@M5T7^x5D&aG4vxI}V3=b$H9=H2Ke3Mxg zFGoO4v8923CbuWasHD>9qGeMX_Ppy<>n>NMRKXz{)AMc>{RrS3oc?ywaQub-b(?hUKwUh$gc-(O}lY_`pi1-Q+1E>A5>NCPwt%>t>x59 zO-*eZUDG9ursZfjx|x@>`qf8Q){eA`@wlz!SRaJehN>&_T5j%maQj{(J!WY@Qssc*;m}oWiwXn-Dd;qckoF6c{h%j%{np3tuL*5 zOIt2Nat>l{|2)S`nl>AICnxRQ*9T%jvp6*e#mvx9QB{u>2LFx z_Vba0W)2Py!SH`3C4$Wj4IzxTt#a{>)VG>J+QhNoI1H@=z)5l|vN)_gsjiP0sHa5% zMVXHXP9K|j-Ux;l+XDbIe&oTr7CF^d(|v0L#6;it#waZ>gE78JZK9j8ckNe$9WJQVH!a zFz<0=uRminj_+=tDcU2=duduRW~eR;*=S2_?6;)Z+Ja}sO`aSzV-C#>1lSe721BvE z`(*6~WbDJIB<|<6Ecb^D@7z4<{A~)#GaOZw2lT?D8lAV-D32gtycGf9 zC?N-RnHre|TDs2e6c{`B(JHzeyWx+i#nrhnbt&rhAN{r+;mT#N2SPtUwhYIu3HJKi651y8N%&5ef@W!2Tb zOMgkOtV~=-@C1`t0AyZ7rRPKlm${t4^{l==8)i*ff}og`+7rueee>}S=-opNdyYQy zTOO~nz~%T`JnKX~nRW8^!gc%b?suXSzx{F!D08QW4;tzi7M$3G2 zQuT-b9x|@3$L6&W3LI19m0m4L+H}Au{aeX#jmfK9guxUkb|udnUQh6(;uE_Z_aVC= zaJw=;CjJRjbG^^cQNJD?;%)0&v>)lyJvR8$0(|=%nsOG^4`HLzEv|$&S7knmZD4s&+A!rp-lUPFY(>C zLWg_%Jg`z+f(Qnc5zWJ*$J_-YD3+O)~?FDL!Yw1imK>e3k1<;lIEPNzdD9G=kVs$F|;4_6B{ z;Q|Z%az@~r*DJoa`g&>?^FVSG(F2`ZQsEm7S9T&9swvqf+6|$<&?nV<3|G%{Jo5yG zkS^>zCQ&)K;bY$qUUf>jbKJkz$5vK}7u~I0Xqw0IC={qUyF7FGr;@XURkl6zd&G`m z?oJ_zGa-M_ms%c+DsHkTkK03`|LUqw&0UUUuzDB%NFT7$)3U3&Zh;KoZM`;Y(k_+u zil);Wgyw8CJWw!i;p#o|Zs!p;Fdjs~7*K zxD}ssj8#V-23X%8#qPy|vD981PTHRfW8=#+W-g!t(OJYB}1G}bbFGlST6UTOY zy?@m*kmcO@^Vc$3%F!w%uY^P7Joi%0A(O$RIPof^Tnw~%`qeyI|Q+0?pS z!Y%r+tuZn6cT_qG2B&SJGKndpF)1?|Jkdh8ts1*%yJoJK<B$HS7pL6Zaz1z3-a21@V#9O8w3vbT| zht=5m-#YYdBGavhQ-uHq96WgzRQki<91(Uf0U7u=O9GAwMfd!Eoq&MCgC;s{-MMoU z+Oiz7;gQZ%6BP?lv`9}U0{@>D4DeXmpQ5ZKs5Uuxnl2}_$?LIh6|0UA$8Jn#jSo_^ z2p=ePOQ%C>L&NAPTf=9@XQ0mNt^$sF!R52DPt2INll7dfssjnxVoDd$hw(Z}w~gdK z>w~%|5K20fU&;4sJpB?JFEyn;Rljt4*gGM7`aj;@I^eAKojT?4Aq$SWaN)u(#{6LY z&4Jb}S}A$}Yz{oST1ZGpT}_D|qRDumyfgDZ35|CpxzbkQv~!e>Y(XsIXI!xzt9C5p zGj~n*(V@<-6N=o}_yb%jUAZaeAfD68J(S}aj!gB!-G2eIg1}Ef?9v|yfRwBZ&b({W zZjW42(HV|2#@{&Gvl1CniRNiGX!8!|XWnQht(Y5;g;;(KJ_x$czV0|$l3t1XR@?XTR3x{uSEb6 z_d6N_3t<=RAc?`Apt!?VKdpTFRD&gl0Jn?c!juJd425ezY7hAz^cvZi`^PtvB1Pwa zXCQXxGK^YMu^O}LZmD?|UZmT!u3_<)VvJN;wUpZ`l-KEPW!00Gc03P2zYAmM|AC<| zK2~RN{A1G}lWO+UAf6dr`y4E!dqDp*p079B5CL{Unyk9@d?dZ0;&-+HH zILf5GA_S|1J~Vx^wYa3D2a3u$UX3FpW+MX36G!)^O?K#4#}GN1j6)%Bho^^3q|d@U zqiju)E}Ulh6$dp*XbrP2`+>HOlD6~{uJ0N{SP{~Rj+h$)=Lh7qyO)QZ$0De z0P!_cRBVtLnsQCZTFCfq1Am3Xj2Yb-A*3O#%IuR%vM`SgffHP}Zrv_KkNEAorE!fm znbrw7HrB~WT{a;ELo7NUm2OX>IoJeTOJmBPo3h{sv|oYsaG}fnLheE(vsd-NLVFGY zWPgrYW2f(8VnXSZB>YB1Q;E~<;;o3Q>_kPLxh(MKL?-+6>9hN6K_tG_x6Epi=Myp4 zEM7c}!*Jv_7N2NMrW^v&X^1ts{^9}4(37#a(<)hr4oqnWVaiDNlZR~1K<4%yIB>$m z`bGO86aZ(k8YoiZxGR|4dL0A5TpwCOS2xqnIP3G$QALmH;a7>PZ-AB0s8i-*q%US`BaCZm2VC8;y132*x<)e zvx*JZy>4D;;ic>8=_%NsEX5qOD2wX&FQ$dvEiTT7ww{;rf5>y!+Zh_x;=2ob@A19+^76%tTV+xVB+VXWn3h=RaeOe_w(CpA zsaljooo12f1;N_H0gp1dw zp`l^&p&6D8-l!t!wDgIN@LM8G!f2UggrPy(Go-*6lp#KNexa2x6+_RgGb=xL`JH`H z3+P}yfbdi~g22lL9rZ*v6`J5ChnC133Y6J8yO;O3LD9>Hk1s8T1!y^E%d!)a z%fN+>%vb7n>I281&F3a3dgb33eVEH8nxc548%D=QP7Hhb#~*R`3O84qC&t#^OJ*k8 zCg_lH{M^0`oxbNFWU59K_JusUfPu2)D=G%c8e!|%-js38CGv&6>73K9iag4W#q)2h zcl3QaJuWKBklW%xS($-cG%CbLi_15td{mizw1L;(A>KjHbO!bGPy*?;9SYjCy^q55A7RH1KzrI>pYC^wP)UtLENp_LXGu(@Q&0`+GQCu&Kk*| z>ryaIm~o{;0q!5CT5NAt`#0CPl1;oWd&&e@T08t$LjJ&4RYim)^bk-*_jr^MXmmDH z++P23BBa?GVP7;jXo-r5unh;9WUUW2`G(G2cct!`%pEWGj#~-_d8G z-b?A^!U=#BJ`-J`wE4|(RmIQ47|5Hps3aCk`rZjltbXS>ulV^V0<0op!Sdm?t#d`s zjT;$YD96jqI`QQgc}tKf?0Q?`;_}w4diPp&PG4e})N~%okt)_AA)=K8UH^()Lr>5} z90SJ0m%a~eKqwVbUv%*|^=w99+&@MbPogNi-V_6PqcM{wYtg5t3|=W>cPGjbQc9uT zJ2a=M(;@k;_@^6t%=>pUI^RiZHWSU~Z(ma`$9a7Bua@@xuY2Rf<@vWS=b;bjdH?p6 zG%qLX{SW;9HL^GU7Z3bfqyB$B`~T{JfB&R^{cg%-@tOVY>;K>Q|C~DbKlX{IHn;1t XQ?caRey!|e3ZA{)r^>@)-M{%Kh8#RD From 4fc4ce2070b5a7dd4b4d838588365a3326ab46da Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 14:31:21 +0000 Subject: [PATCH 25/60] [3] updating data --- lukovnikovde/docs/data/resalts.csv | 241 ++++++++++++++++++ ...ый,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv | 241 ------------------ 2 files changed, 241 insertions(+), 241 deletions(-) create mode 100644 lukovnikovde/docs/data/resalts.csv delete mode 100644 lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv diff --git a/lukovnikovde/docs/data/resalts.csv b/lukovnikovde/docs/data/resalts.csv new file mode 100644 index 0000000..ed393a5 --- /dev/null +++ b/lukovnikovde/docs/data/resalts.csv @@ -0,0 +1,241 @@ +Структура,Режим,Операция,Время(мс) +LinkedList,Случайный,вставка,311.8601000023773 +LinkedList,Случайный,поиск,3.0993999971542507 +LinkedList,Случайный,удаление,6.629099996644072 +LinkedList,Случайный,формирование списка,60.98759999440517 +LinkedList,Упорядоченный,вставка,332.72419999411795 +LinkedList,Упорядоченный,поиск,3.1196000054478645 +LinkedList,Упорядоченный,удаление,5.813899988424964 +LinkedList,Упорядоченный,формирование списка,39.0969000000041 +LinkedList,Случайный,вставка,333.36899999994785 +LinkedList,Случайный,поиск,3.6326999979792163 +LinkedList,Случайный,удаление,5.94719999935478 +LinkedList,Случайный,формирование списка,68.81969999813009 +LinkedList,Упорядоченный,вставка,347.4948999937624 +LinkedList,Упорядоченный,поиск,3.69440000213217 +LinkedList,Упорядоченный,удаление,6.888300005812198 +LinkedList,Упорядоченный,формирование списка,46.8346000125166 +LinkedList,Случайный,вставка,309.86330000450835 +LinkedList,Случайный,поиск,2.868099996703677 +LinkedList,Случайный,удаление,6.037400002242066 +LinkedList,Случайный,формирование списка,61.938399987411685 +LinkedList,Упорядоченный,вставка,338.7425999972038 +LinkedList,Упорядоченный,поиск,3.638499998487532 +LinkedList,Упорядоченный,удаление,7.441800000378862 +LinkedList,Упорядоченный,формирование списка,39.537500008009374 +LinkedList,Случайный,вставка,310.5929000012111 +LinkedList,Случайный,поиск,3.468300012173131 +LinkedList,Случайный,удаление,7.5059000082546845 +LinkedList,Случайный,формирование списка,64.28520000190474 +LinkedList,Упорядоченный,вставка,335.0771999976132 +LinkedList,Упорядоченный,поиск,3.0857999954605475 +LinkedList,Упорядоченный,удаление,6.151499997940846 +LinkedList,Упорядоченный,формирование списка,38.384100000257604 +LinkedList,Случайный,вставка,333.7921000056667 +LinkedList,Случайный,поиск,6.480700001702644 +LinkedList,Случайный,удаление,8.09099999605678 +LinkedList,Случайный,формирование списка,63.44879999232944 +LinkedList,Упорядоченный,вставка,312.329199994565 +LinkedList,Упорядоченный,поиск,3.115400002570823 +LinkedList,Упорядоченный,удаление,5.880099997739308 +LinkedList,Упорядоченный,формирование списка,39.14569999324158 +LinkedList,Случайный,вставка,306.0167000076035 +LinkedList,Случайный,поиск,3.3414000063203275 +LinkedList,Случайный,удаление,6.772799999453127 +LinkedList,Случайный,формирование списка,58.58910000824835 +LinkedList,Упорядоченный,вставка,317.93599999218713 +LinkedList,Упорядоченный,поиск,4.178699993644841 +LinkedList,Упорядоченный,удаление,6.598799998755567 +LinkedList,Упорядоченный,формирование списка,43.91350000514649 +LinkedList,Случайный,вставка,326.0805000027176 +LinkedList,Случайный,поиск,3.511100003379397 +LinkedList,Случайный,удаление,7.0478000125149265 +LinkedList,Случайный,формирование списка,65.27820001065265 +LinkedList,Упорядоченный,вставка,342.3164999985602 +LinkedList,Упорядоченный,поиск,2.997699994011782 +LinkedList,Упорядоченный,удаление,6.1990999965928495 +LinkedList,Упорядоченный,формирование списка,38.459399991552345 +LinkedList,Случайный,вставка,352.4922000069637 +LinkedList,Случайный,поиск,3.4684999991441146 +LinkedList,Случайный,удаление,6.042299995897338 +LinkedList,Случайный,формирование списка,58.957499990356155 +LinkedList,Упорядоченный,вставка,336.49819999118336 +LinkedList,Упорядоченный,поиск,4.811599996173754 +LinkedList,Упорядоченный,удаление,7.25540000712499 +LinkedList,Упорядоченный,формирование списка,42.60240000439808 +LinkedList,Случайный,вставка,335.7185000058962 +LinkedList,Случайный,поиск,3.1072999991010875 +LinkedList,Случайный,удаление,7.647199992788956 +LinkedList,Случайный,формирование списка,61.90960000094492 +LinkedList,Упорядоченный,вставка,348.60630000184756 +LinkedList,Упорядоченный,поиск,3.2524999987799674 +LinkedList,Упорядоченный,удаление,7.037800009129569 +LinkedList,Упорядоченный,формирование списка,45.27720001351554 +LinkedList,Случайный,вставка,349.1418000048725 +LinkedList,Случайный,поиск,3.576899995096028 +LinkedList,Случайный,удаление,6.985800006077625 +LinkedList,Случайный,формирование списка,61.900600005174056 +LinkedList,Упорядоченный,вставка,341.29359999496955 +LinkedList,Упорядоченный,поиск,3.3715000026859343 +LinkedList,Упорядоченный,удаление,5.9412999980850145 +LinkedList,Упорядоченный,формирование списка,39.60160000133328 +HashTable,Случайный,вставка,36.995000002207235 +HashTable,Случайный,поиск,0.5348999984562397 +HashTable,Случайный,удаление,0.5553000082727522 +HashTable,Случайный,формирование списка,92.14980000979267 +HashTable,Упорядоченный,вставка,38.21459999016952 +HashTable,Упорядоченный,поиск,0.5354000022634864 +HashTable,Упорядоченный,удаление,0.5906000005779788 +HashTable,Упорядоченный,формирование списка,88.85620000364725 +HashTable,Случайный,вставка,32.90600000764243 +HashTable,Случайный,поиск,0.575300000491552 +HashTable,Случайный,удаление,0.5553999944822863 +HashTable,Случайный,формирование списка,88.85440000449307 +HashTable,Упорядоченный,вставка,34.381400007987395 +HashTable,Упорядоченный,поиск,0.5379000067478046 +HashTable,Упорядоченный,удаление,0.5721999914385378 +HashTable,Упорядоченный,формирование списка,99.7819000040181 +HashTable,Случайный,вставка,32.61900000507012 +HashTable,Случайный,поиск,0.5061999981990084 +HashTable,Случайный,удаление,0.5795999895781279 +HashTable,Случайный,формирование списка,99.24530000716913 +HashTable,Упорядоченный,вставка,33.648600001470186 +HashTable,Упорядоченный,поиск,0.5078999965917319 +HashTable,Упорядоченный,удаление,0.5576999974437058 +HashTable,Упорядоченный,формирование списка,95.2331000007689 +HashTable,Случайный,вставка,35.18770000664517 +HashTable,Случайный,поиск,0.5262999911792576 +HashTable,Случайный,удаление,0.5527000030269846 +HashTable,Случайный,формирование списка,94.51690000423696 +HashTable,Упорядоченный,вставка,32.084099992061965 +HashTable,Упорядоченный,поиск,0.5337000038707629 +HashTable,Упорядоченный,удаление,0.5661999894073233 +HashTable,Упорядоченный,формирование списка,92.34840000863187 +HashTable,Случайный,вставка,32.56010000768583 +HashTable,Случайный,поиск,0.8410000009462237 +HashTable,Случайный,удаление,0.9258000063709915 +HashTable,Случайный,формирование списка,100.2130999986548 +HashTable,Упорядоченный,вставка,35.40219999558758 +HashTable,Упорядоченный,поиск,0.5304999940562993 +HashTable,Упорядоченный,удаление,0.5839999939780682 +HashTable,Упорядоченный,формирование списка,89.48920000693761 +HashTable,Случайный,вставка,32.839099992997944 +HashTable,Случайный,поиск,0.5260000034468248 +HashTable,Случайный,удаление,0.5661000031977892 +HashTable,Случайный,формирование списка,94.66200000315439 +HashTable,Упорядоченный,вставка,33.16459999768995 +HashTable,Упорядоченный,поиск,0.5823999963467941 +HashTable,Упорядоченный,удаление,0.6093999982113019 +HashTable,Упорядоченный,формирование списка,96.02349999477156 +HashTable,Случайный,вставка,34.824300004402176 +HashTable,Случайный,поиск,0.6218999915290624 +HashTable,Случайный,удаление,0.6026000046404079 +HashTable,Случайный,формирование списка,116.66119999426883 +HashTable,Упорядоченный,вставка,37.25999999733176 +HashTable,Упорядоченный,поиск,0.5453000048873946 +HashTable,Упорядоченный,удаление,0.5864999984623864 +HashTable,Упорядоченный,формирование списка,89.71509999537375 +HashTable,Случайный,вставка,40.50240000651684 +HashTable,Случайный,поиск,0.8645000052638352 +HashTable,Случайный,удаление,0.90230000205338 +HashTable,Случайный,формирование списка,90.88490001158789 +HashTable,Упорядоченный,вставка,31.434000004082918 +HashTable,Упорядоченный,поиск,0.5355000030249357 +HashTable,Упорядоченный,удаление,0.6349000032059848 +HashTable,Упорядоченный,формирование списка,87.44309999747202 +HashTable,Случайный,вставка,33.64940000756178 +HashTable,Случайный,поиск,0.8600000001024455 +HashTable,Случайный,удаление,0.7679999980609864 +HashTable,Случайный,формирование списка,94.88509999937378 +HashTable,Упорядоченный,вставка,31.084599992027506 +HashTable,Упорядоченный,поиск,0.5097999965073541 +HashTable,Упорядоченный,удаление,0.5652999971061945 +HashTable,Упорядоченный,формирование списка,89.97830000589602 +HashTable,Случайный,вставка,34.94059998774901 +HashTable,Случайный,поиск,0.5363999953260645 +HashTable,Случайный,удаление,0.9123000054387376 +HashTable,Случайный,формирование списка,96.32379999675322 +HashTable,Упорядоченный,вставка,32.151399995200336 +HashTable,Упорядоченный,поиск,0.5317000031936914 +HashTable,Упорядоченный,удаление,0.5829000001540408 +HashTable,Упорядоченный,формирование списка,93.51580000657123 +BinarySearchTree,Случайный,вставка,102.40699999849312 +BinarySearchTree,Случайный,поиск,1.3612000038847327 +BinarySearchTree,Случайный,удаление,1.1245999921811745 +BinarySearchTree,Случайный,формирование списка,0.023999993572942913 +BinarySearchTree,Упорядоченный,вставка,316.0647000040626 +BinarySearchTree,Упорядоченный,поиск,3.1904000061331317 +BinarySearchTree,Упорядоченный,удаление,3.3792000031098723 +BinarySearchTree,Упорядоченный,формирование списка,1.6973000019788742 +BinarySearchTree,Случайный,вставка,91.03359999426175 +BinarySearchTree,Случайный,поиск,1.371799997286871 +BinarySearchTree,Случайный,удаление,1.2165999942226335 +BinarySearchTree,Случайный,формирование списка,0.024100008886307478 +BinarySearchTree,Упорядоченный,вставка,347.1241000079317 +BinarySearchTree,Упорядоченный,поиск,4.274999999324791 +BinarySearchTree,Упорядоченный,удаление,2.4944999895524234 +BinarySearchTree,Упорядоченный,формирование списка,0.8478999952785671 +BinarySearchTree,Случайный,вставка,92.06209999683779 +BinarySearchTree,Случайный,поиск,1.3248000032035634 +BinarySearchTree,Случайный,удаление,1.3013999996474013 +BinarySearchTree,Случайный,формирование списка,0.05079999391455203 +BinarySearchTree,Упорядоченный,вставка,332.4990999972215 +BinarySearchTree,Упорядоченный,поиск,3.3688999974401668 +BinarySearchTree,Упорядоченный,удаление,3.079799993429333 +BinarySearchTree,Упорядоченный,формирование списка,1.447100003133528 +BinarySearchTree,Случайный,вставка,94.18839999125339 +BinarySearchTree,Случайный,поиск,2.256499996292405 +BinarySearchTree,Случайный,удаление,1.2769000022672117 +BinarySearchTree,Случайный,формирование списка,0.12320000678300858 +BinarySearchTree,Упорядоченный,вставка,335.0482999958331 +BinarySearchTree,Упорядоченный,поиск,4.005399998277426 +BinarySearchTree,Упорядоченный,удаление,2.4089999933494255 +BinarySearchTree,Упорядоченный,формирование списка,1.9695999944815412 +BinarySearchTree,Случайный,вставка,101.12979999394156 +BinarySearchTree,Случайный,поиск,1.4136999961920083 +BinarySearchTree,Случайный,удаление,1.236700001754798 +BinarySearchTree,Случайный,формирование списка,0.27800000680144876 +BinarySearchTree,Упорядоченный,вставка,333.7679999967804 +BinarySearchTree,Упорядоченный,поиск,4.243799994583242 +BinarySearchTree,Упорядоченный,удаление,3.14470000739675 +BinarySearchTree,Упорядоченный,формирование списка,2.2033999994164333 +BinarySearchTree,Случайный,вставка,101.16009999183007 +BinarySearchTree,Случайный,поиск,2.0936999935656786 +BinarySearchTree,Случайный,удаление,2.1564000053331256 +BinarySearchTree,Случайный,формирование списка,0.4315999976824969 +BinarySearchTree,Упорядоченный,вставка,329.3697999906726 +BinarySearchTree,Упорядоченный,поиск,3.3687999966787174 +BinarySearchTree,Упорядоченный,удаление,2.4997000000439584 +BinarySearchTree,Упорядоченный,формирование списка,1.727099996060133 +BinarySearchTree,Случайный,вставка,99.00390000257175 +BinarySearchTree,Случайный,поиск,1.3448000099742785 +BinarySearchTree,Случайный,удаление,1.1521000124048442 +BinarySearchTree,Случайный,формирование списка,0.5104000010760501 +BinarySearchTree,Упорядоченный,вставка,332.7874999959022 +BinarySearchTree,Упорядоченный,поиск,4.331000003730878 +BinarySearchTree,Упорядоченный,удаление,2.853600002708845 +BinarySearchTree,Упорядоченный,формирование списка,3.774099997826852 +BinarySearchTree,Случайный,вставка,94.74190000037197 +BinarySearchTree,Случайный,поиск,1.352399995084852 +BinarySearchTree,Случайный,удаление,1.2611999991349876 +BinarySearchTree,Случайный,формирование списка,0.8051000040723011 +BinarySearchTree,Упорядоченный,вставка,338.8535999984015 +BinarySearchTree,Упорядоченный,поиск,3.4047999943140894 +BinarySearchTree,Упорядоченный,удаление,2.4553999974159524 +BinarySearchTree,Упорядоченный,формирование списка,3.5234999959357083 +BinarySearchTree,Случайный,вставка,91.76830000069458 +BinarySearchTree,Случайный,поиск,1.3421000039670616 +BinarySearchTree,Случайный,удаление,1.4171999937389046 +BinarySearchTree,Случайный,формирование списка,1.0964999964926392 +BinarySearchTree,Упорядоченный,вставка,332.47900000424124 +BinarySearchTree,Упорядоченный,поиск,3.157399987685494 +BinarySearchTree,Упорядоченный,удаление,6.078400008846074 +BinarySearchTree,Упорядоченный,формирование списка,4.061100000399165 +BinarySearchTree,Случайный,вставка,90.57990000292193 +BinarySearchTree,Случайный,поиск,1.302800010307692 +BinarySearchTree,Случайный,удаление,1.117399995564483 +BinarySearchTree,Случайный,формирование списка,1.220699996338226 +BinarySearchTree,Упорядоченный,вставка,326.30869999411516 +BinarySearchTree,Упорядоченный,поиск,3.144999995129183 +BinarySearchTree,Упорядоченный,удаление,2.4704999959794804 +BinarySearchTree,Упорядоченный,формирование списка,0.0027224000077694654 diff --git a/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv b/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv deleted file mode 100644 index b52729b..0000000 --- a/lukovnikovde/docs/data/Структура,Режим,Операция,Время(мс) LinkedList,Случайный,вставка,208.20209999510553 LinkedList,Случайный,поиск,2.9045000119367614 LinkedList,Случайный,удаление,6.004199996823445 LinkedList,Случайный,формирование списка,43.378100002883 LinkedListresults.csv +++ /dev/null @@ -1,241 +0,0 @@ -Структура,Режим,Операция,Время(мс) -LinkedList,Случайный,вставка,315.1450000004843 -LinkedList,Случайный,поиск,4.316799997468479 -LinkedList,Случайный,удаление,6.655499993939884 -LinkedList,Случайный,формирование списка,60.00260000291746 -LinkedList,Упорядоченный,вставка,350.889699999243 -LinkedList,Упорядоченный,поиск,4.407000000355765 -LinkedList,Упорядоченный,удаление,9.319399992818944 -LinkedList,Упорядоченный,формирование списка,42.746599996462464 -LinkedList,Случайный,вставка,325.66859999496955 -LinkedList,Случайный,поиск,3.040399999008514 -LinkedList,Случайный,удаление,5.931300009251572 -LinkedList,Случайный,формирование списка,60.57949998648837 -LinkedList,Упорядоченный,вставка,336.7800999985775 -LinkedList,Упорядоченный,поиск,3.11140000121668 -LinkedList,Упорядоченный,удаление,7.032299996353686 -LinkedList,Упорядоченный,формирование списка,38.3676000055857 -LinkedList,Случайный,вставка,331.8294000055175 -LinkedList,Случайный,поиск,3.2995999936247244 -LinkedList,Случайный,удаление,5.828900000778958 -LinkedList,Случайный,формирование списка,59.610899988911115 -LinkedList,Упорядоченный,вставка,322.081900012563 -LinkedList,Упорядоченный,поиск,3.226500004529953 -LinkedList,Упорядоченный,удаление,6.857400003354996 -LinkedList,Упорядоченный,формирование списка,40.90739999082871 -LinkedList,Случайный,вставка,308.91980000888 -LinkedList,Случайный,поиск,4.142200006754138 -LinkedList,Случайный,удаление,7.1447999944211915 -LinkedList,Случайный,формирование списка,62.26019999303389 -LinkedList,Упорядоченный,вставка,356.4856999873882 -LinkedList,Упорядоченный,поиск,3.2805000082589686 -LinkedList,Упорядоченный,удаление,7.517700010794215 -LinkedList,Упорядоченный,формирование списка,38.8781000074232 -LinkedList,Случайный,вставка,338.4959999966668 -LinkedList,Случайный,поиск,3.1971999997040257 -LinkedList,Случайный,удаление,6.824999989476055 -LinkedList,Случайный,формирование списка,72.87770000402816 -LinkedList,Упорядоченный,вставка,331.1701000056928 -LinkedList,Упорядоченный,поиск,3.181500011123717 -LinkedList,Упорядоченный,удаление,6.956600002013147 -LinkedList,Упорядоченный,формирование списка,45.828999995137565 -LinkedList,Случайный,вставка,330.27880000008736 -LinkedList,Случайный,поиск,3.262800004449673 -LinkedList,Случайный,удаление,5.911299987928942 -LinkedList,Случайный,формирование списка,59.69100000220351 -LinkedList,Упорядоченный,вставка,334.73180000146385 -LinkedList,Упорядоченный,поиск,3.0015000083949417 -LinkedList,Упорядоченный,удаление,5.957399989711121 -LinkedList,Упорядоченный,формирование списка,38.86820000479929 -LinkedList,Случайный,вставка,321.3075999956345 -LinkedList,Случайный,поиск,3.3231999987037852 -LinkedList,Случайный,удаление,6.390499998815358 -LinkedList,Случайный,формирование списка,61.298600005102344 -LinkedList,Упорядоченный,вставка,360.48879999725614 -LinkedList,Упорядоченный,поиск,3.0202999914763495 -LinkedList,Упорядоченный,удаление,6.7882000003010035 -LinkedList,Упорядоченный,формирование списка,38.73149999708403 -LinkedList,Случайный,вставка,344.594700000016 -LinkedList,Случайный,поиск,3.0772000027354807 -LinkedList,Случайный,удаление,7.201000000350177 -LinkedList,Случайный,формирование списка,68.52040000376292 -LinkedList,Упорядоченный,вставка,326.10489999933634 -LinkedList,Упорядоченный,поиск,3.6927000037394464 -LinkedList,Упорядоченный,удаление,6.466999999247491 -LinkedList,Упорядоченный,формирование списка,43.164300004718825 -LinkedList,Случайный,вставка,336.68520000355784 -LinkedList,Случайный,поиск,3.8714000111212954 -LinkedList,Случайный,удаление,7.6293000020086765 -LinkedList,Случайный,формирование списка,64.97999999555759 -LinkedList,Упорядоченный,вставка,353.74369999044575 -LinkedList,Упорядоченный,поиск,4.3335999944247305 -LinkedList,Упорядоченный,удаление,6.703400009428151 -LinkedList,Упорядоченный,формирование списка,44.42610000842251 -LinkedList,Случайный,вставка,343.05890000541694 -LinkedList,Случайный,поиск,3.133099991828203 -LinkedList,Случайный,удаление,7.611599998199381 -LinkedList,Случайный,формирование списка,60.717500004102476 -LinkedList,Упорядоченный,вставка,355.8459999912884 -LinkedList,Упорядоченный,поиск,3.6125000042375177 -LinkedList,Упорядоченный,удаление,6.540600006701425 -LinkedList,Упорядоченный,формирование списка,37.76039999502245 -HashTable,Случайный,вставка,36.150400002952665 -HashTable,Случайный,поиск,0.5397000059019774 -HashTable,Случайный,удаление,0.5634999979520217 -HashTable,Случайный,формирование списка,99.8268000112148 -HashTable,Упорядоченный,вставка,36.392599999089725 -HashTable,Упорядоченный,поиск,0.7215999939944595 -HashTable,Упорядоченный,удаление,0.9868000051937997 -HashTable,Упорядоченный,формирование списка,89.34399999270681 -HashTable,Случайный,вставка,31.0685000004014 -HashTable,Случайный,поиск,0.5193000106373802 -HashTable,Случайный,удаление,0.5655999993905425 -HashTable,Случайный,формирование списка,88.22770000551827 -HashTable,Упорядоченный,вставка,31.6781000001356 -HashTable,Упорядоченный,поиск,0.520800007507205 -HashTable,Упорядоченный,удаление,0.5692999984603375 -HashTable,Упорядоченный,формирование списка,93.50269999413285 -HashTable,Случайный,вставка,32.41780000098515 -HashTable,Случайный,поиск,0.5359000060707331 -HashTable,Случайный,удаление,0.5809000140288845 -HashTable,Случайный,формирование списка,91.42560001055244 -HashTable,Упорядоченный,вставка,33.23169999930542 -HashTable,Упорядоченный,поиск,0.5219000013312325 -HashTable,Упорядоченный,удаление,0.5640999879688025 -HashTable,Упорядоченный,формирование списка,93.49840000504628 -HashTable,Случайный,вставка,32.34969999175519 -HashTable,Случайный,поиск,0.5914000066695735 -HashTable,Случайный,удаление,0.7762000022921711 -HashTable,Случайный,формирование списка,90.24459999636747 -HashTable,Упорядоченный,вставка,34.15970000787638 -HashTable,Упорядоченный,поиск,0.5342999938875437 -HashTable,Упорядоченный,удаление,0.5834999901708215 -HashTable,Упорядоченный,формирование списка,96.20780000113882 -HashTable,Случайный,вставка,32.985600002575666 -HashTable,Случайный,поиск,0.5103000003146008 -HashTable,Случайный,удаление,0.5585999897448346 -HashTable,Случайный,формирование списка,91.32430001045577 -HashTable,Упорядоченный,вставка,35.927500008256175 -HashTable,Упорядоченный,поиск,0.6290999881457537 -HashTable,Упорядоченный,удаление,0.96010000561364 -HashTable,Упорядоченный,формирование списка,94.56919999502134 -HashTable,Случайный,вставка,33.725600005709566 -HashTable,Случайный,поиск,0.5227000074228272 -HashTable,Случайный,удаление,0.5782000080216676 -HashTable,Случайный,формирование списка,91.97929999209009 -HashTable,Упорядоченный,вставка,34.54490000149235 -HashTable,Упорядоченный,поиск,0.5131999932928011 -HashTable,Упорядоченный,удаление,0.5754000012530014 -HashTable,Упорядоченный,формирование списка,98.85480000230018 -HashTable,Случайный,вставка,32.395899994298816 -HashTable,Случайный,поиск,0.5251999973552302 -HashTable,Случайный,удаление,0.571600001421757 -HashTable,Случайный,формирование списка,91.43000000040047 -HashTable,Упорядоченный,вставка,32.42740000132471 -HashTable,Упорядоченный,поиск,0.5138999986229464 -HashTable,Упорядоченный,удаление,0.5727999960072339 -HashTable,Упорядоченный,формирование списка,105.10570000042208 -HashTable,Случайный,вставка,32.10650000255555 -HashTable,Случайный,поиск,0.538099993718788 -HashTable,Случайный,удаление,0.5784999957541004 -HashTable,Случайный,формирование списка,93.07100001024082 -HashTable,Упорядоченный,вставка,34.88110000034794 -HashTable,Упорядоченный,поиск,0.5392000020947307 -HashTable,Упорядоченный,удаление,0.6065000052331015 -HashTable,Упорядоченный,формирование списка,98.27390000282321 -HashTable,Случайный,вставка,39.10399999585934 -HashTable,Случайный,поиск,1.024700002744794 -HashTable,Случайный,удаление,1.095200001145713 -HashTable,Случайный,формирование списка,93.50529999937862 -HashTable,Упорядоченный,вставка,32.83910000754986 -HashTable,Упорядоченный,поиск,0.5306000093696639 -HashTable,Упорядоченный,удаление,0.5603000026894733 -HashTable,Упорядоченный,формирование списка,88.33899999444839 -HashTable,Случайный,вставка,33.29720000328962 -HashTable,Случайный,поиск,0.5246000073384494 -HashTable,Случайный,удаление,0.5549999914364889 -HashTable,Случайный,формирование списка,89.06149999529589 -HashTable,Упорядоченный,вставка,30.75229999376461 -HashTable,Упорядоченный,поиск,0.516200001584366 -HashTable,Упорядоченный,удаление,0.5560999998124316 -HashTable,Упорядоченный,формирование списка,89.72599999106023 -BinarySearchTree,Случайный,вставка,162.45819999312516 -BinarySearchTree,Случайный,поиск,1.5899999998509884 -BinarySearchTree,Случайный,удаление,1.4628999924752861 -BinarySearchTree,Случайный,формирование списка,0.030199997127056122 -BinarySearchTree,Упорядоченный,вставка,345.824599993648 -BinarySearchTree,Упорядоченный,поиск,3.960800007916987 -BinarySearchTree,Упорядоченный,удаление,2.3357000027317554 -BinarySearchTree,Упорядоченный,формирование списка,1.299499999731779 -BinarySearchTree,Случайный,вставка,136.01400000334252 -BinarySearchTree,Случайный,поиск,1.5309000009438023 -BinarySearchTree,Случайный,удаление,1.137999992351979 -BinarySearchTree,Случайный,формирование списка,0.09549999958835542 -BinarySearchTree,Упорядоченный,вставка,355.8954000036465 -BinarySearchTree,Упорядоченный,поиск,3.3584000047994778 -BinarySearchTree,Упорядоченный,удаление,3.6585999914677814 -BinarySearchTree,Упорядоченный,формирование списка,1.5516999992541969 -BinarySearchTree,Случайный,вставка,119.86479999904986 -BinarySearchTree,Случайный,поиск,1.610199993592687 -BinarySearchTree,Случайный,удаление,1.2873999949079007 -BinarySearchTree,Случайный,формирование списка,0.15140000323299319 -BinarySearchTree,Упорядоченный,вставка,323.0999000079464 -BinarySearchTree,Упорядоченный,поиск,4.026300011901185 -BinarySearchTree,Упорядоченный,удаление,2.734000008786097 -BinarySearchTree,Упорядоченный,формирование списка,2.1105999912833795 -BinarySearchTree,Случайный,вставка,117.4349000066286 -BinarySearchTree,Случайный,поиск,2.2062000061850995 -BinarySearchTree,Случайный,удаление,1.5413999935844913 -BinarySearchTree,Случайный,формирование списка,0.1503000094089657 -BinarySearchTree,Упорядоченный,вставка,323.3202999981586 -BinarySearchTree,Упорядоченный,поиск,3.615300011006184 -BinarySearchTree,Упорядоченный,удаление,3.313599998364225 -BinarySearchTree,Упорядоченный,формирование списка,3.4688999876379967 -BinarySearchTree,Случайный,вставка,119.83319999126252 -BinarySearchTree,Случайный,поиск,1.6359000001102686 -BinarySearchTree,Случайный,удаление,1.1815000034403056 -BinarySearchTree,Случайный,формирование списка,0.35030000435654074 -BinarySearchTree,Упорядоченный,вставка,342.2913999966113 -BinarySearchTree,Упорядоченный,поиск,5.35669999953825 -BinarySearchTree,Упорядоченный,удаление,3.054000000702217 -BinarySearchTree,Упорядоченный,формирование списка,2.675899988389574 -BinarySearchTree,Случайный,вставка,145.3990000009071 -BinarySearchTree,Случайный,поиск,1.7481999966548756 -BinarySearchTree,Случайный,удаление,2.36389999918174 -BinarySearchTree,Случайный,формирование списка,0.6158000032883137 -BinarySearchTree,Упорядоченный,вставка,326.3811000069836 -BinarySearchTree,Упорядоченный,поиск,3.302800003439188 -BinarySearchTree,Упорядоченный,удаление,2.8451999969547614 -BinarySearchTree,Упорядоченный,формирование списка,3.151800003251992 -BinarySearchTree,Случайный,вставка,143.1086999946274 -BinarySearchTree,Случайный,поиск,1.6715999954612926 -BinarySearchTree,Случайный,удаление,1.223200000822544 -BinarySearchTree,Случайный,формирование списка,0.6703999970341101 -BinarySearchTree,Упорядоченный,вставка,311.5944000019226 -BinarySearchTree,Упорядоченный,поиск,3.3515999966766685 -BinarySearchTree,Упорядоченный,удаление,2.7783999976236373 -BinarySearchTree,Упорядоченный,формирование списка,2.64759999117814 -BinarySearchTree,Случайный,вставка,122.8082000016002 -BinarySearchTree,Случайный,поиск,1.5981000033207238 -BinarySearchTree,Случайный,удаление,1.3875000004190952 -BinarySearchTree,Случайный,формирование списка,0.8019999950192869 -BinarySearchTree,Упорядоченный,вставка,342.1444999985397 -BinarySearchTree,Упорядоченный,поиск,3.428099997108802 -BinarySearchTree,Упорядоченный,удаление,2.625099994475022 -BinarySearchTree,Упорядоченный,формирование списка,3.05579999985639 -BinarySearchTree,Случайный,вставка,124.16140000277665 -BinarySearchTree,Случайный,поиск,1.821800004108809 -BinarySearchTree,Случайный,удаление,1.1479999957373366 -BinarySearchTree,Случайный,формирование списка,0.920199992833659 -BinarySearchTree,Упорядоченный,вставка,320.02109999302775 -BinarySearchTree,Упорядоченный,поиск,3.465899993898347 -BinarySearchTree,Упорядоченный,удаление,2.8033999988110736 -BinarySearchTree,Упорядоченный,формирование списка,3.0931000073906034 -BinarySearchTree,Случайный,вставка,128.47060000058264 -BinarySearchTree,Случайный,поиск,1.7262000037590042 -BinarySearchTree,Случайный,удаление,2.278400002978742 -BinarySearchTree,Случайный,формирование списка,0.7653000066056848 -BinarySearchTree,Упорядоченный,вставка,308.7705000070855 -BinarySearchTree,Упорядоченный,поиск,3.360699993208982 -BinarySearchTree,Упорядоченный,удаление,3.163499990478158 -BinarySearchTree,Упорядоченный,формирование списка,0.005347600003005937 From 17d62ab5ad8ef3643ddb768eec296a7016989cc8 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Wed, 6 May 2026 14:32:20 +0000 Subject: [PATCH 26/60] [0] initial commit --- lukovnikovde/docs/data/time_schedule.png | Bin 0 -> 75637 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/docs/data/time_schedule.png diff --git a/lukovnikovde/docs/data/time_schedule.png b/lukovnikovde/docs/data/time_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..14a58952fb6bae253490f61bba3a8f82c1022838 GIT binary patch literal 75637 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 M1$AhdoO#Iq0Bbdv Date: Wed, 6 May 2026 14:33:17 +0000 Subject: [PATCH 27/60] [16] adding plt --- lukovnikovde/docs/data/DataStructure.py | 40 ++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 4 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 72dddca..32e6ab5 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -1,6 +1,7 @@ import random as rnd import time import csv +import matplotlib.pyplot as plt ############################################################################################# def sort_list(name_list): @@ -24,6 +25,17 @@ def file_insert(results): with open("results.csv", "w", encoding = "utf-8-sig", newline = "") as file: writer = csv.writer(file) writer.writerows(results) + +def drow(time, color_fun): + x = [] + y = [] + for key in time: + x.append(key) + y.append(time[key] * 1000) + plt.plot(x, y, marker = ".", color = color_fun, markersize = 2, alpha = 0.9) + + + ########################################################################################################################### def ll_insert(head, name, phone): @@ -122,7 +134,7 @@ def LinkedList(head, phone_book): ######################################################################################################### def ht_insert(buckest, name, phone): - index = hash_key(name) % 10 + index = hash_key(name) % len(buckest) for i, (Name, Phone) in enumerate(buckest[index]): if Name == name: buckest[index][i] = (name, phone) @@ -131,7 +143,7 @@ def ht_insert(buckest, name, phone): return buckest def ht_find(buckest, name): - index = hash_key(name) % 10 + index = hash_key(name) % len(buckest) for (Name, Phone) in buckest[index]: if Name == name: return Phone @@ -151,7 +163,7 @@ def ht_list_all(buckest): def ht_delete(buckest, name): - index = hash_key(name) % 10 + index = hash_key(name) % len(buckest) for i, (Name, Phone) in enumerate(buckest[index]): if Name == name: del buckest[index][i] @@ -331,7 +343,7 @@ def main(): phone_book_sorted = phone_book.copy() phone_book_sorted = sort_list(phone_book_sorted) - replay = 5 + replay = 10 Time_ll_not_sorted = [] @@ -457,6 +469,26 @@ def main(): for i in range(1, len(results) - 1): results[i][3] *= 1000 file_insert(results) + + plt.figure(figsize = (16, 9)) + plt.xlabel("Операция") + plt.ylabel("Время мс") + + drow(Time_average_ll_not_sorted, "blue") + drow(Time_average_ll_sorted, "green") + drow(Time_average_ht_not_sorted, "#FF8800") + drow(Time_average_ht_sorted, "#FF0000") + drow(Time_average_bst_not_sorted, "#464219") + drow(Time_average_bst_sorted, "#FBFF00") + + text = """ + синий - LinkedList (not sorted) ораньжевый - HashTable (not sorted) коричневый - BST (not sorted) + зеленый - LinkedList (sorted) красный - HashTable (sorted) желтый - BST (sorted) + """ + # plt.subplots_adjust(bottom =0.3) + plt.figtext(0.1, 0.02, text, wrap = True, fontsize = 9, va = 'bottom') + plt.savefig("time_schedule.png") + plt.show() if __name__ == "__main__": main() From 2b906cde43eaec3cc60675deecaa77d00285f827 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:03:49 +0000 Subject: [PATCH 28/60] [17] FINISH --- lukovnikovde/docs/data/DataStructure.py | 47 +++++++++++++++---------- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/DataStructure.py index 32e6ab5..f84bcff 100644 --- a/lukovnikovde/docs/data/DataStructure.py +++ b/lukovnikovde/docs/data/DataStructure.py @@ -26,13 +26,18 @@ def file_insert(results): writer = csv.writer(file) writer.writerows(results) -def drow(time, color_fun): - x = [] +def drow(time, color_fun, j, text, axes): + + operation = [0, 1, 2, 3] + x = [j + operation[i] for i in range(4)] y = [] for key in time: - x.append(key) y.append(time[key] * 1000) - plt.plot(x, y, marker = ".", color = color_fun, markersize = 2, alpha = 0.9) + for i in range(4): + axes[i].bar(x[i], y[i], width = 0.12, color = color_fun, label = text) + axes[i].set_ylabel("Время, мс") + axes[i].set_xticks([]) + #plt.bar(x, y, width = 0.12, color = color_fun, label = text) @@ -470,23 +475,27 @@ def main(): results[i][3] *= 1000 file_insert(results) - plt.figure(figsize = (16, 9)) - plt.xlabel("Операция") - plt.ylabel("Время мс") + fig, axes = plt.subplots(1, 4, figsize = (16, 5)) + manager = plt.get_current_fig_manager() + manager.full_screen_toggle() - drow(Time_average_ll_not_sorted, "blue") - drow(Time_average_ll_sorted, "green") - drow(Time_average_ht_not_sorted, "#FF8800") - drow(Time_average_ht_sorted, "#FF0000") - drow(Time_average_bst_not_sorted, "#464219") - drow(Time_average_bst_sorted, "#FBFF00") - text = """ - синий - LinkedList (not sorted) ораньжевый - HashTable (not sorted) коричневый - BST (not sorted) - зеленый - LinkedList (sorted) красный - HashTable (sorted) желтый - BST (sorted) - """ - # plt.subplots_adjust(bottom =0.3) - plt.figtext(0.1, 0.02, text, wrap = True, fontsize = 9, va = 'bottom') + drow(Time_average_ll_not_sorted, "#0800FF", -0.3, "LinkedList (not sorted)", axes) + drow(Time_average_ll_sorted, "#00C8FF", -0.18, "LinkedList (sorted)", axes) + drow(Time_average_ht_not_sorted, "#0E7A13", -0.06, "HashTable (not sorted)", axes) + drow(Time_average_ht_sorted, "#4DFF00", 0.06, "HashTable (sorted)", axes) + drow(Time_average_bst_not_sorted, "#968C1A", 0.18, "BST (not sorted)", axes) + drow(Time_average_bst_sorted, "#FBFF00", 0.30, "BST (sorted)", axes) + + operation = ['insert', 'find', 'delete', 'create list'] + + for i in range(4): + axes[i].set_title(operation[i]) + plt.legend(bbox_to_anchor = (1.05, 1), loc = "upper left") + + + + plt.subplots_adjust(bottom = 0.025, top = 0.95, left = 0.025, right = 0.875) plt.savefig("time_schedule.png") plt.show() From 9a7b0ce54ffdf554c6419367d9579ac1a4162709 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:04:59 +0000 Subject: [PATCH 29/60] [4] updating data --- lukovnikovde/docs/data/resalts.csv | 480 ++++++++++++++--------------- 1 file changed, 240 insertions(+), 240 deletions(-) diff --git a/lukovnikovde/docs/data/resalts.csv b/lukovnikovde/docs/data/resalts.csv index ed393a5..16e5f52 100644 --- a/lukovnikovde/docs/data/resalts.csv +++ b/lukovnikovde/docs/data/resalts.csv @@ -1,241 +1,241 @@ Структура,Режим,Операция,Время(мс) -LinkedList,Случайный,вставка,311.8601000023773 -LinkedList,Случайный,поиск,3.0993999971542507 -LinkedList,Случайный,удаление,6.629099996644072 -LinkedList,Случайный,формирование списка,60.98759999440517 -LinkedList,Упорядоченный,вставка,332.72419999411795 -LinkedList,Упорядоченный,поиск,3.1196000054478645 -LinkedList,Упорядоченный,удаление,5.813899988424964 -LinkedList,Упорядоченный,формирование списка,39.0969000000041 -LinkedList,Случайный,вставка,333.36899999994785 -LinkedList,Случайный,поиск,3.6326999979792163 -LinkedList,Случайный,удаление,5.94719999935478 -LinkedList,Случайный,формирование списка,68.81969999813009 -LinkedList,Упорядоченный,вставка,347.4948999937624 -LinkedList,Упорядоченный,поиск,3.69440000213217 -LinkedList,Упорядоченный,удаление,6.888300005812198 -LinkedList,Упорядоченный,формирование списка,46.8346000125166 -LinkedList,Случайный,вставка,309.86330000450835 -LinkedList,Случайный,поиск,2.868099996703677 -LinkedList,Случайный,удаление,6.037400002242066 -LinkedList,Случайный,формирование списка,61.938399987411685 -LinkedList,Упорядоченный,вставка,338.7425999972038 -LinkedList,Упорядоченный,поиск,3.638499998487532 -LinkedList,Упорядоченный,удаление,7.441800000378862 -LinkedList,Упорядоченный,формирование списка,39.537500008009374 -LinkedList,Случайный,вставка,310.5929000012111 -LinkedList,Случайный,поиск,3.468300012173131 -LinkedList,Случайный,удаление,7.5059000082546845 -LinkedList,Случайный,формирование списка,64.28520000190474 -LinkedList,Упорядоченный,вставка,335.0771999976132 -LinkedList,Упорядоченный,поиск,3.0857999954605475 -LinkedList,Упорядоченный,удаление,6.151499997940846 -LinkedList,Упорядоченный,формирование списка,38.384100000257604 -LinkedList,Случайный,вставка,333.7921000056667 -LinkedList,Случайный,поиск,6.480700001702644 -LinkedList,Случайный,удаление,8.09099999605678 -LinkedList,Случайный,формирование списка,63.44879999232944 -LinkedList,Упорядоченный,вставка,312.329199994565 -LinkedList,Упорядоченный,поиск,3.115400002570823 -LinkedList,Упорядоченный,удаление,5.880099997739308 -LinkedList,Упорядоченный,формирование списка,39.14569999324158 -LinkedList,Случайный,вставка,306.0167000076035 -LinkedList,Случайный,поиск,3.3414000063203275 -LinkedList,Случайный,удаление,6.772799999453127 -LinkedList,Случайный,формирование списка,58.58910000824835 -LinkedList,Упорядоченный,вставка,317.93599999218713 -LinkedList,Упорядоченный,поиск,4.178699993644841 -LinkedList,Упорядоченный,удаление,6.598799998755567 -LinkedList,Упорядоченный,формирование списка,43.91350000514649 -LinkedList,Случайный,вставка,326.0805000027176 -LinkedList,Случайный,поиск,3.511100003379397 -LinkedList,Случайный,удаление,7.0478000125149265 -LinkedList,Случайный,формирование списка,65.27820001065265 -LinkedList,Упорядоченный,вставка,342.3164999985602 -LinkedList,Упорядоченный,поиск,2.997699994011782 -LinkedList,Упорядоченный,удаление,6.1990999965928495 -LinkedList,Упорядоченный,формирование списка,38.459399991552345 -LinkedList,Случайный,вставка,352.4922000069637 -LinkedList,Случайный,поиск,3.4684999991441146 -LinkedList,Случайный,удаление,6.042299995897338 -LinkedList,Случайный,формирование списка,58.957499990356155 -LinkedList,Упорядоченный,вставка,336.49819999118336 -LinkedList,Упорядоченный,поиск,4.811599996173754 -LinkedList,Упорядоченный,удаление,7.25540000712499 -LinkedList,Упорядоченный,формирование списка,42.60240000439808 -LinkedList,Случайный,вставка,335.7185000058962 -LinkedList,Случайный,поиск,3.1072999991010875 -LinkedList,Случайный,удаление,7.647199992788956 -LinkedList,Случайный,формирование списка,61.90960000094492 -LinkedList,Упорядоченный,вставка,348.60630000184756 -LinkedList,Упорядоченный,поиск,3.2524999987799674 -LinkedList,Упорядоченный,удаление,7.037800009129569 -LinkedList,Упорядоченный,формирование списка,45.27720001351554 -LinkedList,Случайный,вставка,349.1418000048725 -LinkedList,Случайный,поиск,3.576899995096028 -LinkedList,Случайный,удаление,6.985800006077625 -LinkedList,Случайный,формирование списка,61.900600005174056 -LinkedList,Упорядоченный,вставка,341.29359999496955 -LinkedList,Упорядоченный,поиск,3.3715000026859343 -LinkedList,Упорядоченный,удаление,5.9412999980850145 -LinkedList,Упорядоченный,формирование списка,39.60160000133328 -HashTable,Случайный,вставка,36.995000002207235 -HashTable,Случайный,поиск,0.5348999984562397 -HashTable,Случайный,удаление,0.5553000082727522 -HashTable,Случайный,формирование списка,92.14980000979267 -HashTable,Упорядоченный,вставка,38.21459999016952 -HashTable,Упорядоченный,поиск,0.5354000022634864 -HashTable,Упорядоченный,удаление,0.5906000005779788 -HashTable,Упорядоченный,формирование списка,88.85620000364725 -HashTable,Случайный,вставка,32.90600000764243 -HashTable,Случайный,поиск,0.575300000491552 -HashTable,Случайный,удаление,0.5553999944822863 -HashTable,Случайный,формирование списка,88.85440000449307 -HashTable,Упорядоченный,вставка,34.381400007987395 -HashTable,Упорядоченный,поиск,0.5379000067478046 -HashTable,Упорядоченный,удаление,0.5721999914385378 -HashTable,Упорядоченный,формирование списка,99.7819000040181 -HashTable,Случайный,вставка,32.61900000507012 -HashTable,Случайный,поиск,0.5061999981990084 -HashTable,Случайный,удаление,0.5795999895781279 -HashTable,Случайный,формирование списка,99.24530000716913 -HashTable,Упорядоченный,вставка,33.648600001470186 -HashTable,Упорядоченный,поиск,0.5078999965917319 -HashTable,Упорядоченный,удаление,0.5576999974437058 -HashTable,Упорядоченный,формирование списка,95.2331000007689 -HashTable,Случайный,вставка,35.18770000664517 -HashTable,Случайный,поиск,0.5262999911792576 -HashTable,Случайный,удаление,0.5527000030269846 -HashTable,Случайный,формирование списка,94.51690000423696 -HashTable,Упорядоченный,вставка,32.084099992061965 -HashTable,Упорядоченный,поиск,0.5337000038707629 -HashTable,Упорядоченный,удаление,0.5661999894073233 -HashTable,Упорядоченный,формирование списка,92.34840000863187 -HashTable,Случайный,вставка,32.56010000768583 -HashTable,Случайный,поиск,0.8410000009462237 -HashTable,Случайный,удаление,0.9258000063709915 -HashTable,Случайный,формирование списка,100.2130999986548 -HashTable,Упорядоченный,вставка,35.40219999558758 -HashTable,Упорядоченный,поиск,0.5304999940562993 -HashTable,Упорядоченный,удаление,0.5839999939780682 -HashTable,Упорядоченный,формирование списка,89.48920000693761 -HashTable,Случайный,вставка,32.839099992997944 -HashTable,Случайный,поиск,0.5260000034468248 -HashTable,Случайный,удаление,0.5661000031977892 -HashTable,Случайный,формирование списка,94.66200000315439 -HashTable,Упорядоченный,вставка,33.16459999768995 -HashTable,Упорядоченный,поиск,0.5823999963467941 -HashTable,Упорядоченный,удаление,0.6093999982113019 -HashTable,Упорядоченный,формирование списка,96.02349999477156 -HashTable,Случайный,вставка,34.824300004402176 -HashTable,Случайный,поиск,0.6218999915290624 -HashTable,Случайный,удаление,0.6026000046404079 -HashTable,Случайный,формирование списка,116.66119999426883 -HashTable,Упорядоченный,вставка,37.25999999733176 -HashTable,Упорядоченный,поиск,0.5453000048873946 -HashTable,Упорядоченный,удаление,0.5864999984623864 -HashTable,Упорядоченный,формирование списка,89.71509999537375 -HashTable,Случайный,вставка,40.50240000651684 -HashTable,Случайный,поиск,0.8645000052638352 -HashTable,Случайный,удаление,0.90230000205338 -HashTable,Случайный,формирование списка,90.88490001158789 -HashTable,Упорядоченный,вставка,31.434000004082918 -HashTable,Упорядоченный,поиск,0.5355000030249357 -HashTable,Упорядоченный,удаление,0.6349000032059848 -HashTable,Упорядоченный,формирование списка,87.44309999747202 -HashTable,Случайный,вставка,33.64940000756178 -HashTable,Случайный,поиск,0.8600000001024455 -HashTable,Случайный,удаление,0.7679999980609864 -HashTable,Случайный,формирование списка,94.88509999937378 -HashTable,Упорядоченный,вставка,31.084599992027506 -HashTable,Упорядоченный,поиск,0.5097999965073541 -HashTable,Упорядоченный,удаление,0.5652999971061945 -HashTable,Упорядоченный,формирование списка,89.97830000589602 -HashTable,Случайный,вставка,34.94059998774901 -HashTable,Случайный,поиск,0.5363999953260645 -HashTable,Случайный,удаление,0.9123000054387376 -HashTable,Случайный,формирование списка,96.32379999675322 -HashTable,Упорядоченный,вставка,32.151399995200336 -HashTable,Упорядоченный,поиск,0.5317000031936914 -HashTable,Упорядоченный,удаление,0.5829000001540408 -HashTable,Упорядоченный,формирование списка,93.51580000657123 -BinarySearchTree,Случайный,вставка,102.40699999849312 -BinarySearchTree,Случайный,поиск,1.3612000038847327 -BinarySearchTree,Случайный,удаление,1.1245999921811745 -BinarySearchTree,Случайный,формирование списка,0.023999993572942913 -BinarySearchTree,Упорядоченный,вставка,316.0647000040626 -BinarySearchTree,Упорядоченный,поиск,3.1904000061331317 -BinarySearchTree,Упорядоченный,удаление,3.3792000031098723 -BinarySearchTree,Упорядоченный,формирование списка,1.6973000019788742 -BinarySearchTree,Случайный,вставка,91.03359999426175 -BinarySearchTree,Случайный,поиск,1.371799997286871 -BinarySearchTree,Случайный,удаление,1.2165999942226335 -BinarySearchTree,Случайный,формирование списка,0.024100008886307478 -BinarySearchTree,Упорядоченный,вставка,347.1241000079317 -BinarySearchTree,Упорядоченный,поиск,4.274999999324791 -BinarySearchTree,Упорядоченный,удаление,2.4944999895524234 -BinarySearchTree,Упорядоченный,формирование списка,0.8478999952785671 -BinarySearchTree,Случайный,вставка,92.06209999683779 -BinarySearchTree,Случайный,поиск,1.3248000032035634 -BinarySearchTree,Случайный,удаление,1.3013999996474013 -BinarySearchTree,Случайный,формирование списка,0.05079999391455203 -BinarySearchTree,Упорядоченный,вставка,332.4990999972215 -BinarySearchTree,Упорядоченный,поиск,3.3688999974401668 -BinarySearchTree,Упорядоченный,удаление,3.079799993429333 -BinarySearchTree,Упорядоченный,формирование списка,1.447100003133528 -BinarySearchTree,Случайный,вставка,94.18839999125339 -BinarySearchTree,Случайный,поиск,2.256499996292405 -BinarySearchTree,Случайный,удаление,1.2769000022672117 -BinarySearchTree,Случайный,формирование списка,0.12320000678300858 -BinarySearchTree,Упорядоченный,вставка,335.0482999958331 -BinarySearchTree,Упорядоченный,поиск,4.005399998277426 -BinarySearchTree,Упорядоченный,удаление,2.4089999933494255 -BinarySearchTree,Упорядоченный,формирование списка,1.9695999944815412 -BinarySearchTree,Случайный,вставка,101.12979999394156 -BinarySearchTree,Случайный,поиск,1.4136999961920083 -BinarySearchTree,Случайный,удаление,1.236700001754798 -BinarySearchTree,Случайный,формирование списка,0.27800000680144876 -BinarySearchTree,Упорядоченный,вставка,333.7679999967804 -BinarySearchTree,Упорядоченный,поиск,4.243799994583242 -BinarySearchTree,Упорядоченный,удаление,3.14470000739675 -BinarySearchTree,Упорядоченный,формирование списка,2.2033999994164333 -BinarySearchTree,Случайный,вставка,101.16009999183007 -BinarySearchTree,Случайный,поиск,2.0936999935656786 -BinarySearchTree,Случайный,удаление,2.1564000053331256 -BinarySearchTree,Случайный,формирование списка,0.4315999976824969 -BinarySearchTree,Упорядоченный,вставка,329.3697999906726 -BinarySearchTree,Упорядоченный,поиск,3.3687999966787174 -BinarySearchTree,Упорядоченный,удаление,2.4997000000439584 -BinarySearchTree,Упорядоченный,формирование списка,1.727099996060133 -BinarySearchTree,Случайный,вставка,99.00390000257175 -BinarySearchTree,Случайный,поиск,1.3448000099742785 -BinarySearchTree,Случайный,удаление,1.1521000124048442 -BinarySearchTree,Случайный,формирование списка,0.5104000010760501 -BinarySearchTree,Упорядоченный,вставка,332.7874999959022 -BinarySearchTree,Упорядоченный,поиск,4.331000003730878 -BinarySearchTree,Упорядоченный,удаление,2.853600002708845 -BinarySearchTree,Упорядоченный,формирование списка,3.774099997826852 -BinarySearchTree,Случайный,вставка,94.74190000037197 -BinarySearchTree,Случайный,поиск,1.352399995084852 -BinarySearchTree,Случайный,удаление,1.2611999991349876 -BinarySearchTree,Случайный,формирование списка,0.8051000040723011 -BinarySearchTree,Упорядоченный,вставка,338.8535999984015 -BinarySearchTree,Упорядоченный,поиск,3.4047999943140894 -BinarySearchTree,Упорядоченный,удаление,2.4553999974159524 -BinarySearchTree,Упорядоченный,формирование списка,3.5234999959357083 -BinarySearchTree,Случайный,вставка,91.76830000069458 -BinarySearchTree,Случайный,поиск,1.3421000039670616 -BinarySearchTree,Случайный,удаление,1.4171999937389046 -BinarySearchTree,Случайный,формирование списка,1.0964999964926392 -BinarySearchTree,Упорядоченный,вставка,332.47900000424124 -BinarySearchTree,Упорядоченный,поиск,3.157399987685494 -BinarySearchTree,Упорядоченный,удаление,6.078400008846074 -BinarySearchTree,Упорядоченный,формирование списка,4.061100000399165 -BinarySearchTree,Случайный,вставка,90.57990000292193 -BinarySearchTree,Случайный,поиск,1.302800010307692 -BinarySearchTree,Случайный,удаление,1.117399995564483 -BinarySearchTree,Случайный,формирование списка,1.220699996338226 -BinarySearchTree,Упорядоченный,вставка,326.30869999411516 -BinarySearchTree,Упорядоченный,поиск,3.144999995129183 -BinarySearchTree,Упорядоченный,удаление,2.4704999959794804 -BinarySearchTree,Упорядоченный,формирование списка,0.0027224000077694654 +LinkedList,Случайный,вставка,159.38230000028852 +LinkedList,Случайный,поиск,1.608700000360841 +LinkedList,Случайный,удаление,3.333099999508704 +LinkedList,Случайный,формирование списка,31.43850000014936 +LinkedList,Упорядоченный,вставка,176.2546999998449 +LinkedList,Упорядоченный,поиск,1.7821999990701443 +LinkedList,Упорядоченный,удаление,3.542399999787449 +LinkedList,Упорядоченный,формирование списка,21.29400000012538 +LinkedList,Случайный,вставка,160.5120000003808 +LinkedList,Случайный,поиск,1.5978000010363758 +LinkedList,Случайный,удаление,3.5874000004696427 +LinkedList,Случайный,формирование списка,31.3373999997566 +LinkedList,Упорядоченный,вставка,169.6819000007963 +LinkedList,Упорядоченный,поиск,1.6672000001562992 +LinkedList,Упорядоченный,удаление,3.06300000011106 +LinkedList,Упорядоченный,формирование списка,21.382199998697615 +LinkedList,Случайный,вставка,162.45290000006207 +LinkedList,Случайный,поиск,1.6584000004513655 +LinkedList,Случайный,удаление,3.0743000006623333 +LinkedList,Случайный,формирование списка,31.488399999943795 +LinkedList,Упорядоченный,вставка,169.72099999838974 +LinkedList,Упорядоченный,поиск,1.7922000006365124 +LinkedList,Упорядоченный,удаление,3.3667999996396247 +LinkedList,Упорядоченный,формирование списка,21.698699998523807 +LinkedList,Случайный,вставка,163.0209000013565 +LinkedList,Случайный,поиск,1.6841999986354494 +LinkedList,Случайный,удаление,3.2122999982675537 +LinkedList,Случайный,формирование списка,31.478799999604234 +LinkedList,Упорядоченный,вставка,172.49460000130057 +LinkedList,Упорядоченный,поиск,1.756999999997788 +LinkedList,Упорядоченный,удаление,3.196600000592298 +LinkedList,Упорядоченный,формирование списка,21.166299999094917 +LinkedList,Случайный,вставка,163.07450000022072 +LinkedList,Случайный,поиск,1.8555999995442107 +LinkedList,Случайный,удаление,3.40919999871403 +LinkedList,Случайный,формирование списка,31.833799999731127 +LinkedList,Упорядоченный,вставка,170.02059999867924 +LinkedList,Упорядоченный,поиск,1.552300000184914 +LinkedList,Упорядоченный,удаление,3.814900001088972 +LinkedList,Упорядоченный,формирование списка,21.307799999704002 +LinkedList,Случайный,вставка,168.1974999992235 +LinkedList,Случайный,поиск,2.0230999998602783 +LinkedList,Случайный,удаление,3.5730999989027623 +LinkedList,Случайный,формирование списка,32.19399999943562 +LinkedList,Упорядоченный,вставка,169.28159999952186 +LinkedList,Упорядоченный,поиск,1.713900001050206 +LinkedList,Упорядоченный,удаление,3.4302999993087724 +LinkedList,Упорядоченный,формирование списка,21.549899998717592 +LinkedList,Случайный,вставка,169.27700000087498 +LinkedList,Случайный,поиск,1.7975999999180203 +LinkedList,Случайный,удаление,3.151300001263735 +LinkedList,Случайный,формирование списка,31.799799999134848 +LinkedList,Упорядоченный,вставка,171.0044999999809 +LinkedList,Упорядоченный,поиск,1.743999999234802 +LinkedList,Упорядоченный,удаление,3.8127000007079914 +LinkedList,Упорядоченный,формирование списка,21.345600000131526 +LinkedList,Случайный,вставка,173.35669999920356 +LinkedList,Случайный,поиск,1.8798999990394805 +LinkedList,Случайный,удаление,3.4422999997332226 +LinkedList,Случайный,формирование списка,32.4691999994684 +LinkedList,Упорядоченный,вставка,169.52339999988908 +LinkedList,Упорядоченный,поиск,1.728800001728814 +LinkedList,Упорядоченный,удаление,3.3399000003555557 +LinkedList,Упорядоченный,формирование списка,21.254400000543683 +LinkedList,Случайный,вставка,169.77609999958077 +LinkedList,Случайный,поиск,1.6739000002417015 +LinkedList,Случайный,удаление,3.73560000116413 +LinkedList,Случайный,формирование списка,31.469499999730033 +LinkedList,Упорядоченный,вставка,171.0146999994322 +LinkedList,Упорядоченный,поиск,1.6797999996924773 +LinkedList,Упорядоченный,удаление,3.45019999986107 +LinkedList,Упорядоченный,формирование списка,21.524600000702776 +LinkedList,Случайный,вставка,167.06580000027316 +LinkedList,Случайный,поиск,1.8982999990839744 +LinkedList,Случайный,удаление,3.6678999986179406 +LinkedList,Случайный,формирование списка,32.446200000777026 +LinkedList,Упорядоченный,вставка,171.11090000071272 +LinkedList,Упорядоченный,поиск,1.7826000002969522 +LinkedList,Упорядоченный,удаление,3.3842000011645723 +LinkedList,Упорядоченный,формирование списка,21.2576000012632 +HashTable,Случайный,вставка,17.278299999816227 +HashTable,Случайный,поиск,0.3028999999514781 +HashTable,Случайный,удаление,0.3226000007998664 +HashTable,Случайный,формирование списка,47.606800000721705 +HashTable,Упорядоченный,вставка,16.69159999983094 +HashTable,Упорядоченный,поиск,0.278499999694759 +HashTable,Упорядоченный,удаление,0.31350000062957406 +HashTable,Упорядоченный,формирование списка,47.49850000007427 +HashTable,Случайный,вставка,18.00539999931061 +HashTable,Случайный,поиск,0.28170000041427556 +HashTable,Случайный,удаление,0.3051999992749188 +HashTable,Случайный,формирование списка,48.14599999917846 +HashTable,Упорядоченный,вставка,18.065500000375323 +HashTable,Упорядоченный,поиск,0.28329999986453913 +HashTable,Упорядоченный,удаление,0.32250000003841706 +HashTable,Упорядоченный,формирование списка,47.55000000113796 +HashTable,Случайный,вставка,16.97520000016084 +HashTable,Случайный,поиск,0.2812000002450077 +HashTable,Случайный,удаление,0.3178000006300863 +HashTable,Случайный,формирование списка,47.868200001175865 +HashTable,Упорядоченный,вставка,18.372099999396596 +HashTable,Упорядоченный,поиск,0.3102999999100575 +HashTable,Упорядоченный,удаление,0.3297000002930872 +HashTable,Упорядоченный,формирование списка,48.02730000119482 +HashTable,Случайный,вставка,16.71149999856425 +HashTable,Случайный,поиск,0.27319999935571104 +HashTable,Случайный,удаление,0.3262999998696614 +HashTable,Случайный,формирование списка,47.846100000242586 +HashTable,Упорядоченный,вставка,18.567699999039178 +HashTable,Упорядоченный,поиск,0.2848999993148027 +HashTable,Упорядоченный,удаление,0.3262999998696614 +HashTable,Упорядоченный,формирование списка,48.06850000022678 +HashTable,Случайный,вставка,16.770899999755784 +HashTable,Случайный,поиск,0.26760000037029386 +HashTable,Случайный,удаление,0.3209000005881535 +HashTable,Случайный,формирование списка,48.08539999976347 +HashTable,Упорядоченный,вставка,17.05279999987397 +HashTable,Упорядоченный,поиск,0.2679999997781124 +HashTable,Упорядоченный,удаление,0.31599999965692405 +HashTable,Упорядоченный,формирование списка,48.27990000012505 +HashTable,Случайный,вставка,17.21460000044317 +HashTable,Случайный,поиск,0.27520000003278255 +HashTable,Случайный,удаление,0.3281999997852836 +HashTable,Случайный,формирование списка,47.93720000088797 +HashTable,Упорядоченный,вставка,17.084900000554626 +HashTable,Упорядоченный,поиск,0.2795999989757547 +HashTable,Упорядоченный,удаление,0.3280000000813743 +HashTable,Упорядоченный,формирование списка,47.76760000095237 +HashTable,Случайный,вставка,16.898900001251604 +HashTable,Случайный,поиск,0.2705999995669117 +HashTable,Случайный,удаление,0.3180999992764555 +HashTable,Случайный,формирование списка,48.1019999988348 +HashTable,Упорядоченный,вставка,17.074800000045798 +HashTable,Упорядоченный,поиск,0.27850000151374843 +HashTable,Упорядоченный,удаление,0.3259999994043028 +HashTable,Упорядоченный,формирование списка,48.0186999993748 +HashTable,Случайный,вставка,17.024499999024556 +HashTable,Случайный,поиск,0.2716999988479074 +HashTable,Случайный,удаление,0.3228999994462356 +HashTable,Случайный,формирование списка,48.31470000135596 +HashTable,Упорядоченный,вставка,17.382100000759237 +HashTable,Упорядоченный,поиск,0.2786999993986683 +HashTable,Упорядоченный,удаление,0.3171999996993691 +HashTable,Упорядоченный,формирование списка,47.687000000223634 +HashTable,Случайный,вставка,17.80959999996412 +HashTable,Случайный,поиск,0.28049999855284113 +HashTable,Случайный,удаление,0.3245999996579485 +HashTable,Случайный,формирование списка,48.608699999022065 +HashTable,Упорядоченный,вставка,17.124399999374873 +HashTable,Упорядоченный,поиск,0.2822999995260034 +HashTable,Упорядоченный,удаление,0.31680000029155053 +HashTable,Упорядоченный,формирование списка,47.660199999882025 +HashTable,Случайный,вставка,16.860599998835823 +HashTable,Случайный,поиск,0.27319999935571104 +HashTable,Случайный,удаление,0.31459999991056975 +HashTable,Случайный,формирование списка,48.28310000084457 +HashTable,Упорядоченный,вставка,17.49010000094131 +HashTable,Упорядоченный,поиск,0.29379999978118576 +HashTable,Упорядоченный,удаление,0.31820000003790483 +HashTable,Упорядоченный,формирование списка,48.560000001089065 +BinarySearchTree,Случайный,вставка,53.984700000000885 +BinarySearchTree,Случайный,поиск,0.7683999992877943 +BinarySearchTree,Случайный,удаление,0.6331000004138332 +BinarySearchTree,Случайный,формирование списка,0.01739999970595818 +BinarySearchTree,Упорядоченный,вставка,163.88949999964098 +BinarySearchTree,Упорядоченный,поиск,1.765700000760262 +BinarySearchTree,Упорядоченный,удаление,1.525900001070113 +BinarySearchTree,Упорядоченный,формирование списка,0.4360000002634479 +BinarySearchTree,Случайный,вставка,52.91410000063479 +BinarySearchTree,Случайный,поиск,0.7721999991190387 +BinarySearchTree,Случайный,удаление,0.5829000001540408 +BinarySearchTree,Случайный,формирование списка,0.04259999877831433 +BinarySearchTree,Упорядоченный,вставка,164.1801999994641 +BinarySearchTree,Упорядоченный,поиск,1.7733000004227506 +BinarySearchTree,Упорядоченный,удаление,1.3930999994045123 +BinarySearchTree,Упорядоченный,формирование списка,0.8812000014586374 +BinarySearchTree,Случайный,вставка,52.482299999610404 +BinarySearchTree,Случайный,поиск,0.7862000002205605 +BinarySearchTree,Случайный,удаление,0.6584999991900986 +BinarySearchTree,Случайный,формирование списка,0.0718000010238029 +BinarySearchTree,Упорядоченный,вставка,161.70600000077684 +BinarySearchTree,Упорядоченный,поиск,1.7728999991959427 +BinarySearchTree,Упорядоченный,удаление,1.7010999999911292 +BinarySearchTree,Упорядоченный,формирование списка,1.2267000001884298 +BinarySearchTree,Случайный,вставка,53.89560000003257 +BinarySearchTree,Случайный,поиск,0.7697999990341486 +BinarySearchTree,Случайный,удаление,0.669999999445281 +BinarySearchTree,Случайный,формирование списка,0.1666999996814411 +BinarySearchTree,Упорядоченный,вставка,160.7681000004959 +BinarySearchTree,Упорядоченный,поиск,1.770599999872502 +BinarySearchTree,Упорядоченный,удаление,1.4972999997553416 +BinarySearchTree,Упорядоченный,формирование списка,1.454899998861947 +BinarySearchTree,Случайный,вставка,52.44479999964824 +BinarySearchTree,Случайный,поиск,0.7471999997505918 +BinarySearchTree,Случайный,удаление,0.7040000000415603 +BinarySearchTree,Случайный,формирование списка,0.19189999875379726 +BinarySearchTree,Упорядоченный,вставка,162.21529999893392 +BinarySearchTree,Упорядоченный,поиск,1.835400000345544 +BinarySearchTree,Упорядоченный,удаление,1.5229000000545057 +BinarySearchTree,Упорядоченный,формирование списка,1.444699999410659 +BinarySearchTree,Случайный,вставка,52.532899999278015 +BinarySearchTree,Случайный,поиск,0.772299999880488 +BinarySearchTree,Случайный,удаление,0.6493000000773463 +BinarySearchTree,Случайный,формирование списка,0.3001000004587695 +BinarySearchTree,Упорядоченный,вставка,162.3187000004691 +BinarySearchTree,Упорядоченный,поиск,1.7641000013099983 +BinarySearchTree,Упорядоченный,удаление,1.656399999774294 +BinarySearchTree,Упорядоченный,формирование списка,1.9058000016229926 +BinarySearchTree,Случайный,вставка,52.441100000578444 +BinarySearchTree,Случайный,поиск,0.7502000007661991 +BinarySearchTree,Случайный,удаление,0.7283999984792899 +BinarySearchTree,Случайный,формирование списка,0.4217999994580168 +BinarySearchTree,Упорядоченный,вставка,163.2737999989331 +BinarySearchTree,Упорядоченный,поиск,1.7657999997027218 +BinarySearchTree,Упорядоченный,удаление,1.2108999999327352 +BinarySearchTree,Упорядоченный,формирование списка,1.5694999983679736 +BinarySearchTree,Случайный,вставка,52.80719999973371 +BinarySearchTree,Случайный,поиск,0.7774999994580867 +BinarySearchTree,Случайный,удаление,0.5965999989712145 +BinarySearchTree,Случайный,формирование списка,0.4585999995470047 +BinarySearchTree,Упорядоченный,вставка,164.02340000058757 +BinarySearchTree,Упорядоченный,поиск,1.836600000387989 +BinarySearchTree,Упорядоченный,удаление,1.7723999990266748 +BinarySearchTree,Упорядоченный,формирование списка,2.3199999995995313 +BinarySearchTree,Случайный,вставка,52.927000000636326 +BinarySearchTree,Случайный,поиск,0.7868000011512777 +BinarySearchTree,Случайный,удаление,0.6422000005841255 +BinarySearchTree,Случайный,формирование списка,0.4780999988724943 +BinarySearchTree,Упорядоченный,вставка,162.5091000005341 +BinarySearchTree,Упорядоченный,поиск,1.8755000000965083 +BinarySearchTree,Упорядоченный,удаление,1.8066000011458527 +BinarySearchTree,Упорядоченный,формирование списка,2.217999999629683 +BinarySearchTree,Случайный,вставка,53.06439999912982 +BinarySearchTree,Случайный,поиск,0.7920999996713363 +BinarySearchTree,Случайный,удаление,0.7385999997495674 +BinarySearchTree,Случайный,формирование списка,0.6822999985161005 +BinarySearchTree,Упорядоченный,вставка,162.1802999998181 +BinarySearchTree,Упорядоченный,поиск,1.9329999995534308 +BinarySearchTree,Упорядоченный,удаление,1.5555000009044306 +BinarySearchTree,Упорядоченный,формирование списка,0.0028387000002112472 From e0039ceeffdc90c78f187d5646a5e9603ee0d741 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:05:22 +0000 Subject: [PATCH 30/60] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20lukovnikovde/docs/data/time=5Fschedule.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lukovnikovde/docs/data/time_schedule.png | Bin 75637 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lukovnikovde/docs/data/time_schedule.png diff --git a/lukovnikovde/docs/data/time_schedule.png b/lukovnikovde/docs/data/time_schedule.png deleted file mode 100644 index 14a58952fb6bae253490f61bba3a8f82c1022838..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75637 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 M1$AhdoO#Iq0Bbdv Date: Thu, 7 May 2026 11:05:39 +0000 Subject: [PATCH 31/60] [0] initial commit --- lukovnikovde/docs/data/time_schedule.png | Bin 0 -> 37066 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/docs/data/time_schedule.png diff --git a/lukovnikovde/docs/data/time_schedule.png b/lukovnikovde/docs/data/time_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..cb800efd2a7a50f23fe23ba564090f1ae68a900b GIT binary patch literal 37066 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 literal 0 HcmV?d00001 From 09a773a6024aec0302e467ca048729ea65a8ddb5 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:09:48 +0000 Subject: [PATCH 32/60] [0] initial commit --- lukovnikovde/docs/report.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 lukovnikovde/docs/report.md diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md new file mode 100644 index 0000000..469b346 --- /dev/null +++ b/lukovnikovde/docs/report.md @@ -0,0 +1 @@ +#Отчет по лабораторной работе "Структуры даннх" From a2f0271d0ff0a767a5ccceb4652fcb62029bea7f Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:10:03 +0000 Subject: [PATCH 33/60] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D1=82=D1=8C=20lukovnikovde/docs/report.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lukovnikovde/docs/report.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md index 469b346..e2635d8 100644 --- a/lukovnikovde/docs/report.md +++ b/lukovnikovde/docs/report.md @@ -1 +1 @@ -#Отчет по лабораторной работе "Структуры даннх" +# Отчет по лабораторной работе "Структуры даннх" From 0506c2587307db9789245d3db54cb9a05e8b3ad0 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:10:14 +0000 Subject: [PATCH 34/60] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20lukovnikovde/docs/report.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lukovnikovde/docs/report.md | 1 - 1 file changed, 1 deletion(-) delete mode 100644 lukovnikovde/docs/report.md diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md deleted file mode 100644 index e2635d8..0000000 --- a/lukovnikovde/docs/report.md +++ /dev/null @@ -1 +0,0 @@ -# Отчет по лабораторной работе "Структуры даннх" From ac37de72ba58fb0ef48aff08d211cf9491709866 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:20:05 +0000 Subject: [PATCH 35/60] [0] initial commit --- lukovnikovde/docs/report.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 lukovnikovde/docs/report.md diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md new file mode 100644 index 0000000..6012c11 --- /dev/null +++ b/lukovnikovde/docs/report.md @@ -0,0 +1,7 @@ +# Отчет по лабораторной работе "Структуры данных" +## 1. Введение +В ходе выполнения лабораторной работы были выполнены реализации трех структур для хранения и обработки данных телефонных номеров: +- Связный список +- Хеш-таблица +- Двоичное дерево поиска +Практическая часть включала в себя такие операции как: добавление или обновление телефонного номера, удаление телефонного номера, поиск владельца телефонного номера и составление списка из кортежей вида (владелец, номер). Каждое выполнение функций проводилось с списоком из кортежей вида (владелецб номер), в котором было 1000 уникальных имен и еще 9000 имен, которые уже были использованны (всего 10000 кортежей). Каждое тестирование структур выполнялось для сортированного и не сортированного начального списка 10 раз. \ No newline at end of file From 0a64c55bdc9b106917f66486f8cb15697ce090bf Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 11:21:31 +0000 Subject: [PATCH 36/60] [1] --- lukovnikovde/docs/report.md | 1 + 1 file changed, 1 insertion(+) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md index 6012c11..aaff4e4 100644 --- a/lukovnikovde/docs/report.md +++ b/lukovnikovde/docs/report.md @@ -4,4 +4,5 @@ - Связный список - Хеш-таблица - Двоичное дерево поиска + Практическая часть включала в себя такие операции как: добавление или обновление телефонного номера, удаление телефонного номера, поиск владельца телефонного номера и составление списка из кортежей вида (владелец, номер). Каждое выполнение функций проводилось с списоком из кортежей вида (владелецб номер), в котором было 1000 уникальных имен и еще 9000 имен, которые уже были использованны (всего 10000 кортежей). Каждое тестирование структур выполнялось для сортированного и не сортированного начального списка 10 раз. \ No newline at end of file From 2dfa9768ec4b1e48bf59b18d1edb8d4883d919a0 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 13:29:04 +0000 Subject: [PATCH 37/60] [2] --- lukovnikovde/docs/report.md | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md index aaff4e4..134312f 100644 --- a/lukovnikovde/docs/report.md +++ b/lukovnikovde/docs/report.md @@ -3,6 +3,19 @@ В ходе выполнения лабораторной работы были выполнены реализации трех структур для хранения и обработки данных телефонных номеров: - Связный список - Хеш-таблица -- Двоичное дерево поиска +- Двоичное дерево поиска. -Практическая часть включала в себя такие операции как: добавление или обновление телефонного номера, удаление телефонного номера, поиск владельца телефонного номера и составление списка из кортежей вида (владелец, номер). Каждое выполнение функций проводилось с списоком из кортежей вида (владелецб номер), в котором было 1000 уникальных имен и еще 9000 имен, которые уже были использованны (всего 10000 кортежей). Каждое тестирование структур выполнялось для сортированного и не сортированного начального списка 10 раз. \ No newline at end of file +Практическая часть включала в себя такие операции как: добавление или обновление телефонного номера, удаление телефонного номера, поиск владельца телефонного номера и составление списка из кортежей вида (владелец, номер). Каждое выполнение функций проводилось с списоком из кортежей вида (владелецб номер), в котором было 1000 уникальных имен и еще 9000 имен, которые уже были использованны (всего 10000 кортежей). Каждое тестирование структур выполнялось для сортированного и не сортированного начального списка 10 раз. +## 2. Результаты измерений +Данные в таблице отражают среднее время в милисекундах выполнения структур. +| Структура | Начальный список | insert, мс | find, мс | delete, мс | create list, мс | +| :--- | :--- | ---: | ---: | ---: | ---: | +| LinkedList | not sorted | 165.61 | 1.767 | 3.418 | 31.795 | +| LinkedList | sorted | 171.01 | 1.720 | 3.440 | 21.378 | +| HashTable | not sorted | 17.15 | 0.278 | 0.320 | 48.080 | +| HashTable | sorted | 17.49 | 0.284 | 0.321 | 47.911 | +| BST | not sorted | 52.95 | 0.772 | 0.660 | 0.283 | +| BST | sorted | 162.70 | 1.809 | 1.564 | 1.626 | + +Изходя из полученных значений можно построить столбчатую диаграмму +![](data/time_schedule.png) \ No newline at end of file From f0dafc0e7093ee0315f0ee47d4f00e9a0cb7fed2 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Thu, 7 May 2026 13:56:15 +0000 Subject: [PATCH 38/60] [3] --- lukovnikovde/docs/report.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md index 134312f..c400003 100644 --- a/lukovnikovde/docs/report.md +++ b/lukovnikovde/docs/report.md @@ -9,7 +9,7 @@ ## 2. Результаты измерений Данные в таблице отражают среднее время в милисекундах выполнения структур. | Структура | Начальный список | insert, мс | find, мс | delete, мс | create list, мс | -| :--- | :--- | ---: | ---: | ---: | ---: | +| :---: | :---: | ---: | ---: | ---: | ---: | | LinkedList | not sorted | 165.61 | 1.767 | 3.418 | 31.795 | | LinkedList | sorted | 171.01 | 1.720 | 3.440 | 21.378 | | HashTable | not sorted | 17.15 | 0.278 | 0.320 | 48.080 | @@ -17,5 +17,12 @@ | BST | not sorted | 52.95 | 0.772 | 0.660 | 0.283 | | BST | sorted | 162.70 | 1.809 | 1.564 | 1.626 | -Изходя из полученных значений можно построить столбчатую диаграмму -![](data/time_schedule.png) \ No newline at end of file +Изходя из полученных значений можно построить столбчатую диаграмму: + +![](data/time_schedule.png) +## 3. Анализ полученных данных +### 3.1 Зависимость скорости работы BST от порядка ввода данных. +Из полученных данных можно заметить, что для BST порядок ввода сильно сказывается на результате скорости выполнения программы: при послутплении неотсортированных данных программа справляется примерно в 3 раза быстрее. Связано это с тем, что каждое новое значение, при сортированных данных, будет больше предыдущего, а соответственно будет каждый раз создаватся правый лист, из-за чего высота дерева становится равной количесвту всех уникальных имен, вседствии чего сложность возрастает до О(n), а двоичное дерево превращается в своебразный связный список. Даже если сравнивать связный список и такое дерево, то скорость запонения с помощью такого способа проигрывает даже связному списку. Связано это с тем, что, хоть дерево здесь и будет выполнять роль связного списка, оно всеравно будет в каждом узле создавать новый левый лист со значением None, что замедляет его работу. + +### 3.2 Независимость скорости выполнения заполнения хеш-таблицы от порядка вводных данных +Из эксперемента можно заметить, что скорость заполнения хеш-таблицы сортированными и несортированными данными почти одинакова(разница менее 2%). Это объясняется наличием бакетов, которые распределяют данные. \ No newline at end of file From fc641dda09ee6e559ecbd05421bb7e19df70307d Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 8 May 2026 16:49:01 +0000 Subject: [PATCH 39/60] [4] FINISH --- lukovnikovde/docs/report.md | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md index c400003..be45815 100644 --- a/lukovnikovde/docs/report.md +++ b/lukovnikovde/docs/report.md @@ -22,7 +22,31 @@ ![](data/time_schedule.png) ## 3. Анализ полученных данных ### 3.1 Зависимость скорости работы BST от порядка ввода данных. -Из полученных данных можно заметить, что для BST порядок ввода сильно сказывается на результате скорости выполнения программы: при послутплении неотсортированных данных программа справляется примерно в 3 раза быстрее. Связано это с тем, что каждое новое значение, при сортированных данных, будет больше предыдущего, а соответственно будет каждый раз создаватся правый лист, из-за чего высота дерева становится равной количесвту всех уникальных имен, вседствии чего сложность возрастает до О(n), а двоичное дерево превращается в своебразный связный список. Даже если сравнивать связный список и такое дерево, то скорость запонения с помощью такого способа проигрывает даже связному списку. Связано это с тем, что, хоть дерево здесь и будет выполнять роль связного списка, оно всеравно будет в каждом узле создавать новый левый лист со значением None, что замедляет его работу. +Из полученных данных можно заметить, что для BST порядок ввода сильно сказывается на результате скорости выполнения программы: при послутплении неотсортированных данных программа справляется примерно в 3 раза быстрее. Связано это с тем, что каждое новое значение, при сортированных данных, будет больше предыдущего, а соответственно будет каждый раз создаватся правый лист, из-за чего высота дерева становится равной количесвту всех уникальных имен, вседствии чего сложность возрастает до О(n), а двоичное дерево превращается в своебразный связный список. ### 3.2 Независимость скорости выполнения заполнения хеш-таблицы от порядка вводных данных -Из эксперемента можно заметить, что скорость заполнения хеш-таблицы сортированными и несортированными данными почти одинакова(разница менее 2%). Это объясняется наличием бакетов, которые распределяют данные. \ No newline at end of file +Из эксперемента можно заметить, что скорость заполнения хеш-таблицы сортированными и несортированными данными почти одинакова(разница менее 2%). Это объясняется наличием бакетов, которые разбивают все данные на N списков (В данной лабораторной работе N = 100) и не зависмо от способа подачи данных мы всегда получим N списков с одинаков наполнением. +Скорость выполнения вставки почти одинакова, так как и для случая сортированного и несортированного начального списка необходимо только определить нужный бакет и добавить в этот бакет кортеж (владелец, номер), то есть сложность операции О(1), что отражают результаты эксперемента. +Скорость выполнения поиска/удаления/составление списка почти одинаковы по тем же причинам: из-за наличия бакетов отрезаем часть лишних данных и уже работаем с оставшимеся, что значительно уменьшает время, а так как длина списока в бакете будет гораздо меньше длины списка исходных данных, что линейная сложность при переборе этого списка не сильно повлияет на время выполнения программы. + +### 3.3 Медленность посика связного списка +Чтобы найти нужный элемент в связном списке необходимо перебрать все элементы стоящие до него, и если элемент находится где-то в конце такого списка, то придется перебрать почти все значения, на что уйдет явно больше премени чем при применениеи хеш-таблицы, которая отсекает большую часть ненужных данных, или двоичного дерева, которое составлено так, что не нужно будет перебирать все значения. + +### 3.4 Принципы работы Удаления +### - Связный список: +В связном списке необходимо найти нужный словарь, значение ключа next содержит искомое имя. После этого мы меняем значение ключа next этого словаря на то, которое стоит в значении ключа next словаря, который мы собираемся удалить. Если мы хотим удалить запись, которой не существует, в таком случае перебираем весь связный спискок полностью и в случае ненахождения нужной записи возвращаем исходный список. + +### - Хеш-таблица: +В начале ищем номер нужного бакета, и начинаем искать в бакете необходую запись: перебираем список кортежей, пока не найдем нужную запись. Если запись нашлась, то удалем ее и списка, если нет, то возвращаем исходные данные без изменений + +### - Двоичное дерево посика: +Сначала ищем узел, который необходимо удалить, а затем действуем в зависимости от ситуации: + 1) У узла нет потомков: + В такой ситуации просто удаляем наш узел(в данном случае лист) + 2) У узла нет потомков справа или слева: + Если у узла есть только правые потомки, то на место этого узела помещаем узел, который расположен справа. Аналогично для случая с наличием левых потомков. + 3) Если у узла есть и правые и левые потомки: + Находим самый маленький узел в правом поддереве этого узла, то есть идем сначала вправо от узла, а потом только влево, пока не дойдем до значения None. + Копируем значения этого наименьшего и подставляем эти данные в узел, который хотим удалить, не меняя значения под ключами left и right, а затем удаляем этот наименьший как описано в пунктах (1) и (2), так как этот узел или будет иметь только потомков вправа или не иметь их вообще + +## Вывод: в ходе выполнения лабораторной были изучены 3 способа хранения и обработки данных. Из данных полученных из эксперементов можно выделить наилучшие способы применения этих структур. Если в программе необходимо часто пополнять данные, корректировать, искать и удалять их, то лучше всего подойдет хеш-таблица. Если необходимо часто собирать все данные в один сортированный список и исходные данные несортированные, то хеш-таблица будет тормозить, в этом случае лучше использовать двоичное дерего поиска, хоть они и показывают более худший результат в добавлении, посике и удалении(примерно в 2.5-3 раза), но формируют список они моментально: 0.283 мс. Если же исходные данные отсортированны и необходимо выполнять все те же операции но без удаления, то в таком случае наиболее эффективным будет связный список. \ No newline at end of file From 608ddb6c48200a19a004e52ef0ec5820c03a00de Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 8 May 2026 16:49:54 +0000 Subject: [PATCH 40/60] [5] FINISH --- lukovnikovde/docs/report.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md index be45815..781921a 100644 --- a/lukovnikovde/docs/report.md +++ b/lukovnikovde/docs/report.md @@ -41,11 +41,11 @@ ### - Двоичное дерево посика: Сначала ищем узел, который необходимо удалить, а затем действуем в зависимости от ситуации: - 1) У узла нет потомков: + - 1) У узла нет потомков: В такой ситуации просто удаляем наш узел(в данном случае лист) - 2) У узла нет потомков справа или слева: + - 2) У узла нет потомков справа или слева: Если у узла есть только правые потомки, то на место этого узела помещаем узел, который расположен справа. Аналогично для случая с наличием левых потомков. - 3) Если у узла есть и правые и левые потомки: + - 3) Если у узла есть и правые и левые потомки: Находим самый маленький узел в правом поддереве этого узла, то есть идем сначала вправо от узла, а потом только влево, пока не дойдем до значения None. Копируем значения этого наименьшего и подставляем эти данные в узел, который хотим удалить, не меняя значения под ключами left и right, а затем удаляем этот наименьший как описано в пунктах (1) и (2), так как этот узел или будет иметь только потомков вправа или не иметь их вообще From cd70aa81c697e0d0467d3f0f58c831a1f546145f Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 8 May 2026 16:50:34 +0000 Subject: [PATCH 41/60] [6] FINISH --- lukovnikovde/docs/report.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report.md index 781921a..335398c 100644 --- a/lukovnikovde/docs/report.md +++ b/lukovnikovde/docs/report.md @@ -41,11 +41,11 @@ ### - Двоичное дерево посика: Сначала ищем узел, который необходимо удалить, а затем действуем в зависимости от ситуации: - - 1) У узла нет потомков: +- 1 У узла нет потомков: В такой ситуации просто удаляем наш узел(в данном случае лист) - - 2) У узла нет потомков справа или слева: +- 2 У узла нет потомков справа или слева: Если у узла есть только правые потомки, то на место этого узела помещаем узел, который расположен справа. Аналогично для случая с наличием левых потомков. - - 3) Если у узла есть и правые и левые потомки: +- 3 Если у узла есть и правые и левые потомки: Находим самый маленький узел в правом поддереве этого узла, то есть идем сначала вправо от узла, а потом только влево, пока не дойдем до значения None. Копируем значения этого наименьшего и подставляем эти данные в узел, который хотим удалить, не меняя значения под ключами left и right, а затем удаляем этот наименьший как описано в пунктах (1) и (2), так как этот узел или будет иметь только потомков вправа или не иметь их вообще From 03112f53fadfa6e46dc8f390ccfea75530d595c7 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Fri, 8 May 2026 16:51:41 +0000 Subject: [PATCH 42/60] [0] initial commit --- lukovnikovde/428.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/428.md diff --git a/lukovnikovde/428.md b/lukovnikovde/428.md new file mode 100644 index 0000000..e69de29 From 7aca816d8593c6398505900ce2eb22c1ef1dd060 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:20:10 +0000 Subject: [PATCH 43/60] [2] preparing rep to 2-nd exercise --- lukovnikovde/docs/data/{ => 1-st-exercise}/DataStructure.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lukovnikovde/docs/data/{ => 1-st-exercise}/DataStructure.py (100%) diff --git a/lukovnikovde/docs/data/DataStructure.py b/lukovnikovde/docs/data/1-st-exercise/DataStructure.py similarity index 100% rename from lukovnikovde/docs/data/DataStructure.py rename to lukovnikovde/docs/data/1-st-exercise/DataStructure.py From a5c368e145a18c2c72bac258bce3b25c8bb5ab64 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:20:31 +0000 Subject: [PATCH 44/60] [2] preparing rep to 2-nd exercise --- lukovnikovde/docs/data/{ => 1-st-exercise}/resalts.csv | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lukovnikovde/docs/data/{ => 1-st-exercise}/resalts.csv (100%) diff --git a/lukovnikovde/docs/data/resalts.csv b/lukovnikovde/docs/data/1-st-exercise/resalts.csv similarity index 100% rename from lukovnikovde/docs/data/resalts.csv rename to lukovnikovde/docs/data/1-st-exercise/resalts.csv From 1eb2b4da5312beb0d88bb2f4feb4d44af125b3d6 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:20:45 +0000 Subject: [PATCH 45/60] =?UTF-8?q?=D0=A3=D0=B4=D0=B0=D0=BB=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20lukovnikovde/docs/data/time=5Fschedule.png?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lukovnikovde/docs/data/time_schedule.png | Bin 37066 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 lukovnikovde/docs/data/time_schedule.png diff --git a/lukovnikovde/docs/data/time_schedule.png b/lukovnikovde/docs/data/time_schedule.png deleted file mode 100644 index cb800efd2a7a50f23fe23ba564090f1ae68a900b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37066 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 From 3bef169aba5cda422f1a74bd5e6ae70b15049c6f Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:20:55 +0000 Subject: [PATCH 46/60] =?UTF-8?q?=D0=97=D0=B0=D0=B3=D1=80=D1=83=D0=B7?= =?UTF-8?q?=D0=B8=D1=82=D1=8C=20=D1=84=D0=B0=D0=B9=D0=BB=D1=8B=20=D0=B2=20?= =?UTF-8?q?=C2=ABlukovnikovde/docs/data/1-st-exercise=C2=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../docs/data/1-st-exercise/time_schedule.png | Bin 0 -> 37066 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/docs/data/1-st-exercise/time_schedule.png diff --git a/lukovnikovde/docs/data/1-st-exercise/time_schedule.png b/lukovnikovde/docs/data/1-st-exercise/time_schedule.png new file mode 100644 index 0000000000000000000000000000000000000000..cb800efd2a7a50f23fe23ba564090f1ae68a900b GIT binary patch literal 37066 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 literal 0 HcmV?d00001 From d5d4c702b5e646e77034ef98c5570d96a0c9b01e Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:21:26 +0000 Subject: [PATCH 47/60] [2] Finishing prepare to 2-nd exercise --- lukovnikovde/docs/{report.md => report_lab_1.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lukovnikovde/docs/{report.md => report_lab_1.md} (100%) diff --git a/lukovnikovde/docs/report.md b/lukovnikovde/docs/report_lab_1.md similarity index 100% rename from lukovnikovde/docs/report.md rename to lukovnikovde/docs/report_lab_1.md From 4e1fab741f5c2e1b06d42f0030ad1953a2aeb20b Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:25:57 +0000 Subject: [PATCH 48/60] [2] starting lab 2 --- lukovnikovde/docs/data/2-nd-exercise/main.py | 117 +++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 lukovnikovde/docs/data/2-nd-exercise/main.py diff --git a/lukovnikovde/docs/data/2-nd-exercise/main.py b/lukovnikovde/docs/data/2-nd-exercise/main.py new file mode 100644 index 0000000..478d1f3 --- /dev/null +++ b/lukovnikovde/docs/data/2-nd-exercise/main.py @@ -0,0 +1,117 @@ +import sys +import os + +class Tile: + """Клетка лабиринта.""" + def __init__(self, x, y): + self.x = x + self.y = y + self.wall = False + self.start = False + self.exit = False + + def passable(self): + return not self.wall + + +class Labyrinth: + """Модель лабиринта.""" + def __init__(self, width, height): + self.width = width + self.height = height + self._tiles = [[Tile(x, y) for x in range(width)] for y in range(height)] + self.start_tile = None + self.exit_tile = None + + def get_tile(self, x, y): + if 0 <= x < self.width and 0 <= y < self.height: + return self._tiles[y][x] + return None + + def set_tile(self, x, y, kind): + tile = self.get_tile(x, y) + if tile is None: + return + if kind == 'wall': + tile.wall = True + elif kind == 'start': + if self.start_tile: + self.start_tile.start = False + tile.start = True + tile.wall = False + self.start_tile = tile + elif kind == 'exit': + if self.exit_tile: + self.exit_tile.exit = False + tile.exit = True + tile.wall = False + self.exit_tile = tile + elif kind == 'path': + tile.wall = False + + def neighbours(self, tile): + dirs = [(0, -1), (0, 1), (-1, 0), (1, 0)] + result = [] + for dx, dy in dirs: + nx, ny = tile.x + dx, tile.y + dy + nb = self.get_tile(nx, ny) + if nb and nb.passable(): + result.append(nb) + return result + + +class LabyrinthLoader: + def load(self, filename): + raise NotImplementedError + + +class TextLabyrinthLoader(LabyrinthLoader): + def load(self, filename): + with open(filename, 'r', encoding='utf-8') as f: + lines = [line.rstrip('\n') for line in f] + h = len(lines) + w = max(len(line) for line in lines) if h > 0 else 0 + start_cnt = 0 + exit_cnt = 0 + lab = Labyrinth(w, h) + + for y, line in enumerate(lines): + for x, ch in enumerate(line): + if ch == '#': + lab.set_tile(x, y, 'wall') + elif ch == 'S': + lab.set_tile(x, y, 'start') + start_cnt += 1 + elif ch == 'E': + lab.set_tile(x, y, 'exit') + exit_cnt += 1 + else: + lab.set_tile(x, y, 'path') + if start_cnt != 1 or exit_cnt != 1: + raise ValueError(f"Нужны ровно S и E, найдено S={start_cnt}, E={exit_cnt}") + return lab + + +if __name__ == "__main__": + # Простая проверка загрузки и вывода лабиринта + loader = TextLabyrinthLoader() + lab = loader.load("maze/maze1.txt") # временно создадим позже + + os.system('cls' if os.name == 'nt' else 'clear') + print("=" * (lab.width * 2 + 4)) + print(" ЛАБИРИНТ (загружен)") + print("=" * (lab.width * 2 + 4)) + for y in range(lab.height): + print(" ", end='') + for x in range(lab.width): + t = lab.get_tile(x, y) + if t == lab.start_tile: + print('S', end=' ') + elif t == lab.exit_tile: + print('E', end=' ') + elif t.wall: + print('#', end=' ') + else: + print('.', end=' ') + print() + print("=" * (lab.width * 2 + 4)) \ No newline at end of file From 539dba32f9d395b168f9cc3aed01b0d9f2d97281 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:27:40 +0000 Subject: [PATCH 49/60] [2] realising BFS DFS and A* --- lukovnikovde/docs/data/2-nd-exercise/main.py | 147 ++++++++++++++++--- 1 file changed, 125 insertions(+), 22 deletions(-) diff --git a/lukovnikovde/docs/data/2-nd-exercise/main.py b/lukovnikovde/docs/data/2-nd-exercise/main.py index 478d1f3..1966589 100644 --- a/lukovnikovde/docs/data/2-nd-exercise/main.py +++ b/lukovnikovde/docs/data/2-nd-exercise/main.py @@ -1,5 +1,9 @@ import sys import os +from collections import deque +import heapq +import time + class Tile: """Клетка лабиринта.""" @@ -92,26 +96,125 @@ class TextLabyrinthLoader(LabyrinthLoader): return lab -if __name__ == "__main__": - # Простая проверка загрузки и вывода лабиринта - loader = TextLabyrinthLoader() - lab = loader.load("maze/maze1.txt") # временно создадим позже +class Pathfinder: + def find_path(self, lab, start, goal): + raise NotImplementedError - os.system('cls' if os.name == 'nt' else 'clear') - print("=" * (lab.width * 2 + 4)) - print(" ЛАБИРИНТ (загружен)") - print("=" * (lab.width * 2 + 4)) - for y in range(lab.height): - print(" ", end='') - for x in range(lab.width): - t = lab.get_tile(x, y) - if t == lab.start_tile: - print('S', end=' ') - elif t == lab.exit_tile: - print('E', end=' ') - elif t.wall: - print('#', end=' ') - else: - print('.', end=' ') - print() - print("=" * (lab.width * 2 + 4)) \ No newline at end of file + def _build_path(self, came_from, start, goal): + path = [] + cur = goal + while cur is not None: + path.append(cur) + cur = came_from.get(cur) + path.reverse() + return path + + def visited_count(self): + return getattr(self, '_visited', 0) + + +class BFS(Pathfinder): + def find_path(self, lab, start, goal): + q = deque([start]) + parent = {start: None} + visited = {start} + while q: + cur = q.popleft() + if cur == goal: + self._visited = len(visited) + return self._build_path(parent, start, goal) + for nb in lab.neighbours(cur): + if nb not in visited: + visited.add(nb) + parent[nb] = cur + q.append(nb) + self._visited = len(visited) + return [] + + +class DFS(Pathfinder): + def find_path(self, lab, start, goal): + stack = [start] + parent = {start: None} + visited = {start} + while stack: + cur = stack.pop() + if cur == goal: + self._visited = len(visited) + return self._build_path(parent, start, goal) + for nb in lab.neighbours(cur): + if nb not in visited: + visited.add(nb) + parent[nb] = cur + stack.append(nb) + self._visited = len(visited) + return [] + + +class AStar(Pathfinder): + def _heuristic(self, a, b): + return abs(a.x - b.x) + abs(a.y - b.y) + + def find_path(self, lab, start, goal): + heap = [] + counter = 0 + start_f = self._heuristic(start, goal) + heapq.heappush(heap, (start_f, counter, start)) + counter += 1 + parent = {} + g = {start: 0} + f = {start: start_f} + visited = set() + while heap: + cur_f, _, cur = heapq.heappop(heap) + visited.add(cur) + if cur == goal: + self._visited = len(visited) + return self._build_path(parent, start, goal) + if cur_f > f.get(cur, float('inf')): + continue + for nb in lab.neighbours(cur): + new_g = g[cur] + 1 + if new_g < g.get(nb, float('inf')): + parent[nb] = cur + g[nb] = new_g + new_f = new_g + self._heuristic(nb, goal) + f[nb] = new_f + heapq.heappush(heap, (new_f, counter, nb)) + counter += 1 + self._visited = len(visited) + return [] + + +class LabyrinthSolver: + def __init__(self, lab): + self.lab = lab + self.strategy = None + + def set_strategy(self, strategy): + self.strategy = strategy + + def solve(self): + if not self.strategy: + return None + t0 = time.perf_counter() + path = self.strategy.find_path(self.lab, self.lab.start_tile, self.lab.exit_tile) + t1 = time.perf_counter() + return { + 'time_ms': (t1 - t0) * 1000, + 'visited': self.strategy.visited_count(), + 'length': len(path) + } + + +if __name__ == "__main__": + loader = TextLabyrinthLoader() + lab = loader.load("maze/maze1.txt") + print("Загружен лабиринт, пробуем BFS...") + solver = LabyrinthSolver(lab) + solver.set_strategy(BFS()) + stats = solver.solve() + if stats['length'] > 0: + print(f"BFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") + else: + print("Путь не найден") \ No newline at end of file From dfd34a3974a466b2d03c0d1314414d71acb84690 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:29:17 +0000 Subject: [PATCH 50/60] [2] add player rejim --- lukovnikovde/docs/data/2-nd-exercise/main.py | 124 +++++++++++++++++++ 1 file changed, 124 insertions(+) diff --git a/lukovnikovde/docs/data/2-nd-exercise/main.py b/lukovnikovde/docs/data/2-nd-exercise/main.py index 1966589..1e0c35a 100644 --- a/lukovnikovde/docs/data/2-nd-exercise/main.py +++ b/lukovnikovde/docs/data/2-nd-exercise/main.py @@ -207,6 +207,130 @@ class LabyrinthSolver: } +class EventListener: + def notify(self, event, data): + raise NotImplementedError + + +class ConsoleRenderer(EventListener): + def __init__(self, walker=None): + self.last_path = None + self.walker = walker + + def notify(self, event, data): + if event == "maze_loaded": + self._draw_maze(data) + elif event == "path_found": + self.last_path = data + self._show_path_info(data) + elif event == "player_moved": + self._draw_maze_with_player(data) + + def _draw_maze(self, lab): + os.system('cls' if os.name == 'nt' else 'clear') + print("=" * (lab.width * 2 + 4)) + print(" ЛАБИРИНТ") + print("=" * (lab.width * 2 + 4)) + for y in range(lab.height): + print(" ", end='') + for x in range(lab.width): + t = lab.get_tile(x, y) + if t == lab.start_tile: + print('S', end=' ') + elif t == lab.exit_tile: + print('E', end=' ') + elif t.wall: + print('#', end=' ') + else: + print('.', end=' ') + print() + print("=" * (lab.width * 2 + 4)) + print(" S - старт E - выход # - стена . - проход") + + def _draw_maze_with_player(self, lab): + os.system('cls' if os.name == 'nt' else 'clear') + print("=" * (lab.width * 2 + 4)) + print(" ЛАБИРИНТ (игрок = P)") + print("=" * (lab.width * 2 + 4)) + for y in range(lab.height): + print(" ", end='') + for x in range(lab.width): + t = lab.get_tile(x, y) + if self.walker and t == self.walker.current: + print('P', end=' ') + elif t == lab.start_tile: + print('S', end=' ') + elif t == lab.exit_tile: + print('E', end=' ') + elif t.wall: + print('#', end=' ') + else: + print('.', end=' ') + print() + print("=" * (lab.width * 2 + 4)) + if self.walker: + print(f" Позиция игрока: ({self.walker.current.x}, {self.walker.current.y})") + + def _show_path_info(self, path): + if not path: + print("\n Путь не найден!") + else: + print(f"\n Путь найден! Длина = {len(path)}") + + +class Walker: + def __init__(self, start_tile, lab): + self.current = start_tile + self.prev = None + self.lab = lab + + def move(self, target_tile): + if target_tile and target_tile.passable(): + self.prev = self.current + self.current = target_tile + return True + return False + + def undo(self): + if self.prev: + self.current, self.prev = self.prev, None + return True + return False + + +class Action: + def do(self): + raise NotImplementedError + def undo(self): + raise NotImplementedError + + +class MoveAction(Action): + def __init__(self, walker, dx, dy, lab): + self.walker = walker + self.dx = dx + self.dy = dy + self.lab = lab + self.done = False + + def do(self): + new_x = self.walker.current.x + self.dx + new_y = self.walker.current.y + self.dy + target = self.lab.get_tile(new_x, new_y) + if target and target.passable(): + self.walker.move(target) + self.done = True + return True + return False + + def undo(self): + if self.done: + self.walker.undo() + self.done = False + return True + return False + + if __name__ == "__main__": loader = TextLabyrinthLoader() lab = loader.load("maze/maze1.txt") From 641e1a8aac4edb1c532e2b2bb80f9eb2ab3d7b8d Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:32:17 +0000 Subject: [PATCH 51/60] [2] feet rewrite some classes and add some coments --- lukovnikovde/docs/data/2-nd-exercise/main.py | 84 +++++++++++++++++--- 1 file changed, 74 insertions(+), 10 deletions(-) diff --git a/lukovnikovde/docs/data/2-nd-exercise/main.py b/lukovnikovde/docs/data/2-nd-exercise/main.py index 1e0c35a..5291646 100644 --- a/lukovnikovde/docs/data/2-nd-exercise/main.py +++ b/lukovnikovde/docs/data/2-nd-exercise/main.py @@ -4,9 +4,8 @@ from collections import deque import heapq import time - +# ---------- 1. Модель клетки и лабиринта ---------- class Tile: - """Клетка лабиринта.""" def __init__(self, x, y): self.x = x self.y = y @@ -19,7 +18,6 @@ class Tile: class Labyrinth: - """Модель лабиринта.""" def __init__(self, width, height): self.width = width self.height = height @@ -64,6 +62,7 @@ class Labyrinth: return result +# ---------- 2. Загрузка лабиринта из файла ---------- class LabyrinthLoader: def load(self, filename): raise NotImplementedError @@ -96,6 +95,7 @@ class TextLabyrinthLoader(LabyrinthLoader): return lab +# ---------- 3. Алгоритмы поиска пути (стратегии) ---------- class Pathfinder: def find_path(self, lab, start, goal): raise NotImplementedError @@ -186,10 +186,19 @@ class AStar(Pathfinder): return [] +# ---------- 4. Оркестратор с поддержкой наблюдателей ---------- class LabyrinthSolver: def __init__(self, lab): self.lab = lab self.strategy = None + self.observers = [] + + def attach(self, obs): + self.observers.append(obs) + + def notify(self, event, data): + for obs in self.observers: + obs.notify(event, data) def set_strategy(self, strategy): self.strategy = strategy @@ -200,6 +209,7 @@ class LabyrinthSolver: t0 = time.perf_counter() path = self.strategy.find_path(self.lab, self.lab.start_tile, self.lab.exit_tile) t1 = time.perf_counter() + self.notify("path_found", path) return { 'time_ms': (t1 - t0) * 1000, 'visited': self.strategy.visited_count(), @@ -207,6 +217,7 @@ class LabyrinthSolver: } +# ---------- 5. Визуализация (наблюдатель) ---------- class EventListener: def notify(self, event, data): raise NotImplementedError @@ -278,6 +289,7 @@ class ConsoleRenderer(EventListener): print(f"\n Путь найден! Длина = {len(path)}") +# ---------- 6. Игрок и команды с отменой ---------- class Walker: def __init__(self, start_tile, lab): self.current = start_tile @@ -331,14 +343,66 @@ class MoveAction(Action): return False +# ---------- 7. Главный интерактивный цикл (коммит №4) ---------- if __name__ == "__main__": + # Загружаем лабиринт (предполагается, что файл maze/maze1.txt существует) loader = TextLabyrinthLoader() lab = loader.load("maze/maze1.txt") - print("Загружен лабиринт, пробуем BFS...") + + player = Walker(lab.start_tile, lab) + view = ConsoleRenderer(player) + view.notify("maze_loaded", lab) + solver = LabyrinthSolver(lab) - solver.set_strategy(BFS()) - stats = solver.solve() - if stats['length'] > 0: - print(f"BFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") - else: - print("Путь не найден") \ No newline at end of file + solver.attach(view) + + print("\n УПРАВЛЕНИЕ:") + print(" H (влево) J (вниз) K (вверх) L (вправо)") + print(" U - отменить ход Q - выход") + print("\n АВТОПОИСК:") + print(" B - BFS D - DFS A - A*") + print("\n" + "=" * 50) + + command_stack = [] + while True: + key = input("\n Команда > ").lower() + if key == 'q': + print("\n До свидания!") + break + elif key == 'b': + solver.set_strategy(BFS()) + stats = solver.solve() + if stats: + print(f"\n BFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") + elif key == 'd': + solver.set_strategy(DFS()) + stats = solver.solve() + print(f"\n DFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") + elif key == 'a': + solver.set_strategy(AStar()) + stats = solver.solve() + print(f"\n A*: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") + elif key in ['h', 'j', 'k', 'l']: + dirs = {'h': (-1,0), 'l': (1,0), 'k': (0,-1), 'j': (0,1)} + act = MoveAction(player, dirs[key][0], dirs[key][1], lab) + if act.do(): + command_stack.append(act) + view.notify("player_moved", lab) + if player.current == lab.exit_tile: + print("\n ПОЗДРАВЛЯЮ! ВЫ НАШЛИ ВЫХОД!") + print(f" Сделано ходов: {len(command_stack)}") + break + else: + print("\n Туда нельзя – стена!") + elif key == 'u': + if command_stack: + cmd = command_stack.pop() + cmd.undo() + view.notify("player_moved", lab) + print("\n Отмена последнего хода") + else: + print("\n Нечего отменять") + else: + print("\n Неизвестная команда. Используйте h,j,k,l, u, b, d, a, q") + + print("\n Игра окончена. Спасибо!") \ No newline at end of file From cb5e43f85786c9298c8ea63df5ca5b66f847d38f Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:33:48 +0000 Subject: [PATCH 52/60] [2] experimental module and plotting --- lukovnikovde/docs/data/2-nd-exercise/main.py | 231 ++++++++++++++----- 1 file changed, 175 insertions(+), 56 deletions(-) diff --git a/lukovnikovde/docs/data/2-nd-exercise/main.py b/lukovnikovde/docs/data/2-nd-exercise/main.py index 5291646..69a8852 100644 --- a/lukovnikovde/docs/data/2-nd-exercise/main.py +++ b/lukovnikovde/docs/data/2-nd-exercise/main.py @@ -3,6 +3,9 @@ import os from collections import deque import heapq import time +import csv +import matplotlib.pyplot as plt +import numpy as np # ---------- 1. Модель клетки и лабиринта ---------- class Tile: @@ -343,66 +346,182 @@ class MoveAction(Action): return False -# ---------- 7. Главный интерактивный цикл (коммит №4) ---------- -if __name__ == "__main__": - # Загружаем лабиринт (предполагается, что файл maze/maze1.txt существует) +# ---------- 7. Экспериментальные функции ---------- +def run_benchmark(maze_file, strategy, runs=5): loader = TextLabyrinthLoader() - lab = loader.load("maze/maze1.txt") + lab = loader.load(maze_file) + total_time = 0.0 + total_visited = 0 + total_len = 0 + for _ in range(runs): + solver = LabyrinthSolver(lab) + solver.set_strategy(strategy) + stats = solver.solve() + if stats: + total_time += stats['time_ms'] + total_visited += stats['visited'] + total_len += stats['length'] + return { + 'time_ms': total_time / runs, + 'visited': total_visited / runs, + 'length': total_len / runs + } - player = Walker(lab.start_tile, lab) - view = ConsoleRenderer(player) - view.notify("maze_loaded", lab) - solver = LabyrinthSolver(lab) - solver.attach(view) +def make_plots(results): + mazes = list({r['maze'] for r in results}) + algos = ['BFS', 'DFS', 'AStar'] + fig, axes = plt.subplots(1, 3, figsize=(15, 5)) + x = np.arange(len(mazes)) + width = 0.25 - print("\n УПРАВЛЕНИЕ:") - print(" H (влево) J (вниз) K (вверх) L (вправо)") - print(" U - отменить ход Q - выход") - print("\n АВТОПОИСК:") - print(" B - BFS D - DFS A - A*") - print("\n" + "=" * 50) + for i, algo in enumerate(algos): + times = [] + for m in mazes: + val = next((r['time_ms'] for r in results if r['maze'] == m and r['algo'] == algo), 0) + times.append(val) + axes[0].bar(x + i*width, times, width, label=algo) + axes[0].set_xlabel('Лабиринт') + axes[0].set_ylabel('Время (мс)') + axes[0].set_title('Сравнение времени выполнения') + axes[0].set_xticks(x + width) + axes[0].set_xticklabels(mazes, rotation=45, ha='right') + axes[0].legend() + axes[0].grid(True, alpha=0.3) - command_stack = [] - while True: - key = input("\n Команда > ").lower() - if key == 'q': - print("\n До свидания!") - break - elif key == 'b': - solver.set_strategy(BFS()) - stats = solver.solve() - if stats: - print(f"\n BFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") - elif key == 'd': - solver.set_strategy(DFS()) - stats = solver.solve() - print(f"\n DFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") - elif key == 'a': - solver.set_strategy(AStar()) - stats = solver.solve() - print(f"\n A*: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") - elif key in ['h', 'j', 'k', 'l']: - dirs = {'h': (-1,0), 'l': (1,0), 'k': (0,-1), 'j': (0,1)} - act = MoveAction(player, dirs[key][0], dirs[key][1], lab) - if act.do(): - command_stack.append(act) - view.notify("player_moved", lab) - if player.current == lab.exit_tile: - print("\n ПОЗДРАВЛЯЮ! ВЫ НАШЛИ ВЫХОД!") - print(f" Сделано ходов: {len(command_stack)}") - break + for i, algo in enumerate(algos): + visited_vals = [] + for m in mazes: + val = next((r['visited'] for r in results if r['maze'] == m and r['algo'] == algo), 0) + visited_vals.append(val) + axes[1].bar(x + i*width, visited_vals, width, label=algo) + axes[1].set_xlabel('Лабиринт') + axes[1].set_ylabel('Посещено клеток') + axes[1].set_title('Сравнение посещённых клеток') + axes[1].set_xticks(x + width) + axes[1].set_xticklabels(mazes, rotation=45, ha='right') + axes[1].legend() + axes[1].grid(True, alpha=0.3) + + for i, algo in enumerate(algos): + lengths = [] + for m in mazes: + val = next((r['length'] for r in results if r['maze'] == m and r['algo'] == algo), 0) + lengths.append(val) + axes[2].bar(x + i*width, lengths, width, label=algo) + axes[2].set_xlabel('Лабиринт') + axes[2].set_ylabel('Длина пути') + axes[2].set_title('Сравнение длины пути') + axes[2].set_xticks(x + width) + axes[2].set_xticklabels(mazes, rotation=45, ha='right') + axes[2].legend() + axes[2].grid(True, alpha=0.3) + + plt.tight_layout() + plt.savefig('performance_comparison.png', dpi=150, bbox_inches='tight') + plt.show() + + +# ---------- 8. Главный блок ---------- +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == 'experiment': + # Режим экспериментов + test_mazes = [ + ("maze/maze1.txt", "Small 10x6"), + ("maze/maze10x10.txt", "Medium 10x10"), + ("maze/maze20x20.txt", "Large 20x20"), + ("maze/maze_empty.txt", "Empty 15x15"), + ("maze/maze_no_exit.txt", "No exit 10x10") + ] + strategies = [ + ("BFS", BFS()), + ("DFS", DFS()), + ("AStar", AStar()) + ] + results = [] + for maze_path, maze_name in test_mazes: + print(f"Тестируем {maze_name}...") + for algo_name, algo in strategies: + try: + stats = run_benchmark(maze_path, algo, runs=3) + results.append({ + 'maze': maze_name, + 'algo': algo_name, + 'time_ms': stats['time_ms'], + 'visited': stats['visited'], + 'length': stats['length'] + }) + print(f" {algo_name}: время={stats['time_ms']:.3f}мс, посещено={stats['visited']:.0f}, длина={stats['length']:.0f}") + except Exception as e: + print(f" {algo_name}: ошибка - {e}") + # Сохраняем CSV + with open('experiment_results.csv', 'w', newline='', encoding='utf-8') as f: + writer = csv.DictWriter(f, fieldnames=['maze', 'algo', 'time_ms', 'visited', 'length']) + writer.writeheader() + writer.writerows(results) + # Строим графики + if results: + make_plots(results) + print("\nРезультаты сохранены в experiment_results.csv и performance_comparison.png") + else: + # Интерактивный режим + loader = TextLabyrinthLoader() + lab = loader.load("maze/maze1.txt") + + player = Walker(lab.start_tile, lab) + view = ConsoleRenderer(player) + view.notify("maze_loaded", lab) + + solver = LabyrinthSolver(lab) + solver.attach(view) + + print("\n УПРАВЛЕНИЕ:") + print(" H (влево) J (вниз) K (вверх) L (вправо)") + print(" U - отменить ход Q - выход") + print("\n АВТОПОИСК:") + print(" B - BFS D - DFS A - A*") + print("\n" + "=" * 50) + + command_stack = [] + while True: + key = input("\n Команда > ").lower() + if key == 'q': + print("\n До свидания!") + break + elif key == 'b': + solver.set_strategy(BFS()) + stats = solver.solve() + if stats: + print(f"\n BFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") + elif key == 'd': + solver.set_strategy(DFS()) + stats = solver.solve() + print(f"\n DFS: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") + elif key == 'a': + solver.set_strategy(AStar()) + stats = solver.solve() + print(f"\n A*: время={stats['time_ms']:.3f}мс, посещено={stats['visited']}, длина={stats['length']}") + elif key in ['h', 'j', 'k', 'l']: + dirs = {'h': (-1,0), 'l': (1,0), 'k': (0,-1), 'j': (0,1)} + act = MoveAction(player, dirs[key][0], dirs[key][1], lab) + if act.do(): + command_stack.append(act) + view.notify("player_moved", lab) + if player.current == lab.exit_tile: + print("\n ПОЗДРАВЛЯЮ! ВЫ НАШЛИ ВЫХОД!") + print(f" Сделано ходов: {len(command_stack)}") + break + else: + print("\n Туда нельзя – стена!") + elif key == 'u': + if command_stack: + cmd = command_stack.pop() + cmd.undo() + view.notify("player_moved", lab) + print("\n Отмена последнего хода") + else: + print("\n Нечего отменять") else: - print("\n Туда нельзя – стена!") - elif key == 'u': - if command_stack: - cmd = command_stack.pop() - cmd.undo() - view.notify("player_moved", lab) - print("\n Отмена последнего хода") - else: - print("\n Нечего отменять") - else: - print("\n Неизвестная команда. Используйте h,j,k,l, u, b, d, a, q") + print("\n Неизвестная команда. Используйте h,j,k,l, u, b, d, a, q") - print("\n Игра окончена. Спасибо!") \ No newline at end of file + print("\n Игра окончена. Спасибо!") \ No newline at end of file From 8ba20c54b92b25301a1cb4000fdb1bb20a752027 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:35:08 +0000 Subject: [PATCH 53/60] [2] start adding maze`s --- lukovnikovde/docs/data/2-nd-exercise/maze/maze1.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 lukovnikovde/docs/data/2-nd-exercise/maze/maze1.txt diff --git a/lukovnikovde/docs/data/2-nd-exercise/maze/maze1.txt b/lukovnikovde/docs/data/2-nd-exercise/maze/maze1.txt new file mode 100644 index 0000000..e4c7e62 --- /dev/null +++ b/lukovnikovde/docs/data/2-nd-exercise/maze/maze1.txt @@ -0,0 +1,5 @@ +####### +#S # +# ### # +# #E # +####### \ No newline at end of file From 3035b7e15b9e797587ada8a5c17c6864ea92f129 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:35:49 +0000 Subject: [PATCH 54/60] [2] continu adding maze`s --- lukovnikovde/docs/data/2-nd-exercise/maze/maze10x10.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 lukovnikovde/docs/data/2-nd-exercise/maze/maze10x10.txt diff --git a/lukovnikovde/docs/data/2-nd-exercise/maze/maze10x10.txt b/lukovnikovde/docs/data/2-nd-exercise/maze/maze10x10.txt new file mode 100644 index 0000000..2528111 --- /dev/null +++ b/lukovnikovde/docs/data/2-nd-exercise/maze/maze10x10.txt @@ -0,0 +1,9 @@ +########## +#S # +# # #### # +# # # +#### # ## +# # # +# #### # # +# #E# +########## \ No newline at end of file From 5f5b14b739fc53829822d5313e3fa6b9dcc7d8e6 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:39:22 +0000 Subject: [PATCH 55/60] [2] add maze20x20.txt --- .../data/2-nd-exercise/maze/maze20x20.txt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 lukovnikovde/docs/data/2-nd-exercise/maze/maze20x20.txt diff --git a/lukovnikovde/docs/data/2-nd-exercise/maze/maze20x20.txt b/lukovnikovde/docs/data/2-nd-exercise/maze/maze20x20.txt new file mode 100644 index 0000000..62e84ea --- /dev/null +++ b/lukovnikovde/docs/data/2-nd-exercise/maze/maze20x20.txt @@ -0,0 +1,20 @@ +#################### +#S # +# # #### # +# # # # +#### # # ## +# ## ## ## +# ######## ## ## +# # +############## # +# ## ### # +# # +# # # # +# # # +# ##### # +# # +# ## ## # # +# # # # +# #### # # # # +# # # #E# +#################### \ No newline at end of file From 16cd930cdd985cb1c407fd41549051bf84bfea3d Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:40:08 +0000 Subject: [PATCH 56/60] [2] add maze empty --- .../docs/data/2-nd-exercise/maze/maze_empty.txt | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 lukovnikovde/docs/data/2-nd-exercise/maze/maze_empty.txt diff --git a/lukovnikovde/docs/data/2-nd-exercise/maze/maze_empty.txt b/lukovnikovde/docs/data/2-nd-exercise/maze/maze_empty.txt new file mode 100644 index 0000000..de8cf79 --- /dev/null +++ b/lukovnikovde/docs/data/2-nd-exercise/maze/maze_empty.txt @@ -0,0 +1,16 @@ +S + + + + + + + + + + + + + + +E \ No newline at end of file From 72d33c2b847c6f3c0d3ba4f68c89c41bf02b52b7 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:40:43 +0000 Subject: [PATCH 57/60] [2] add maze no exit --- .../docs/data/2-nd-exercise/maze/maze_no_exit.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 lukovnikovde/docs/data/2-nd-exercise/maze/maze_no_exit.txt diff --git a/lukovnikovde/docs/data/2-nd-exercise/maze/maze_no_exit.txt b/lukovnikovde/docs/data/2-nd-exercise/maze/maze_no_exit.txt new file mode 100644 index 0000000..d46ffa3 --- /dev/null +++ b/lukovnikovde/docs/data/2-nd-exercise/maze/maze_no_exit.txt @@ -0,0 +1,11 @@ +########## +#S # # +# # # +# # # +# # # +########## +# # # +# # # +# # # +# # E# +########## \ No newline at end of file From e0f27a4ef05d488f6e943db00a66750814b98c60 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:43:32 +0000 Subject: [PATCH 58/60] [2] add plots and csv data --- .../2-nd-exercise/maze/experiment_results.csv | 16 ++++++++++++++++ .../maze/performance_comparison.png | Bin 0 -> 84428 bytes 2 files changed, 16 insertions(+) create mode 100644 lukovnikovde/docs/data/2-nd-exercise/maze/experiment_results.csv create mode 100644 lukovnikovde/docs/data/2-nd-exercise/maze/performance_comparison.png diff --git a/lukovnikovde/docs/data/2-nd-exercise/maze/experiment_results.csv b/lukovnikovde/docs/data/2-nd-exercise/maze/experiment_results.csv new file mode 100644 index 0000000..00ec969 --- /dev/null +++ b/lukovnikovde/docs/data/2-nd-exercise/maze/experiment_results.csv @@ -0,0 +1,16 @@ +maze,algo,time_ms,visited,length +Small 10x6,BFS,0.03532833337279347,11.0,8.0 +Small 10x6,DFS,0.019208666647803813,9.0,8.0 +Small 10x6,AStar,0.04686633352927553,11.0,8.0 +Medium 10x10,BFS,0.05395633343141526,28.0,16.0 +Medium 10x10,DFS,0.038764333718669754,23.0,18.0 +Medium 10x10,AStar,0.07918899973446969,21.0,16.0 +Large 20x20,BFS,0.3642953330806146,183.0,35.0 +Large 20x20,DFS,0.2671169998696617,194.0,103.0 +Large 20x20,AStar,0.45344133347195265,104.0,35.0 +Empty 15x15,BFS,0.028481000299507286,16.0,16.0 +Empty 15x15,DFS,0.028324666648889735,16.0,16.0 +Empty 15x15,AStar,0.050569666503482345,16.0,16.0 +No exit 10x10,BFS,0.05937366677244427,12.0,0.0 +No exit 10x10,DFS,0.0502500000341873,12.0,0.0 +No exit 10x10,AStar,0.09478233338692614,12.0,0.0 diff --git a/lukovnikovde/docs/data/2-nd-exercise/maze/performance_comparison.png b/lukovnikovde/docs/data/2-nd-exercise/maze/performance_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ee0d68e876b7e184cc011a3be9ecc9eca134a3 GIT binary patch literal 84428 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 BA;kay literal 0 HcmV?d00001 From e080be3fc16f03bf5ea794af6c4f9d398862ca1d Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:44:24 +0000 Subject: [PATCH 59/60] [2] add png for prevant report lab 2 --- lukovnikovde/docs/performance_comparison.png | Bin 0 -> 84428 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lukovnikovde/docs/performance_comparison.png diff --git a/lukovnikovde/docs/performance_comparison.png b/lukovnikovde/docs/performance_comparison.png new file mode 100644 index 0000000000000000000000000000000000000000..f6ee0d68e876b7e184cc011a3be9ecc9eca134a3 GIT binary patch literal 84428 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 BA;kay literal 0 HcmV?d00001 From 23556d3900099a17e53206550a37af9411d35935 Mon Sep 17 00:00:00 2001 From: lukovnikovde Date: Sun, 24 May 2026 22:48:24 +0000 Subject: [PATCH 60/60] [2] FINAL adding report for 2-nd LABA --- lukovnikovde/docs/report_lab_2.md | 79 +++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 lukovnikovde/docs/report_lab_2.md diff --git a/lukovnikovde/docs/report_lab_2.md b/lukovnikovde/docs/report_lab_2.md new file mode 100644 index 0000000..81c3741 --- /dev/null +++ b/lukovnikovde/docs/report_lab_2.md @@ -0,0 +1,79 @@ +# Отчёт по лабораторной работе: Поиск пути в лабиринте + +## 1. Цель работы + +Разработать программу для загрузки лабиринта из текстового файла, поиска пути от старта до выхода с использованием алгоритмов BFS, DFS, A*, сбора статистики (время, посещённые клетки, длина пути) и проведения экспериментального сравнения. + +## 2. Архитектура и использованные паттерны + +- **Builder** (`TextLabyrinthLoader`) – создание лабиринта из файла. +- **Strategy** (`BFS`, `DFS`, `AStar`) – взаимозаменяемые алгоритмы поиска. +- **Observer** (`ConsoleRenderer`) – визуализация событий. +- **Command** (`MoveAction`) – отмена ходов игрока. + +Программа поддерживает интерактивный режим (движение, автопоиск) и режим экспериментов (`python main.py experiment`). + +## 3. Тестовые лабиринты + +| Имя файла | Описание | +|-----------|----------| +| `maze1.txt` | Простой лабиринт 10×6 | +| `maze10x10.txt` | Лабиринт среднего размера 10×10 | +| `maze20x20.txt` | Большой лабиринт 20×20 | +| `maze_empty.txt` | Пустое поле 15×15 (без стен) | +| `maze_no_exit.txt` | Лабиринт без достижимого выхода | + +## 4. Результаты экспериментов + +Каждый алгоритм запускался 3 раза на каждом лабиринте, приведены средние значения. + +| Лабиринт | Алгоритм | Время (мс) | Посещено клеток | Длина пути | +|---------------|----------|------------|-----------------|------------| +| Small 10x6 | BFS | 0.035 | 11.0 | 8 | +| Small 10x6 | DFS | 0.019 | 9.0 | 8 | +| Small 10x6 | A* | 0.047 | 11.0 | 8 | +| Medium 10x10 | BFS | 0.054 | 28.0 | 16 | +| Medium 10x10 | DFS | 0.039 | 23.0 | 18 | +| Medium 10x10 | A* | 0.079 | 21.0 | 16 | +| Large 20x20 | BFS | 0.364 | 183.0 | 35 | +| Large 20x20 | DFS | 0.267 | 194.0 | 103 | +| Large 20x20 | A* | 0.453 | 104.0 | 35 | +| Empty 15x15 | BFS | 0.028 | 16.0 | 16 | +| Empty 15x15 | DFS | 0.028 | 16.0 | 16 | +| Empty 15x15 | A* | 0.051 | 16.0 | 16 | +| No exit 10x10 | BFS | 0.059 | 12.0 | 0 | +| No exit 10x10 | DFS | 0.050 | 12.0 | 0 | +| No exit 10x10 | A* | 0.095 | 12.0 | 0 | + +## 5. График сравнения + +![Сравнение алгоритмов](performance_comparison.png) + +## 6. Проверка соответствия ТЗ + +| Требование | Выполнение | +|------------|------------| +| Загрузка лабиринта из текстового файла (# стена, S старт, E выход) | ok | +| Реализация BFS | ok | +| Реализация DFS | ok | +| Реализация A* | ok | +| Сбор статистики (время, посещённые клетки, длина пути) | ok | +| Сравнительный эксперимент на лабиринтах разной сложности | ok | +| Визуализация результатов (график) | ok | +| Интерактивный режим с отменой ходов | ok | + +## 7. Выводы + +- **BFS** всегда находит кратчайший путь, но на сложных лабиринтах посещает больше клеток, чем A*. +- **DFS** самый быстрый по времени, однако в запутанных лабиринтах даёт неоптимальный путь. +- **A*** показывает лучший баланс: оптимальный путь и наименьшее число посещённых клеток. +- При отсутствии пути все алгоритмы корректно возвращают длину 0. + +**Рекомендация:** для сложных лабиринтов предпочтительнее A*. + +--- + +*Файлы результатов: `experiment_results.csv`, `performance_comparison.png`.* + + +I USE ARCH SAME WITH ME FRIEND IVAN BTW \ No newline at end of file