[1]-aufgabe-1-data-structures #161
250
ProninVV/aufgabe-1-data-structures/aufg1.py
Normal file
250
ProninVV/aufgabe-1-data-structures/aufg1.py
Normal file
|
|
@ -0,0 +1,250 @@
|
|||
# LInkedList (Node = List = {'name': 'Имя', 'phone': '123', 'next': None}) имена уникальные (id)
|
||||
|
||||
|
||||
def ll_insert(head, name, phone):
|
||||
|
||||
""" проходит до конца (или сразу добавляет в конец) и возвращает новую голову
|
||||
(если вставка в начало) или изменяет список по ссылке. Удобнее возвращать новую
|
||||
голову, если вставка может быть в начало """
|
||||
|
||||
new_node = {'name': name, 'phone': phone, 'next': None}
|
||||
|
||||
# если списка не было
|
||||
if head is None:
|
||||
return new_node
|
||||
|
||||
# # вставка в начало O(1)
|
||||
# new_node = {'name': name, 'phone': phone, 'next': head}
|
||||
# return new_node
|
||||
|
||||
# вставка в конец O(n)
|
||||
current = head
|
||||
while current['next'] is not None:
|
||||
# проверка существования данного идентификатора (обновляем запись)
|
||||
if current['name'] == name:
|
||||
current['phone'] = phone
|
||||
return head
|
||||
current = current['next']
|
||||
|
||||
# проверка на id
|
||||
if current['name'] == name:
|
||||
current['phone'] = phone
|
||||
else: current['next'] = new_node
|
||||
return head
|
||||
|
||||
|
||||
def ll_find(head, name):
|
||||
|
||||
""" ищет узел, возвращает телефон или None """
|
||||
|
||||
current = head
|
||||
while current is not None:
|
||||
if current['name'] == name:
|
||||
return current['phone']
|
||||
current = current['next']
|
||||
|
||||
return None
|
||||
|
||||
|
||||
def ll_delete(head, name):
|
||||
|
||||
""" удаляет узел, возвращает новую голову """
|
||||
|
||||
if head is None:
|
||||
return None
|
||||
|
||||
# Удаление первого
|
||||
if head['name'] == name:
|
||||
new_head = head['next']
|
||||
head['next'] = None
|
||||
return new_head
|
||||
|
||||
# Если не первый
|
||||
current = head
|
||||
while current['next'] is not None:
|
||||
if current['next']['name'] == name:
|
||||
target = current['next']
|
||||
current['next'] = target['next']
|
||||
target['next'] = None
|
||||
return head
|
||||
current = current['next']
|
||||
|
||||
return head
|
||||
|
||||
|
||||
def ll_list_all(head):
|
||||
|
||||
""" собирает все записи в список и сортирует (сортировка вынесена отдельно) """
|
||||
|
||||
length = ll_Lenght(head)
|
||||
new_list = [None]*length
|
||||
current = head
|
||||
for i in range(length):
|
||||
new_list[i] = (current['name'], current['phone'])
|
||||
current = current['next']
|
||||
sorten(new_list)
|
||||
return new_list
|
||||
|
||||
|
||||
# вспомогательные функции--------------------------------
|
||||
def ll_Lenght(head):
|
||||
# длина связного списка
|
||||
counter = 0
|
||||
curr = head
|
||||
while curr:
|
||||
counter += 1
|
||||
curr = curr['next']
|
||||
return counter
|
||||
|
||||
|
||||
def sorten(arr):
|
||||
n = len(arr)
|
||||
for i in range(n):
|
||||
for j in range(0, n - i - 1):
|
||||
if arr[j][0] > arr[j + 1][0]:
|
||||
arr[j], arr[j + 1] = arr[j + 1], arr[j]
|
||||
# -----------------------------------------------------------
|
||||
|
||||
# HashTable (Хранится как список buckets фиксированной длины, каждый элемент — голова связного списка (или None))
|
||||
|
||||
def hash_table(size):
|
||||
return [None]*size
|
||||
|
||||
|
||||
def hash_func(name, buckets_count):
|
||||
h = 0
|
||||
for char in name:
|
||||
h += ord(char)
|
||||
return h % buckets_count
|
||||
|
||||
|
||||
def ht_insert(buckets, name, phone):
|
||||
|
||||
""" вычисляет индекс, вызывает ll_insert для соответствующего бакета """
|
||||
|
||||
if buckets is None:
|
||||
return
|
||||
|
||||
index = hash_func(name, len(buckets))
|
||||
buckets[index] = ll_insert(buckets[index], name, phone)
|
||||
|
||||
|
||||
def ht_find(buckets, name):
|
||||
""" """
|
||||
idx = hash_func(name, len(buckets))
|
||||
return ll_find(buckets[idx], name)
|
||||
|
||||
|
||||
def ht_delete(buckets, name):
|
||||
idx = hash_func(name, len(buckets))
|
||||
buckets[idx] = ll_delete(buckets[idx], name)
|
||||
|
||||
|
||||
def ht_list_all(buckets):
|
||||
|
||||
""" собирает все записи из всех бакетов и сортирует """
|
||||
total_count = 0
|
||||
for head in buckets:
|
||||
total_count += ll_Lenght(head)
|
||||
|
||||
full_data = [None]*total_count
|
||||
|
||||
k = 0
|
||||
for head in buckets:
|
||||
curr = head
|
||||
while curr:
|
||||
full_data[k] = (curr['name'], curr['phone'])
|
||||
k += 1
|
||||
curr = curr['next']
|
||||
|
||||
sorten(full_data)
|
||||
return full_data
|
||||
|
||||
|
||||
# Двоичное дерево поиска : Узел — словарь: {'name': 'Имя', 'phone': '123', 'left': None, 'right': None}
|
||||
|
||||
def bst_insert(root, name, phone):
|
||||
|
||||
""" рекурсивно или итеративно вставляет, возвращает новый корень (если корень меняется) """
|
||||
|
||||
new_node = {'name': name, 'phone': phone, 'left': None, 'right': None}
|
||||
|
||||
# если дерева нет
|
||||
if root is None:
|
||||
return new_node
|
||||
|
||||
if name < root['name']:
|
||||
root['left'] = bst_insert(root['left'], name, phone)
|
||||
elif name > root['name']:
|
||||
root['right'] = bst_insert(root['right'], name, phone)
|
||||
else:
|
||||
root['phone'] = phone
|
||||
return root
|
||||
|
||||
|
||||
def bst_find(root, name):
|
||||
|
||||
""" поиск """
|
||||
|
||||
if root is None:
|
||||
return None
|
||||
|
||||
if root['name'] == name:
|
||||
return root['phone']
|
||||
|
||||
elif name < root['name']:
|
||||
return bst_find(root['left'], name)
|
||||
|
||||
elif name > root['name']:
|
||||
return bst_find(root['right'], name)
|
||||
|
||||
|
||||
def bst_delete(root, name):
|
||||
|
||||
""" удаление, возвращает новый корень """
|
||||
|
||||
if root is None:
|
||||
return None
|
||||
|
||||
# спускаемся к нужному узлу (аналогично поиску)
|
||||
elif name < root['name']:
|
||||
root['left'] = bst_delete(root['left'], name)
|
||||
|
||||
elif name > root['name']:
|
||||
root['right'] = bst_delete(root['right'], name)
|
||||
|
||||
# стоим в нужном узле
|
||||
else:
|
||||
# узла слева нет (вернет правого ребенка или None)
|
||||
if root['left'] is None:
|
||||
return root['right']
|
||||
|
||||
# узла справа нет (вернет левого ребенка)
|
||||
if root['right'] is None:
|
||||
return root['left']
|
||||
|
||||
# два наследника (поиск минимального поддерева в правой ветке)
|
||||
|
||||
successor = root['right']
|
||||
while successor['left'] is not None:
|
||||
successor = successor['left']
|
||||
|
||||
root['name'] = successor['name']
|
||||
root['phone'] = successor['phone']
|
||||
# Удаляем дубликат преемника в правом поддереве
|
||||
root['right'] = bst_delete(root['right'], successor['name'])
|
||||
|
||||
|
||||
return root
|
||||
|
||||
|
||||
def bst_list_all(root, result=None):
|
||||
""" центрированный обход (рекурсивно собирает записи в отсортированном порядке) """
|
||||
if result is None:
|
||||
result = []
|
||||
# сначала спускаемся по левой стороне вниз, затем идем вверх и вправо
|
||||
if root is not None:
|
||||
bst_list_all(root['left'], result)
|
||||
result.append((root['name'], root['phone']))
|
||||
bst_list_all(root['right'], result)
|
||||
return result
|
||||
4352
ProninVV/aufgabe-1-data-structures/graphics/Tre1.eps
Normal file
4352
ProninVV/aufgabe-1-data-structures/graphics/Tre1.eps
Normal file
File diff suppressed because it is too large
Load Diff
5139
ProninVV/aufgabe-1-data-structures/graphics/Tree.eps
Normal file
5139
ProninVV/aufgabe-1-data-structures/graphics/Tree.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ProninVV/aufgabe-1-data-structures/graphics/Tree.png
Normal file
BIN
ProninVV/aufgabe-1-data-structures/graphics/Tree.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 112 KiB |
BIN
ProninVV/aufgabe-1-data-structures/graphics/Tree1.png
Normal file
BIN
ProninVV/aufgabe-1-data-structures/graphics/Tree1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 98 KiB |
4407
ProninVV/aufgabe-1-data-structures/graphics/hasht.eps
Normal file
4407
ProninVV/aufgabe-1-data-structures/graphics/hasht.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ProninVV/aufgabe-1-data-structures/graphics/hasht.png
Normal file
BIN
ProninVV/aufgabe-1-data-structures/graphics/hasht.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 92 KiB |
5082
ProninVV/aufgabe-1-data-structures/graphics/llist.eps
Normal file
5082
ProninVV/aufgabe-1-data-structures/graphics/llist.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ProninVV/aufgabe-1-data-structures/graphics/llist.png
Normal file
BIN
ProninVV/aufgabe-1-data-structures/graphics/llist.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 95 KiB |
4329
ProninVV/aufgabe-1-data-structures/graphics/llist2.eps
Normal file
4329
ProninVV/aufgabe-1-data-structures/graphics/llist2.eps
Normal file
File diff suppressed because it is too large
Load Diff
BIN
ProninVV/aufgabe-1-data-structures/graphics/llist2.png
Normal file
BIN
ProninVV/aufgabe-1-data-structures/graphics/llist2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 101 KiB |
131
ProninVV/aufgabe-1-data-structures/graphiki.py
Normal file
131
ProninVV/aufgabe-1-data-structures/graphiki.py
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
import pandas as pd
|
||||
import glob
|
||||
import re
|
||||
import os
|
||||
import matplotlib.pyplot as plt
|
||||
from matplotlib.ticker import AutoMinorLocator
|
||||
import numpy as np
|
||||
from scipy.interpolate import interp1d, CubicSpline
|
||||
from scipy.optimize import curve_fit
|
||||
from numpy.polynomial import Polynomial
|
||||
|
||||
|
||||
# folder_path = 'results'
|
||||
|
||||
# # Список размеров (500, 1000, 2000, 5000, 10000)
|
||||
# sizes = ['500', '1000', '2000', '5000', '10000']
|
||||
|
||||
# for size in sizes:
|
||||
# files = glob.glob(os.path.join(folder_path, f'timedata_{size}_epochs_*.csv'))
|
||||
|
||||
# if not files:
|
||||
# continue
|
||||
|
||||
# # Читаем файлы
|
||||
# dfs = [pd.read_csv(f) for f in files]
|
||||
|
||||
# # Определяем, какие колонки текстовые (не числовые)
|
||||
# # Предполагаем, что во всех файлах они одинаковые
|
||||
# text_cols = dfs[0].select_dtypes(exclude=['number']).columns.tolist()
|
||||
|
||||
# # Объединяем и считаем среднее
|
||||
# # Группируем по текстовым колонкам, чтобы они остались в результате
|
||||
# if text_cols:
|
||||
# combined = pd.concat(dfs)
|
||||
# mean_df = combined.groupby(text_cols).mean().reset_index()
|
||||
# else:
|
||||
# # Если текста нет, просто среднее по строкам
|
||||
# mean_df = pd.concat(dfs).groupby(level=0).mean()
|
||||
|
||||
|
||||
# output_name = f'average_timedata_{size}.csv'
|
||||
# mean_df.to_csv(os.path.join(folder_path, output_name), index=False)
|
||||
# print(f"Файл {output_name} успешно создан")
|
||||
|
||||
|
||||
df500 = pd.read_csv("results/average_timedata_500.csv")
|
||||
df1000 = pd.read_csv("results/average_timedata_1000.csv")
|
||||
df2000 = pd.read_csv("results/average_timedata_2000.csv")
|
||||
df5000 = pd.read_csv("results/average_timedata_5000.csv")
|
||||
df10000 = pd.read_csv("results/average_timedata_10000.csv")
|
||||
|
||||
|
||||
def select_data_list(ax):
|
||||
dfs = [df500, df1000, df2000, df5000, df10000]
|
||||
Nvals = [500, 1000, 2000, 5000, 10000]
|
||||
# delete, find, insert
|
||||
# список:
|
||||
valsSort = [list(arr[(arr['Структура'] == "linklist") & (arr['Режим'] == "sorted")]["Время (сек)"]) for arr in dfs]
|
||||
valsShuff = [list(arr[(arr['Структура'] == "linklist") & (arr['Режим'] == "shuffled")]["Время (сек)"]) for arr in dfs]
|
||||
# 0 - sorted 1 - shuffled
|
||||
# delete
|
||||
ax[0].plot(Nvals, [row[0] for row in valsSort], label="delete", color='red')
|
||||
ax[1].plot(Nvals, [row[0] for row in valsShuff], color='red')
|
||||
# find
|
||||
ax[0].plot(Nvals, [row[1] for row in valsSort], label="find", color='blue')
|
||||
ax[1].plot(Nvals, [row[1] for row in valsShuff], color='blue')
|
||||
# insert
|
||||
ax[0].plot(Nvals, [row[2] for row in valsSort], label="insert", color='green')
|
||||
ax[1].plot(Nvals, [row[2] for row in valsShuff], color='green')
|
||||
|
||||
|
||||
def select_data_hasht(ax):
|
||||
dfs = [df500, df1000, df2000, df5000, df10000]
|
||||
Nvals = [500, 1000, 2000, 5000, 10000]
|
||||
# delete, find, insert
|
||||
# список:
|
||||
valsSort = [list(arr[(arr['Структура'] == "hashtable") & (arr['Режим'] == "sorted")]["Время (сек)"]) for arr in dfs]
|
||||
valsShuff = [list(arr[(arr['Структура'] == "hashtable") & (arr['Режим'] == "shuffled")]["Время (сек)"]) for arr in dfs]
|
||||
# 0 - sorted 1 - shuffled
|
||||
# delete
|
||||
ax[0].plot(Nvals, [row[0] for row in valsSort], label="delete", color='red')
|
||||
ax[1].plot(Nvals, [row[0] for row in valsShuff], color='red')
|
||||
# find
|
||||
ax[0].plot(Nvals, [row[1] for row in valsSort], label="find", color='blue')
|
||||
ax[1].plot(Nvals, [row[1] for row in valsShuff], color='blue')
|
||||
# insert
|
||||
ax[0].plot(Nvals, [row[2] for row in valsSort], label="insert", color='green')
|
||||
ax[1].plot(Nvals, [row[2] for row in valsShuff], color='green')
|
||||
|
||||
|
||||
def select_data_tree(ax):
|
||||
dfs = [df500, df1000, df2000, df5000, df10000]
|
||||
Nvals = [500, 1000, 2000, 5000, 10000]
|
||||
# delete, find, insert
|
||||
# список:
|
||||
valsSort = [list(arr[(arr['Структура'] == "bintree") & (arr['Режим'] == "sorted")]["Время (сек)"]) for arr in dfs]
|
||||
valsShuff = [list(arr[(arr['Структура'] == "bintree") & (arr['Режим'] == "shuffled")]["Время (сек)"]) for arr in dfs]
|
||||
# 0 - sorted 1 - shuffled
|
||||
# delete
|
||||
ax[0].plot(Nvals, [row[0] for row in valsSort], label="delete", color='red')
|
||||
ax[1].plot(Nvals, [row[0] for row in valsShuff], color='red')
|
||||
# find
|
||||
ax[0].plot(Nvals, [row[1] for row in valsSort], label="find", color='blue')
|
||||
ax[1].plot(Nvals, [row[1] for row in valsShuff], color='blue')
|
||||
# insert
|
||||
ax[0].plot(Nvals, [row[2] for row in valsSort], label="insert", color='green')
|
||||
ax[1].plot(Nvals, [row[2] for row in valsShuff], color='green')
|
||||
|
||||
# list(df500[(df500['Структура'] == "linklist") & (df500['Режим'] == "shuffled")]["Время (сек)"])
|
||||
|
||||
# построение графика
|
||||
fig, ax = plt.subplots(figsize=(10, 5), nrows=1, ncols=2)
|
||||
for i in range(2):
|
||||
# select_data_list(ax)
|
||||
# select_data_hasht(ax)
|
||||
select_data_tree(ax)
|
||||
ax[0].set_title("График сложностей для дерева (sort)")
|
||||
ax[1].set_title("График сложностей для дерева (shuff)")
|
||||
ax[i].set_xlabel("N")
|
||||
ax[i].set_ylabel("сек * ")
|
||||
ax[i].grid(which="major", linewidth=1.5)
|
||||
ax[i].grid(which="minor", color="gray", linewidth=0.5)
|
||||
ax[i].xaxis.set_minor_locator(AutoMinorLocator())
|
||||
ax[i].yaxis.set_minor_locator(AutoMinorLocator())
|
||||
ax[i].legend()
|
||||
ax[i].set_ylim(0, 0.1)
|
||||
plt.savefig('graphics\Tree1.png', dpi=200)
|
||||
plt.savefig('graphics\Tre1.eps', dpi=200)
|
||||
plt.show()
|
||||
|
||||
|
||||
13
ProninVV/aufgabe-1-data-structures/report/document.aux
Normal file
13
ProninVV/aufgabe-1-data-structures/report/document.aux
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
\relax
|
||||
\providecommand \babel@aux [2]{\global \let \babel@toc \@gobbletwo }
|
||||
\@nameuse{bbl@beforestart}
|
||||
\catcode `"\active
|
||||
\babel@aux{russian}{}
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {1}Введение}{2}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {2}Реализация структур данных}{2}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.1}Связный список}{3}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2}Хеш-таблица}{3}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3}Двоичное дерево поиска}{3}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {3}Методика эксперимента}{3}{}\protected@file@percent }
|
||||
\@writefile{toc}{\contentsline {section}{\numberline {4}Результаты и анализ}{3}{}\protected@file@percent }
|
||||
\gdef \@abspage@last{8}
|
||||
BIN
ProninVV/aufgabe-1-data-structures/report/document.pdf
Normal file
BIN
ProninVV/aufgabe-1-data-structures/report/document.pdf
Normal file
Binary file not shown.
BIN
ProninVV/aufgabe-1-data-structures/report/document.synctex.gz
Normal file
BIN
ProninVV/aufgabe-1-data-structures/report/document.synctex.gz
Normal file
Binary file not shown.
106
ProninVV/aufgabe-1-data-structures/report/document.tex
Normal file
106
ProninVV/aufgabe-1-data-structures/report/document.tex
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
\input{preambule.tex}
|
||||
|
||||
|
||||
|
||||
|
||||
\begin{document}
|
||||
|
||||
% --- ТИТУЛЬНЫЙ ЛИСТ (упрощенно) ---
|
||||
\begin{titlepage}
|
||||
\centering
|
||||
МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РФ \\
|
||||
«Национальный исследовательский Нижегородский государственный университет им. Н.И. Лобачевского» \\
|
||||
\vspace{4cm}
|
||||
\Large ОТЧЕТ К ЛАБОРАТОРНОЙ РАБОТЕ \\
|
||||
\vspace{1cm}
|
||||
\large «Реализация и экспериментальное сравнение базовых структур данных на примере телефонного справочника» \\
|
||||
\vspace{4cm}
|
||||
\flushright
|
||||
Выполнил: студент В. В. Пронин \\
|
||||
Преподаватель: Н. С. Морозов \\
|
||||
\vfill
|
||||
Нижний Новгород \\
|
||||
2024
|
||||
\end{titlepage}
|
||||
|
||||
\newpage
|
||||
\tableofcontents
|
||||
\newpage
|
||||
|
||||
\section{Введение}
|
||||
|
||||
Эффективность программных систем во многом определяется выбором способов организации данных в оперативной памяти. Задача разработки телефонного справочника является классическим примером, требующим баланса между скоростью вставки новых записей, поиском по ключу и эффективным удалением.
|
||||
|
||||
В рамках данной работы исследуются три фундаментальные структуры данных, реализованные «с нуля» в процедурной парадигме программирования на языке Python:
|
||||
\begin{itemize}
|
||||
\item \textbf{Связный список (Linked List)} --- динамическая структура, позволяющая оценить базовые механизмы управления указателями и демонстрирующая линейную сложность операций $O(n)$.
|
||||
\item \textbf{Хеш-таблица (Hash Table)} --- ассоциативный массив, использующий хеширование для обеспечения прямого доступа к данным. Реализация позволяет изучить методы разрешения коллизий и преимущества константной сложности $O(1)$.
|
||||
\item \textbf{Двоичное дерево поиска (BST)} --- иерархическая структура, обеспечивающая логарифмическую скорость доступа $O(\log n)$ и поддерживающая упорядоченность данных «из коробки».
|
||||
\end{itemize}
|
||||
|
||||
\textbf{Цель работы:} Изучить внутренние алгоритмы работы перечисленных структур, реализовать их без использования встроенных высокоуровневых контейнеров и экспериментально подтвердить теоретические оценки временной сложности на случайных и отсортированных наборах данных.
|
||||
|
||||
\section{Реализация структур данных}
|
||||
\subsection{Связный список}
|
||||
% Здесь опишите логику ll_insert, ll_find и ll_delete
|
||||
\subsection{Хеш-таблица}
|
||||
% Опишите хеш-функцию и метод цепочек
|
||||
\subsection{Двоичное дерево поиска}
|
||||
% Опишите рекурсивные алгоритмы и проблему деградации
|
||||
|
||||
\section{Методика эксперимента}
|
||||
Замеры производились для наборов данных объемом $N=500, 1000, 2000, 5000, 10000$ элементов. Использовались два сценария: перемешанные (\textit{shuffled}) и отсортированные по алфавиту (\textit{sorted}) записи. Каждая операция выполнялась 5 раз с последующим вычислением среднего арифметического значения с помощью функции \texttt{time.perf\_counter()}.
|
||||
|
||||
\section{Результаты и анализ}
|
||||
Было проведено 5 опытов.
|
||||
\subsection*{1. Бинарное дерево поиска (BST) и влияние порядка}
|
||||
|
||||
\begin{figure}[H]
|
||||
\includegraphics[scale=0.7]{plots/Tree.eps}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[H]
|
||||
\includegraphics[scale=0.7]{plots/Tre1.eps}
|
||||
\end{figure}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Деградация на отсортированных данных:} При вставке отсортированных данных время увеличилось с \textbf{0.12с} (1000 эл.) до \textbf{13.24с} (10000 эл.). Рост более чем в 100 раз при увеличении данных в 10 раз указывает на сложность $O(n^2)$ для заполнения. Дерево выродилось в список.
|
||||
\item \textbf{Эффективность на перемешанных данных:} На \texttt{shuffled} данных вставка 10000 элементов заняла всего \textbf{0.03с}. Это подтверждает логарифмическую сложность $O(\log n)$ для сбалансированного дерева.
|
||||
\end{itemize}
|
||||
|
||||
\subsection*{2. Хеш-таблица: Стабильность и скорость}
|
||||
|
||||
\begin{figure}[h]
|
||||
\includegraphics[scale=0.7]{plots/hasht.eps}
|
||||
\end{figure}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Чувствительность к порядку:} Хеш-таблица показала идентичные результаты как на \texttt{shuffled}, так и на \texttt{sorted} данных (около \textbf{0.16с} для 10000 вставок). Это объясняется тем, что хеш-функция распределяет ключи по бакетам независимо от их исходного порядка.
|
||||
\item \textbf{Превосходство:} На больших объемах хеш-таблица оказалась самой быстрой структурой для поиска и удаления ($\approx 0.001$с), что подтверждает среднюю сложность $O(1)$.
|
||||
\item \textbf{Замечание} так как таблица содержит списки со вставкой в конец, при вставке наблюдается отклонение от линейной зависимости в сторону квадратичной
|
||||
\end{itemize}
|
||||
|
||||
\subsection*{3. Связный список: Стабильная медлительность}
|
||||
|
||||
\begin{figure}[h]
|
||||
\includegraphics[scale=0.7]{plots/llist.eps}
|
||||
\end{figure}
|
||||
|
||||
\begin{itemize}
|
||||
\item \textbf{Поиск и удаление:} Связный список показал худшие результаты среди всех структур на случайных данных. Время поиска при 10000 элементах (\textbf{0.03с}) на два порядка медленнее, чем у хеш-таблицы. Это подтверждает линейную сложность $O(n)$.
|
||||
\item \textbf{Вставка:} Вставка в конец без указателя на хвост дает $O(n^2)$ при заполнении (\textbf{3.04с} на 10000 эл.), что сопоставимо с выродившимся деревом.
|
||||
\end{itemize}
|
||||
|
||||
\subsection*{Вывод: выбор структуры данных}
|
||||
\begin{enumerate}
|
||||
\item \textbf{Хеш-таблица} — лучший выбор для реальных задач «ключ-значение». Она обеспечивает стабильное $O(1)$ и не зависит от порядка входящих данных.
|
||||
\item \textbf{BST} — эффективен только при условии случайного распределения данных или использовании самобалансирующихся деревьев. В противном случае велик риск деградации до скорости списка.
|
||||
\item \textbf{Связный список} — в данной реализации неэффективен для поиска и массовой вставки. Его стоит использовать только для специфических задач (стеки, очереди), где работа идет преимущественно с головой списка за $O(1)$.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
|
||||
%\section{Заключение}
|
||||
% Ответ на вопрос о выборе структуры в реальной жизни
|
||||
|
||||
\end{document}
|
||||
8
ProninVV/aufgabe-1-data-structures/report/document.toc
Normal file
8
ProninVV/aufgabe-1-data-structures/report/document.toc
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
\babel@toc {russian}{}\relax
|
||||
\contentsline {section}{\numberline {1}Введение}{2}{}%
|
||||
\contentsline {section}{\numberline {2}Реализация структур данных}{2}{}%
|
||||
\contentsline {subsection}{\numberline {2.1}Связный список}{3}{}%
|
||||
\contentsline {subsection}{\numberline {2.2}Хеш-таблица}{3}{}%
|
||||
\contentsline {subsection}{\numberline {2.3}Двоичное дерево поиска}{3}{}%
|
||||
\contentsline {section}{\numberline {3}Методика эксперимента}{3}{}%
|
||||
\contentsline {section}{\numberline {4}Результаты и анализ}{3}{}%
|
||||
4352
ProninVV/aufgabe-1-data-structures/report/plots/Tre1.eps
Normal file
4352
ProninVV/aufgabe-1-data-structures/report/plots/Tre1.eps
Normal file
File diff suppressed because it is too large
Load Diff
5139
ProninVV/aufgabe-1-data-structures/report/plots/Tree.eps
Normal file
5139
ProninVV/aufgabe-1-data-structures/report/plots/Tree.eps
Normal file
File diff suppressed because it is too large
Load Diff
4407
ProninVV/aufgabe-1-data-structures/report/plots/hasht.eps
Normal file
4407
ProninVV/aufgabe-1-data-structures/report/plots/hasht.eps
Normal file
File diff suppressed because it is too large
Load Diff
5082
ProninVV/aufgabe-1-data-structures/report/plots/llist.eps
Normal file
5082
ProninVV/aufgabe-1-data-structures/report/plots/llist.eps
Normal file
File diff suppressed because it is too large
Load Diff
4329
ProninVV/aufgabe-1-data-structures/report/plots/llist2.eps
Normal file
4329
ProninVV/aufgabe-1-data-structures/report/plots/llist2.eps
Normal file
File diff suppressed because it is too large
Load Diff
46
ProninVV/aufgabe-1-data-structures/report/preambule.tex
Normal file
46
ProninVV/aufgabe-1-data-structures/report/preambule.tex
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
%\documentclass[a4paper, 12pt]{article}
|
||||
\documentclass[a4paper, 14pt]{extarticle}
|
||||
|
||||
\usepackage[english, russian]{babel}
|
||||
\usepackage[T2A]{fontenc}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{comment}
|
||||
|
||||
|
||||
\usepackage{fontspec}
|
||||
\setmainfont{Times New Roman}
|
||||
|
||||
\usepackage{amsmath}
|
||||
\usepackage{amssymb}
|
||||
|
||||
\usepackage{geometry}
|
||||
\usepackage{titleps}
|
||||
\usepackage{graphicx}
|
||||
\DeclareGraphicsExtensions{.pdf, .jpg}
|
||||
\usepackage{wrapfig}
|
||||
|
||||
|
||||
\usepackage{indentfirst}
|
||||
|
||||
|
||||
\geometry{top=20mm}
|
||||
\geometry{bottom=25mm}
|
||||
\geometry{left=30mm}
|
||||
\geometry{right=10mm}
|
||||
|
||||
\usepackage{float}
|
||||
\usepackage{wrapfig}
|
||||
|
||||
\newpagestyle{main}{
|
||||
\setheadrule{0.4pt}
|
||||
\sethead{ННГУ им Н.И. Лобачесвкого}{}{В. В. Пронин}
|
||||
|
||||
\setfoot{}{\thepage}{}
|
||||
}
|
||||
\pagestyle{main}
|
||||
%\setcounter{page}{2}
|
||||
|
||||
\linespread{1.5}
|
||||
\setlength{\parindent}{10mm}
|
||||
\setlength{\parskip}{1ex}
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
bintree,shuffled,delete,7.1253333317145e-05
|
||||
bintree,shuffled,find,0.00013709333328122667
|
||||
bintree,shuffled,insert,0.00207977333326802
|
||||
bintree,sorted,delete,0.004027406666697627
|
||||
bintree,sorted,find,0.008272293333326707
|
||||
bintree,sorted,insert,0.12546639333337828
|
||||
hashtable,shuffled,delete,0.00012531333333446666
|
||||
hashtable,shuffled,find,0.00018659333342529335
|
||||
hashtable,shuffled,insert,0.0021367066666243334
|
||||
hashtable,sorted,delete,0.00012610666664531332
|
||||
hashtable,sorted,find,0.00017989333330958
|
||||
hashtable,sorted,insert,0.0020845666666142264
|
||||
linklist,shuffled,delete,0.0014374400000330134
|
||||
linklist,shuffled,find,0.0026490666666783135
|
||||
linklist,shuffled,insert,0.027241586666680903
|
||||
linklist,sorted,delete,0.0016270466666658602
|
||||
linklist,sorted,find,0.0025114866666474866
|
||||
linklist,sorted,insert,0.02720876666670236
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
bintree,shuffled,delete,9.902666667279779e-05
|
||||
bintree,shuffled,find,0.0001944666667137333
|
||||
bintree,shuffled,insert,0.03110178666661335
|
||||
bintree,sorted,delete,0.04493390000003876
|
||||
bintree,sorted,find,0.08307538000003656
|
||||
bintree,sorted,insert,13.248167193333348
|
||||
hashtable,shuffled,delete,0.0009765399999347067
|
||||
hashtable,shuffled,find,0.0015001800000693933
|
||||
hashtable,shuffled,insert,0.1658438800000264
|
||||
hashtable,sorted,delete,0.00089762666668012
|
||||
hashtable,sorted,find,0.0014446866666578669
|
||||
hashtable,sorted,insert,0.16466330666664053
|
||||
linklist,shuffled,delete,0.016608193333286114
|
||||
linklist,shuffled,find,0.028897673333312873
|
||||
linklist,shuffled,insert,2.859923846666667
|
||||
linklist,sorted,delete,0.0175646400000611
|
||||
linklist,sorted,find,0.031122179999980872
|
||||
linklist,sorted,insert,3.049302733333343
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
bintree,shuffled,delete,7.961999998163568e-05
|
||||
bintree,shuffled,find,0.00015218000001667332
|
||||
bintree,shuffled,insert,0.004734453333367086
|
||||
bintree,sorted,delete,0.010308359999983873
|
||||
bintree,sorted,find,0.017580106666673534
|
||||
bintree,sorted,insert,0.5280084666667032
|
||||
hashtable,shuffled,delete,0.00021999999999016667
|
||||
hashtable,shuffled,find,0.0003197000000605867
|
||||
hashtable,shuffled,insert,0.008171780000050827
|
||||
hashtable,sorted,delete,0.0002543066666324133
|
||||
hashtable,sorted,find,0.00033898666671720667
|
||||
hashtable,sorted,insert,0.007970166666685407
|
||||
linklist,shuffled,delete,0.00390317333329518
|
||||
linklist,shuffled,find,0.005606206666592033
|
||||
linklist,shuffled,insert,0.12853828666672293
|
||||
linklist,sorted,delete,0.0035950133332031467
|
||||
linklist,sorted,find,0.005634519999997127
|
||||
linklist,sorted,insert,0.12352181333332432
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
bintree,shuffled,delete,6.57066667372419e-05
|
||||
bintree,shuffled,find,0.00012748666666384
|
||||
bintree,shuffled,insert,0.0009562066666603
|
||||
bintree,sorted,delete,0.00166193333337402
|
||||
bintree,sorted,find,0.0037453066667088
|
||||
bintree,sorted,insert,0.029374266666703334
|
||||
hashtable,shuffled,delete,8.520000007289733e-05
|
||||
hashtable,shuffled,find,0.00013166666661460668
|
||||
hashtable,shuffled,insert,0.00078531333329006
|
||||
hashtable,sorted,delete,8.037333329108757e-05
|
||||
hashtable,sorted,find,0.00012728666670224
|
||||
hashtable,sorted,insert,0.0007655800000368666
|
||||
linklist,shuffled,delete,0.0008863733333024334
|
||||
linklist,shuffled,find,0.0013728799999322267
|
||||
linklist,shuffled,insert,0.007485353333383146
|
||||
linklist,sorted,delete,0.0008199399999587467
|
||||
linklist,sorted,find,0.0014155133332829932
|
||||
linklist,sorted,insert,0.007525053333286713
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
bintree,shuffled,delete,9.706666670959447e-05
|
||||
bintree,shuffled,find,0.00018228666672253334
|
||||
bintree,shuffled,insert,0.014378579999978032
|
||||
bintree,sorted,delete,0.02119935999999135
|
||||
bintree,sorted,find,0.04120988666665347
|
||||
bintree,sorted,insert,3.347595473333331
|
||||
hashtable,shuffled,delete,0.0006554933332760068
|
||||
hashtable,shuffled,find,0.0008644266666578467
|
||||
hashtable,shuffled,insert,0.05348072666658173
|
||||
hashtable,sorted,delete,0.0005832733334348267
|
||||
hashtable,sorted,find,0.0008229933333495334
|
||||
hashtable,sorted,insert,0.05131764000000957
|
||||
linklist,shuffled,delete,0.01178926666664964
|
||||
linklist,shuffled,find,0.01607516666657218
|
||||
linklist,shuffled,insert,0.8780199133334008
|
||||
linklist,sorted,delete,0.010545446666689353
|
||||
linklist,sorted,find,0.01625823333327687
|
||||
linklist,sorted,insert,0.8802596533333296
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,2.782739200000151
|
||||
linklist,shuffled,find,0.02841449999982615
|
||||
linklist,shuffled,delete,0.017126199999893288
|
||||
hashtable,shuffled,insert,0.16509029999997438
|
||||
hashtable,shuffled,find,0.0015667000000121334
|
||||
hashtable,shuffled,delete,0.0010061999998924875
|
||||
bintree,shuffled,insert,0.029216299999916373
|
||||
bintree,shuffled,find,0.00019760000009227952
|
||||
bintree,shuffled,delete,9.999999997489795e-05
|
||||
linklist,sorted,insert,2.9697724000000107
|
||||
linklist,sorted,find,0.03141989999994621
|
||||
linklist,sorted,delete,0.017261300000200208
|
||||
hashtable,sorted,insert,0.15989070000000538
|
||||
hashtable,sorted,find,0.0013437999998586747
|
||||
hashtable,sorted,delete,0.0009281000000100903
|
||||
bintree,sorted,insert,12.572322799999938
|
||||
bintree,sorted,find,0.08066770000004908
|
||||
bintree,sorted,delete,0.04145149999999376
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,2.782739200000151
|
||||
linklist,shuffled,find,0.02841449999982615
|
||||
linklist,shuffled,delete,0.017126199999893288
|
||||
hashtable,shuffled,insert,0.16509029999997438
|
||||
hashtable,shuffled,find,0.0015667000000121334
|
||||
hashtable,shuffled,delete,0.0010061999998924875
|
||||
bintree,shuffled,insert,0.029216299999916373
|
||||
bintree,shuffled,find,0.00019760000009227952
|
||||
bintree,shuffled,delete,9.999999997489795e-05
|
||||
linklist,sorted,insert,2.9697724000000107
|
||||
linklist,sorted,find,0.03141989999994621
|
||||
linklist,sorted,delete,0.017261300000200208
|
||||
hashtable,sorted,insert,0.15989070000000538
|
||||
hashtable,sorted,find,0.0013437999998586747
|
||||
hashtable,sorted,delete,0.0009281000000100903
|
||||
bintree,sorted,insert,12.572322799999938
|
||||
bintree,sorted,find,0.08066770000004908
|
||||
bintree,sorted,delete,0.04145149999999376
|
||||
linklist,shuffled,insert,2.8089506999999685
|
||||
linklist,shuffled,find,0.02784990000009202
|
||||
linklist,shuffled,delete,0.017817200000081357
|
||||
hashtable,shuffled,insert,0.1651635000000624
|
||||
hashtable,shuffled,find,0.0013243000000784377
|
||||
hashtable,shuffled,delete,0.0009821999999530817
|
||||
bintree,shuffled,insert,0.03208109999991393
|
||||
bintree,shuffled,find,0.00019399999996494444
|
||||
bintree,shuffled,delete,0.00010320000001229346
|
||||
linklist,sorted,insert,3.044036700000106
|
||||
linklist,sorted,find,0.031643499999972846
|
||||
linklist,sorted,delete,0.020140200000014374
|
||||
hashtable,sorted,insert,0.16446429999996326
|
||||
hashtable,sorted,find,0.00157960000001367
|
||||
hashtable,sorted,delete,0.0008308999999826483
|
||||
bintree,sorted,insert,13.140304800000195
|
||||
bintree,sorted,find,0.08615729999996802
|
||||
bintree,sorted,delete,0.04601840000009361
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,2.782739200000151
|
||||
linklist,shuffled,find,0.02841449999982615
|
||||
linklist,shuffled,delete,0.017126199999893288
|
||||
hashtable,shuffled,insert,0.16509029999997438
|
||||
hashtable,shuffled,find,0.0015667000000121334
|
||||
hashtable,shuffled,delete,0.0010061999998924875
|
||||
bintree,shuffled,insert,0.029216299999916373
|
||||
bintree,shuffled,find,0.00019760000009227952
|
||||
bintree,shuffled,delete,9.999999997489795e-05
|
||||
linklist,sorted,insert,2.9697724000000107
|
||||
linklist,sorted,find,0.03141989999994621
|
||||
linklist,sorted,delete,0.017261300000200208
|
||||
hashtable,sorted,insert,0.15989070000000538
|
||||
hashtable,sorted,find,0.0013437999998586747
|
||||
hashtable,sorted,delete,0.0009281000000100903
|
||||
bintree,sorted,insert,12.572322799999938
|
||||
bintree,sorted,find,0.08066770000004908
|
||||
bintree,sorted,delete,0.04145149999999376
|
||||
linklist,shuffled,insert,2.8089506999999685
|
||||
linklist,shuffled,find,0.02784990000009202
|
||||
linklist,shuffled,delete,0.017817200000081357
|
||||
hashtable,shuffled,insert,0.1651635000000624
|
||||
hashtable,shuffled,find,0.0013243000000784377
|
||||
hashtable,shuffled,delete,0.0009821999999530817
|
||||
bintree,shuffled,insert,0.03208109999991393
|
||||
bintree,shuffled,find,0.00019399999996494444
|
||||
bintree,shuffled,delete,0.00010320000001229346
|
||||
linklist,sorted,insert,3.044036700000106
|
||||
linklist,sorted,find,0.031643499999972846
|
||||
linklist,sorted,delete,0.020140200000014374
|
||||
hashtable,sorted,insert,0.16446429999996326
|
||||
hashtable,sorted,find,0.00157960000001367
|
||||
hashtable,sorted,delete,0.0008308999999826483
|
||||
bintree,sorted,insert,13.140304800000195
|
||||
bintree,sorted,find,0.08615729999996802
|
||||
bintree,sorted,delete,0.04601840000009361
|
||||
linklist,shuffled,insert,2.945842599999878
|
||||
linklist,shuffled,find,0.029246199999988676
|
||||
linklist,shuffled,delete,0.013797999999951571
|
||||
hashtable,shuffled,insert,0.1665319000001091
|
||||
hashtable,shuffled,find,0.0016982000001917186
|
||||
hashtable,shuffled,delete,0.0010231999999632535
|
||||
bintree,shuffled,insert,0.03277969999999186
|
||||
bintree,shuffled,find,0.00019599999995989492
|
||||
bintree,shuffled,delete,9.520000003249152e-05
|
||||
linklist,sorted,insert,3.1097526999999445
|
||||
linklist,sorted,find,0.031071099999962826
|
||||
linklist,sorted,delete,0.014640099999951417
|
||||
hashtable,sorted,insert,0.1684456999998929
|
||||
hashtable,sorted,find,0.0013269000000946107
|
||||
hashtable,sorted,delete,0.0009365000000798318
|
||||
bintree,sorted,insert,13.633440899999869
|
||||
bintree,sorted,find,0.08262280000008104
|
||||
bintree,sorted,delete,0.047804300000052535
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,2.782739200000151
|
||||
linklist,shuffled,find,0.02841449999982615
|
||||
linklist,shuffled,delete,0.017126199999893288
|
||||
hashtable,shuffled,insert,0.16509029999997438
|
||||
hashtable,shuffled,find,0.0015667000000121334
|
||||
hashtable,shuffled,delete,0.0010061999998924875
|
||||
bintree,shuffled,insert,0.029216299999916373
|
||||
bintree,shuffled,find,0.00019760000009227952
|
||||
bintree,shuffled,delete,9.999999997489795e-05
|
||||
linklist,sorted,insert,2.9697724000000107
|
||||
linklist,sorted,find,0.03141989999994621
|
||||
linklist,sorted,delete,0.017261300000200208
|
||||
hashtable,sorted,insert,0.15989070000000538
|
||||
hashtable,sorted,find,0.0013437999998586747
|
||||
hashtable,sorted,delete,0.0009281000000100903
|
||||
bintree,sorted,insert,12.572322799999938
|
||||
bintree,sorted,find,0.08066770000004908
|
||||
bintree,sorted,delete,0.04145149999999376
|
||||
linklist,shuffled,insert,2.8089506999999685
|
||||
linklist,shuffled,find,0.02784990000009202
|
||||
linklist,shuffled,delete,0.017817200000081357
|
||||
hashtable,shuffled,insert,0.1651635000000624
|
||||
hashtable,shuffled,find,0.0013243000000784377
|
||||
hashtable,shuffled,delete,0.0009821999999530817
|
||||
bintree,shuffled,insert,0.03208109999991393
|
||||
bintree,shuffled,find,0.00019399999996494444
|
||||
bintree,shuffled,delete,0.00010320000001229346
|
||||
linklist,sorted,insert,3.044036700000106
|
||||
linklist,sorted,find,0.031643499999972846
|
||||
linklist,sorted,delete,0.020140200000014374
|
||||
hashtable,sorted,insert,0.16446429999996326
|
||||
hashtable,sorted,find,0.00157960000001367
|
||||
hashtable,sorted,delete,0.0008308999999826483
|
||||
bintree,sorted,insert,13.140304800000195
|
||||
bintree,sorted,find,0.08615729999996802
|
||||
bintree,sorted,delete,0.04601840000009361
|
||||
linklist,shuffled,insert,2.945842599999878
|
||||
linklist,shuffled,find,0.029246199999988676
|
||||
linklist,shuffled,delete,0.013797999999951571
|
||||
hashtable,shuffled,insert,0.1665319000001091
|
||||
hashtable,shuffled,find,0.0016982000001917186
|
||||
hashtable,shuffled,delete,0.0010231999999632535
|
||||
bintree,shuffled,insert,0.03277969999999186
|
||||
bintree,shuffled,find,0.00019599999995989492
|
||||
bintree,shuffled,delete,9.520000003249152e-05
|
||||
linklist,sorted,insert,3.1097526999999445
|
||||
linklist,sorted,find,0.031071099999962826
|
||||
linklist,sorted,delete,0.014640099999951417
|
||||
hashtable,sorted,insert,0.1684456999998929
|
||||
hashtable,sorted,find,0.0013269000000946107
|
||||
hashtable,sorted,delete,0.0009365000000798318
|
||||
bintree,sorted,insert,13.633440899999869
|
||||
bintree,sorted,find,0.08262280000008104
|
||||
bintree,sorted,delete,0.047804300000052535
|
||||
linklist,shuffled,insert,2.964872099999866
|
||||
linklist,shuffled,find,0.03182870000000548
|
||||
linklist,shuffled,delete,0.017259199999898556
|
||||
hashtable,shuffled,insert,0.16710669999997663
|
||||
hashtable,shuffled,find,0.0014896000000135246
|
||||
hashtable,shuffled,delete,0.0008898999999473745
|
||||
bintree,shuffled,insert,0.03065240000000813
|
||||
bintree,shuffled,find,0.00018540000019129366
|
||||
bintree,shuffled,delete,9.350000004815229e-05
|
||||
linklist,sorted,insert,3.1079067999999097
|
||||
linklist,sorted,find,0.030048300000089512
|
||||
linklist,sorted,delete,0.01808290000008128
|
||||
hashtable,sorted,insert,0.16873430000009648
|
||||
hashtable,sorted,find,0.0015441000000464555
|
||||
hashtable,sorted,delete,0.0008356999999250547
|
||||
bintree,sorted,insert,14.05993320000016
|
||||
bintree,sorted,find,0.08479450000004363
|
||||
bintree,sorted,delete,0.04840820000003987
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,2.782739200000151
|
||||
linklist,shuffled,find,0.02841449999982615
|
||||
linklist,shuffled,delete,0.017126199999893288
|
||||
hashtable,shuffled,insert,0.16509029999997438
|
||||
hashtable,shuffled,find,0.0015667000000121334
|
||||
hashtable,shuffled,delete,0.0010061999998924875
|
||||
bintree,shuffled,insert,0.029216299999916373
|
||||
bintree,shuffled,find,0.00019760000009227952
|
||||
bintree,shuffled,delete,9.999999997489795e-05
|
||||
linklist,sorted,insert,2.9697724000000107
|
||||
linklist,sorted,find,0.03141989999994621
|
||||
linklist,sorted,delete,0.017261300000200208
|
||||
hashtable,sorted,insert,0.15989070000000538
|
||||
hashtable,sorted,find,0.0013437999998586747
|
||||
hashtable,sorted,delete,0.0009281000000100903
|
||||
bintree,sorted,insert,12.572322799999938
|
||||
bintree,sorted,find,0.08066770000004908
|
||||
bintree,sorted,delete,0.04145149999999376
|
||||
linklist,shuffled,insert,2.8089506999999685
|
||||
linklist,shuffled,find,0.02784990000009202
|
||||
linklist,shuffled,delete,0.017817200000081357
|
||||
hashtable,shuffled,insert,0.1651635000000624
|
||||
hashtable,shuffled,find,0.0013243000000784377
|
||||
hashtable,shuffled,delete,0.0009821999999530817
|
||||
bintree,shuffled,insert,0.03208109999991393
|
||||
bintree,shuffled,find,0.00019399999996494444
|
||||
bintree,shuffled,delete,0.00010320000001229346
|
||||
linklist,sorted,insert,3.044036700000106
|
||||
linklist,sorted,find,0.031643499999972846
|
||||
linklist,sorted,delete,0.020140200000014374
|
||||
hashtable,sorted,insert,0.16446429999996326
|
||||
hashtable,sorted,find,0.00157960000001367
|
||||
hashtable,sorted,delete,0.0008308999999826483
|
||||
bintree,sorted,insert,13.140304800000195
|
||||
bintree,sorted,find,0.08615729999996802
|
||||
bintree,sorted,delete,0.04601840000009361
|
||||
linklist,shuffled,insert,2.945842599999878
|
||||
linklist,shuffled,find,0.029246199999988676
|
||||
linklist,shuffled,delete,0.013797999999951571
|
||||
hashtable,shuffled,insert,0.1665319000001091
|
||||
hashtable,shuffled,find,0.0016982000001917186
|
||||
hashtable,shuffled,delete,0.0010231999999632535
|
||||
bintree,shuffled,insert,0.03277969999999186
|
||||
bintree,shuffled,find,0.00019599999995989492
|
||||
bintree,shuffled,delete,9.520000003249152e-05
|
||||
linklist,sorted,insert,3.1097526999999445
|
||||
linklist,sorted,find,0.031071099999962826
|
||||
linklist,sorted,delete,0.014640099999951417
|
||||
hashtable,sorted,insert,0.1684456999998929
|
||||
hashtable,sorted,find,0.0013269000000946107
|
||||
hashtable,sorted,delete,0.0009365000000798318
|
||||
bintree,sorted,insert,13.633440899999869
|
||||
bintree,sorted,find,0.08262280000008104
|
||||
bintree,sorted,delete,0.047804300000052535
|
||||
linklist,shuffled,insert,2.964872099999866
|
||||
linklist,shuffled,find,0.03182870000000548
|
||||
linklist,shuffled,delete,0.017259199999898556
|
||||
hashtable,shuffled,insert,0.16710669999997663
|
||||
hashtable,shuffled,find,0.0014896000000135246
|
||||
hashtable,shuffled,delete,0.0008898999999473745
|
||||
bintree,shuffled,insert,0.03065240000000813
|
||||
bintree,shuffled,find,0.00018540000019129366
|
||||
bintree,shuffled,delete,9.350000004815229e-05
|
||||
linklist,sorted,insert,3.1079067999999097
|
||||
linklist,sorted,find,0.030048300000089512
|
||||
linklist,sorted,delete,0.01808290000008128
|
||||
hashtable,sorted,insert,0.16873430000009648
|
||||
hashtable,sorted,find,0.0015441000000464555
|
||||
hashtable,sorted,delete,0.0008356999999250547
|
||||
bintree,sorted,insert,14.05993320000016
|
||||
bintree,sorted,find,0.08479450000004363
|
||||
bintree,sorted,delete,0.04840820000003987
|
||||
linklist,shuffled,insert,2.982086900000013
|
||||
linklist,shuffled,find,0.02859700000021803
|
||||
linklist,shuffled,delete,0.01631069999984902
|
||||
hashtable,shuffled,insert,0.16774359999999433
|
||||
hashtable,shuffled,find,0.0012982000000647531
|
||||
hashtable,shuffled,delete,0.0008388999999624502
|
||||
bintree,shuffled,insert,0.03247699999997167
|
||||
bintree,shuffled,find,0.00019420000012360106
|
||||
bintree,shuffled,delete,9.999999997489795e-05
|
||||
linklist,sorted,insert,3.169460500000014
|
||||
linklist,sorted,find,0.029849300000023504
|
||||
linklist,sorted,delete,0.016516199999841774
|
||||
hashtable,sorted,insert,0.16983319999985724
|
||||
hashtable,sorted,find,0.0015640000001440058
|
||||
hashtable,sorted,delete,0.0010194000001320092
|
||||
bintree,sorted,insert,14.279485599999816
|
||||
bintree,sorted,find,0.08070560000010119
|
||||
bintree,sorted,delete,0.04244810000000143
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.02726340000003802
|
||||
linklist,shuffled,find,0.002588300000070376
|
||||
linklist,shuffled,delete,0.001803200000040306
|
||||
hashtable,shuffled,insert,0.0021318999999948574
|
||||
hashtable,shuffled,find,0.00018850000014936086
|
||||
hashtable,shuffled,delete,0.00013990000002195302
|
||||
bintree,shuffled,insert,0.002046899999868401
|
||||
bintree,shuffled,find,0.00013949999993201345
|
||||
bintree,shuffled,delete,7.080000000314612e-05
|
||||
linklist,sorted,insert,0.027292499999930442
|
||||
linklist,sorted,find,0.0025571999999556283
|
||||
linklist,sorted,delete,0.001823300000069139
|
||||
hashtable,sorted,insert,0.002068999999892185
|
||||
hashtable,sorted,find,0.00018100000011145312
|
||||
hashtable,sorted,delete,0.00012709999987237097
|
||||
bintree,sorted,insert,0.12114790000009634
|
||||
bintree,sorted,find,0.008128500000111671
|
||||
bintree,sorted,delete,0.004335600000104023
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.02726340000003802
|
||||
linklist,shuffled,find,0.002588300000070376
|
||||
linklist,shuffled,delete,0.001803200000040306
|
||||
hashtable,shuffled,insert,0.0021318999999948574
|
||||
hashtable,shuffled,find,0.00018850000014936086
|
||||
hashtable,shuffled,delete,0.00013990000002195302
|
||||
bintree,shuffled,insert,0.002046899999868401
|
||||
bintree,shuffled,find,0.00013949999993201345
|
||||
bintree,shuffled,delete,7.080000000314612e-05
|
||||
linklist,sorted,insert,0.027292499999930442
|
||||
linklist,sorted,find,0.0025571999999556283
|
||||
linklist,sorted,delete,0.001823300000069139
|
||||
hashtable,sorted,insert,0.002068999999892185
|
||||
hashtable,sorted,find,0.00018100000011145312
|
||||
hashtable,sorted,delete,0.00012709999987237097
|
||||
bintree,sorted,insert,0.12114790000009634
|
||||
bintree,sorted,find,0.008128500000111671
|
||||
bintree,sorted,delete,0.004335600000104023
|
||||
linklist,shuffled,insert,0.027109500000051412
|
||||
linklist,shuffled,find,0.0025161999999454565
|
||||
linklist,shuffled,delete,0.0016210000001137814
|
||||
hashtable,shuffled,insert,0.00212399999986701
|
||||
hashtable,shuffled,find,0.0001938000000336615
|
||||
hashtable,shuffled,delete,0.00011419999987083429
|
||||
bintree,shuffled,insert,0.0019213999999010412
|
||||
bintree,shuffled,find,0.0001257999999779713
|
||||
bintree,shuffled,delete,6.429999984902679e-05
|
||||
linklist,sorted,insert,0.02699760000018614
|
||||
linklist,sorted,find,0.002444400000058522
|
||||
linklist,sorted,delete,0.0015664000000015221
|
||||
hashtable,sorted,insert,0.002041199999894161
|
||||
hashtable,sorted,find,0.00018469999986336916
|
||||
hashtable,sorted,delete,0.00012100000003556488
|
||||
bintree,sorted,insert,0.12487269999996897
|
||||
bintree,sorted,find,0.008476499999915177
|
||||
bintree,sorted,delete,0.0035560999999688647
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.02726340000003802
|
||||
linklist,shuffled,find,0.002588300000070376
|
||||
linklist,shuffled,delete,0.001803200000040306
|
||||
hashtable,shuffled,insert,0.0021318999999948574
|
||||
hashtable,shuffled,find,0.00018850000014936086
|
||||
hashtable,shuffled,delete,0.00013990000002195302
|
||||
bintree,shuffled,insert,0.002046899999868401
|
||||
bintree,shuffled,find,0.00013949999993201345
|
||||
bintree,shuffled,delete,7.080000000314612e-05
|
||||
linklist,sorted,insert,0.027292499999930442
|
||||
linklist,sorted,find,0.0025571999999556283
|
||||
linklist,sorted,delete,0.001823300000069139
|
||||
hashtable,sorted,insert,0.002068999999892185
|
||||
hashtable,sorted,find,0.00018100000011145312
|
||||
hashtable,sorted,delete,0.00012709999987237097
|
||||
bintree,sorted,insert,0.12114790000009634
|
||||
bintree,sorted,find,0.008128500000111671
|
||||
bintree,sorted,delete,0.004335600000104023
|
||||
linklist,shuffled,insert,0.027109500000051412
|
||||
linklist,shuffled,find,0.0025161999999454565
|
||||
linklist,shuffled,delete,0.0016210000001137814
|
||||
hashtable,shuffled,insert,0.00212399999986701
|
||||
hashtable,shuffled,find,0.0001938000000336615
|
||||
hashtable,shuffled,delete,0.00011419999987083429
|
||||
bintree,shuffled,insert,0.0019213999999010412
|
||||
bintree,shuffled,find,0.0001257999999779713
|
||||
bintree,shuffled,delete,6.429999984902679e-05
|
||||
linklist,sorted,insert,0.02699760000018614
|
||||
linklist,sorted,find,0.002444400000058522
|
||||
linklist,sorted,delete,0.0015664000000015221
|
||||
hashtable,sorted,insert,0.002041199999894161
|
||||
hashtable,sorted,find,0.00018469999986336916
|
||||
hashtable,sorted,delete,0.00012100000003556488
|
||||
bintree,sorted,insert,0.12487269999996897
|
||||
bintree,sorted,find,0.008476499999915177
|
||||
bintree,sorted,delete,0.0035560999999688647
|
||||
linklist,shuffled,insert,0.027320899999949688
|
||||
linklist,shuffled,find,0.002859299999954601
|
||||
linklist,shuffled,delete,0.0013897999999699095
|
||||
hashtable,shuffled,insert,0.002178499999899941
|
||||
hashtable,shuffled,find,0.000165900000183683
|
||||
hashtable,shuffled,delete,0.00013090000015836267
|
||||
bintree,shuffled,insert,0.0022329000000809174
|
||||
bintree,shuffled,find,0.00014160000000629225
|
||||
bintree,shuffled,delete,7.830000004105386e-05
|
||||
linklist,sorted,insert,0.027415300000029674
|
||||
linklist,sorted,find,0.002629999999953725
|
||||
linklist,sorted,delete,0.0015598999998474028
|
||||
hashtable,sorted,insert,0.0021681000000626227
|
||||
hashtable,sorted,find,0.000176199999941673
|
||||
hashtable,sorted,delete,0.00013220000005276233
|
||||
bintree,sorted,insert,0.12998720000018693
|
||||
bintree,sorted,find,0.00847499999986212
|
||||
bintree,sorted,delete,0.0035503999999946245
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.02726340000003802
|
||||
linklist,shuffled,find,0.002588300000070376
|
||||
linklist,shuffled,delete,0.001803200000040306
|
||||
hashtable,shuffled,insert,0.0021318999999948574
|
||||
hashtable,shuffled,find,0.00018850000014936086
|
||||
hashtable,shuffled,delete,0.00013990000002195302
|
||||
bintree,shuffled,insert,0.002046899999868401
|
||||
bintree,shuffled,find,0.00013949999993201345
|
||||
bintree,shuffled,delete,7.080000000314612e-05
|
||||
linklist,sorted,insert,0.027292499999930442
|
||||
linklist,sorted,find,0.0025571999999556283
|
||||
linklist,sorted,delete,0.001823300000069139
|
||||
hashtable,sorted,insert,0.002068999999892185
|
||||
hashtable,sorted,find,0.00018100000011145312
|
||||
hashtable,sorted,delete,0.00012709999987237097
|
||||
bintree,sorted,insert,0.12114790000009634
|
||||
bintree,sorted,find,0.008128500000111671
|
||||
bintree,sorted,delete,0.004335600000104023
|
||||
linklist,shuffled,insert,0.027109500000051412
|
||||
linklist,shuffled,find,0.0025161999999454565
|
||||
linklist,shuffled,delete,0.0016210000001137814
|
||||
hashtable,shuffled,insert,0.00212399999986701
|
||||
hashtable,shuffled,find,0.0001938000000336615
|
||||
hashtable,shuffled,delete,0.00011419999987083429
|
||||
bintree,shuffled,insert,0.0019213999999010412
|
||||
bintree,shuffled,find,0.0001257999999779713
|
||||
bintree,shuffled,delete,6.429999984902679e-05
|
||||
linklist,sorted,insert,0.02699760000018614
|
||||
linklist,sorted,find,0.002444400000058522
|
||||
linklist,sorted,delete,0.0015664000000015221
|
||||
hashtable,sorted,insert,0.002041199999894161
|
||||
hashtable,sorted,find,0.00018469999986336916
|
||||
hashtable,sorted,delete,0.00012100000003556488
|
||||
bintree,sorted,insert,0.12487269999996897
|
||||
bintree,sorted,find,0.008476499999915177
|
||||
bintree,sorted,delete,0.0035560999999688647
|
||||
linklist,shuffled,insert,0.027320899999949688
|
||||
linklist,shuffled,find,0.002859299999954601
|
||||
linklist,shuffled,delete,0.0013897999999699095
|
||||
hashtable,shuffled,insert,0.002178499999899941
|
||||
hashtable,shuffled,find,0.000165900000183683
|
||||
hashtable,shuffled,delete,0.00013090000015836267
|
||||
bintree,shuffled,insert,0.0022329000000809174
|
||||
bintree,shuffled,find,0.00014160000000629225
|
||||
bintree,shuffled,delete,7.830000004105386e-05
|
||||
linklist,sorted,insert,0.027415300000029674
|
||||
linklist,sorted,find,0.002629999999953725
|
||||
linklist,sorted,delete,0.0015598999998474028
|
||||
hashtable,sorted,insert,0.0021681000000626227
|
||||
hashtable,sorted,find,0.000176199999941673
|
||||
hashtable,sorted,delete,0.00013220000005276233
|
||||
bintree,sorted,insert,0.12998720000018693
|
||||
bintree,sorted,find,0.00847499999986212
|
||||
bintree,sorted,delete,0.0035503999999946245
|
||||
linklist,shuffled,insert,0.027123399999936737
|
||||
linklist,shuffled,find,0.002693800000088231
|
||||
linklist,shuffled,delete,0.00012059999994562531
|
||||
hashtable,shuffled,insert,0.002097600000070088
|
||||
hashtable,shuffled,find,0.00019059999999626598
|
||||
hashtable,shuffled,delete,0.00010559999986980984
|
||||
bintree,shuffled,insert,0.0021729999998569838
|
||||
bintree,shuffled,find,0.00014429999987441988
|
||||
bintree,shuffled,delete,7.550000009359792e-05
|
||||
linklist,sorted,insert,0.02698499999996784
|
||||
linklist,sorted,find,0.00229059999992387
|
||||
linklist,sorted,delete,0.001491600000008475
|
||||
hashtable,sorted,insert,0.002088700000058452
|
||||
hashtable,sorted,find,0.00017159999993054953
|
||||
hashtable,sorted,delete,0.00013009999997848354
|
||||
bintree,sorted,insert,0.1293642999999065
|
||||
bintree,sorted,find,0.00802560000010999
|
||||
bintree,sorted,delete,0.004422400000066773
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.02726340000003802
|
||||
linklist,shuffled,find,0.002588300000070376
|
||||
linklist,shuffled,delete,0.001803200000040306
|
||||
hashtable,shuffled,insert,0.0021318999999948574
|
||||
hashtable,shuffled,find,0.00018850000014936086
|
||||
hashtable,shuffled,delete,0.00013990000002195302
|
||||
bintree,shuffled,insert,0.002046899999868401
|
||||
bintree,shuffled,find,0.00013949999993201345
|
||||
bintree,shuffled,delete,7.080000000314612e-05
|
||||
linklist,sorted,insert,0.027292499999930442
|
||||
linklist,sorted,find,0.0025571999999556283
|
||||
linklist,sorted,delete,0.001823300000069139
|
||||
hashtable,sorted,insert,0.002068999999892185
|
||||
hashtable,sorted,find,0.00018100000011145312
|
||||
hashtable,sorted,delete,0.00012709999987237097
|
||||
bintree,sorted,insert,0.12114790000009634
|
||||
bintree,sorted,find,0.008128500000111671
|
||||
bintree,sorted,delete,0.004335600000104023
|
||||
linklist,shuffled,insert,0.027109500000051412
|
||||
linklist,shuffled,find,0.0025161999999454565
|
||||
linklist,shuffled,delete,0.0016210000001137814
|
||||
hashtable,shuffled,insert,0.00212399999986701
|
||||
hashtable,shuffled,find,0.0001938000000336615
|
||||
hashtable,shuffled,delete,0.00011419999987083429
|
||||
bintree,shuffled,insert,0.0019213999999010412
|
||||
bintree,shuffled,find,0.0001257999999779713
|
||||
bintree,shuffled,delete,6.429999984902679e-05
|
||||
linklist,sorted,insert,0.02699760000018614
|
||||
linklist,sorted,find,0.002444400000058522
|
||||
linklist,sorted,delete,0.0015664000000015221
|
||||
hashtable,sorted,insert,0.002041199999894161
|
||||
hashtable,sorted,find,0.00018469999986336916
|
||||
hashtable,sorted,delete,0.00012100000003556488
|
||||
bintree,sorted,insert,0.12487269999996897
|
||||
bintree,sorted,find,0.008476499999915177
|
||||
bintree,sorted,delete,0.0035560999999688647
|
||||
linklist,shuffled,insert,0.027320899999949688
|
||||
linklist,shuffled,find,0.002859299999954601
|
||||
linklist,shuffled,delete,0.0013897999999699095
|
||||
hashtable,shuffled,insert,0.002178499999899941
|
||||
hashtable,shuffled,find,0.000165900000183683
|
||||
hashtable,shuffled,delete,0.00013090000015836267
|
||||
bintree,shuffled,insert,0.0022329000000809174
|
||||
bintree,shuffled,find,0.00014160000000629225
|
||||
bintree,shuffled,delete,7.830000004105386e-05
|
||||
linklist,sorted,insert,0.027415300000029674
|
||||
linklist,sorted,find,0.002629999999953725
|
||||
linklist,sorted,delete,0.0015598999998474028
|
||||
hashtable,sorted,insert,0.0021681000000626227
|
||||
hashtable,sorted,find,0.000176199999941673
|
||||
hashtable,sorted,delete,0.00013220000005276233
|
||||
bintree,sorted,insert,0.12998720000018693
|
||||
bintree,sorted,find,0.00847499999986212
|
||||
bintree,sorted,delete,0.0035503999999946245
|
||||
linklist,shuffled,insert,0.027123399999936737
|
||||
linklist,shuffled,find,0.002693800000088231
|
||||
linklist,shuffled,delete,0.00012059999994562531
|
||||
hashtable,shuffled,insert,0.002097600000070088
|
||||
hashtable,shuffled,find,0.00019059999999626598
|
||||
hashtable,shuffled,delete,0.00010559999986980984
|
||||
bintree,shuffled,insert,0.0021729999998569838
|
||||
bintree,shuffled,find,0.00014429999987441988
|
||||
bintree,shuffled,delete,7.550000009359792e-05
|
||||
linklist,sorted,insert,0.02698499999996784
|
||||
linklist,sorted,find,0.00229059999992387
|
||||
linklist,sorted,delete,0.001491600000008475
|
||||
hashtable,sorted,insert,0.002088700000058452
|
||||
hashtable,sorted,find,0.00017159999993054953
|
||||
hashtable,sorted,delete,0.00013009999997848354
|
||||
bintree,sorted,insert,0.1293642999999065
|
||||
bintree,sorted,find,0.00802560000010999
|
||||
bintree,sorted,delete,0.004422400000066773
|
||||
linklist,shuffled,insert,0.027659300000095755
|
||||
linklist,shuffled,find,0.0027642000000014377
|
||||
linklist,shuffled,delete,0.0016510000000380387
|
||||
hashtable,shuffled,insert,0.002164400000083333
|
||||
hashtable,shuffled,find,0.00020229999995535763
|
||||
hashtable,shuffled,delete,0.00011950000020988227
|
||||
bintree,shuffled,insert,0.0022318000001178007
|
||||
bintree,shuffled,find,0.0001422999998794694
|
||||
bintree,shuffled,delete,7.17000000349799e-05
|
||||
linklist,sorted,insert,0.027462700000114637
|
||||
linklist,sorted,find,0.0026374999999916326
|
||||
linklist,sorted,delete,0.001360700000077486
|
||||
hashtable,sorted,insert,0.002076999999871987
|
||||
hashtable,sorted,find,0.00018279999994774698
|
||||
hashtable,sorted,delete,0.00011530000006132468
|
||||
bintree,sorted,insert,0.12807539999994333
|
||||
bintree,sorted,find,0.008059699999876102
|
||||
bintree,sorted,delete,0.005012699999952019
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.11765650000006644
|
||||
linklist,shuffled,find,0.005112499999995634
|
||||
linklist,shuffled,delete,0.0035118999999212974
|
||||
hashtable,shuffled,insert,0.007758100000046397
|
||||
hashtable,shuffled,find,0.0002895000000080472
|
||||
hashtable,shuffled,delete,0.00018670000008569332
|
||||
bintree,shuffled,insert,0.0046471000000565255
|
||||
bintree,shuffled,find,0.00014460000011240481
|
||||
bintree,shuffled,delete,7.57999998768355e-05
|
||||
linklist,sorted,insert,0.11909689999993134
|
||||
linklist,sorted,find,0.0055618999999751395
|
||||
linklist,sorted,delete,0.0032231999998657557
|
||||
hashtable,sorted,insert,0.007795600000008562
|
||||
hashtable,sorted,find,0.00032609999993837846
|
||||
hashtable,sorted,delete,0.00024199999984375609
|
||||
bintree,sorted,insert,0.5140364000001227
|
||||
bintree,sorted,find,0.01977620000002389
|
||||
bintree,sorted,delete,0.015120000000024447
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.11765650000006644
|
||||
linklist,shuffled,find,0.005112499999995634
|
||||
linklist,shuffled,delete,0.0035118999999212974
|
||||
hashtable,shuffled,insert,0.007758100000046397
|
||||
hashtable,shuffled,find,0.0002895000000080472
|
||||
hashtable,shuffled,delete,0.00018670000008569332
|
||||
bintree,shuffled,insert,0.0046471000000565255
|
||||
bintree,shuffled,find,0.00014460000011240481
|
||||
bintree,shuffled,delete,7.57999998768355e-05
|
||||
linklist,sorted,insert,0.11909689999993134
|
||||
linklist,sorted,find,0.0055618999999751395
|
||||
linklist,sorted,delete,0.0032231999998657557
|
||||
hashtable,sorted,insert,0.007795600000008562
|
||||
hashtable,sorted,find,0.00032609999993837846
|
||||
hashtable,sorted,delete,0.00024199999984375609
|
||||
bintree,sorted,insert,0.5140364000001227
|
||||
bintree,sorted,find,0.01977620000002389
|
||||
bintree,sorted,delete,0.015120000000024447
|
||||
linklist,shuffled,insert,0.14870990000008533
|
||||
linklist,shuffled,find,0.005860399999846777
|
||||
linklist,shuffled,delete,0.004132399999889458
|
||||
hashtable,shuffled,insert,0.008592900000166992
|
||||
hashtable,shuffled,find,0.0003307000001768756
|
||||
hashtable,shuffled,delete,0.00021599999990939978
|
||||
bintree,shuffled,insert,0.00462029999994229
|
||||
bintree,shuffled,find,0.00014820000001236622
|
||||
bintree,shuffled,delete,7.909999999355932e-05
|
||||
linklist,sorted,insert,0.1290392000000793
|
||||
linklist,sorted,find,0.005498799999941184
|
||||
linklist,sorted,delete,0.003138599999829239
|
||||
hashtable,sorted,insert,0.008086000000048443
|
||||
hashtable,sorted,find,0.0003056000000469794
|
||||
hashtable,sorted,delete,0.00024810000013530953
|
||||
bintree,sorted,insert,0.5352379999999357
|
||||
bintree,sorted,find,0.015722800000048665
|
||||
bintree,sorted,delete,0.008079799999904935
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.11765650000006644
|
||||
linklist,shuffled,find,0.005112499999995634
|
||||
linklist,shuffled,delete,0.0035118999999212974
|
||||
hashtable,shuffled,insert,0.007758100000046397
|
||||
hashtable,shuffled,find,0.0002895000000080472
|
||||
hashtable,shuffled,delete,0.00018670000008569332
|
||||
bintree,shuffled,insert,0.0046471000000565255
|
||||
bintree,shuffled,find,0.00014460000011240481
|
||||
bintree,shuffled,delete,7.57999998768355e-05
|
||||
linklist,sorted,insert,0.11909689999993134
|
||||
linklist,sorted,find,0.0055618999999751395
|
||||
linklist,sorted,delete,0.0032231999998657557
|
||||
hashtable,sorted,insert,0.007795600000008562
|
||||
hashtable,sorted,find,0.00032609999993837846
|
||||
hashtable,sorted,delete,0.00024199999984375609
|
||||
bintree,sorted,insert,0.5140364000001227
|
||||
bintree,sorted,find,0.01977620000002389
|
||||
bintree,sorted,delete,0.015120000000024447
|
||||
linklist,shuffled,insert,0.14870990000008533
|
||||
linklist,shuffled,find,0.005860399999846777
|
||||
linklist,shuffled,delete,0.004132399999889458
|
||||
hashtable,shuffled,insert,0.008592900000166992
|
||||
hashtable,shuffled,find,0.0003307000001768756
|
||||
hashtable,shuffled,delete,0.00021599999990939978
|
||||
bintree,shuffled,insert,0.00462029999994229
|
||||
bintree,shuffled,find,0.00014820000001236622
|
||||
bintree,shuffled,delete,7.909999999355932e-05
|
||||
linklist,sorted,insert,0.1290392000000793
|
||||
linklist,sorted,find,0.005498799999941184
|
||||
linklist,sorted,delete,0.003138599999829239
|
||||
hashtable,sorted,insert,0.008086000000048443
|
||||
hashtable,sorted,find,0.0003056000000469794
|
||||
hashtable,sorted,delete,0.00024810000013530953
|
||||
bintree,sorted,insert,0.5352379999999357
|
||||
bintree,sorted,find,0.015722800000048665
|
||||
bintree,sorted,delete,0.008079799999904935
|
||||
linklist,shuffled,insert,0.1241698000001179
|
||||
linklist,shuffled,find,0.0058715999998639745
|
||||
linklist,shuffled,delete,0.004480199999989054
|
||||
hashtable,shuffled,insert,0.008269299999938085
|
||||
hashtable,shuffled,find,0.0003452000000834232
|
||||
hashtable,shuffled,delete,0.0002529999999296706
|
||||
bintree,shuffled,insert,0.005044200000156707
|
||||
bintree,shuffled,find,0.00016229999982897425
|
||||
bintree,shuffled,delete,8.210000009967189e-05
|
||||
linklist,sorted,insert,0.1233806000000186
|
||||
linklist,sorted,find,0.005868100000043341
|
||||
linklist,sorted,delete,0.004366199999822129
|
||||
hashtable,sorted,insert,0.008022700000083205
|
||||
hashtable,sorted,find,0.00035990000014862744
|
||||
hashtable,sorted,delete,0.00027769999996962724
|
||||
bintree,sorted,insert,0.5314547000000402
|
||||
bintree,sorted,find,0.01708480000002055
|
||||
bintree,sorted,delete,0.007279599999947095
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.11765650000006644
|
||||
linklist,shuffled,find,0.005112499999995634
|
||||
linklist,shuffled,delete,0.0035118999999212974
|
||||
hashtable,shuffled,insert,0.007758100000046397
|
||||
hashtable,shuffled,find,0.0002895000000080472
|
||||
hashtable,shuffled,delete,0.00018670000008569332
|
||||
bintree,shuffled,insert,0.0046471000000565255
|
||||
bintree,shuffled,find,0.00014460000011240481
|
||||
bintree,shuffled,delete,7.57999998768355e-05
|
||||
linklist,sorted,insert,0.11909689999993134
|
||||
linklist,sorted,find,0.0055618999999751395
|
||||
linklist,sorted,delete,0.0032231999998657557
|
||||
hashtable,sorted,insert,0.007795600000008562
|
||||
hashtable,sorted,find,0.00032609999993837846
|
||||
hashtable,sorted,delete,0.00024199999984375609
|
||||
bintree,sorted,insert,0.5140364000001227
|
||||
bintree,sorted,find,0.01977620000002389
|
||||
bintree,sorted,delete,0.015120000000024447
|
||||
linklist,shuffled,insert,0.14870990000008533
|
||||
linklist,shuffled,find,0.005860399999846777
|
||||
linklist,shuffled,delete,0.004132399999889458
|
||||
hashtable,shuffled,insert,0.008592900000166992
|
||||
hashtable,shuffled,find,0.0003307000001768756
|
||||
hashtable,shuffled,delete,0.00021599999990939978
|
||||
bintree,shuffled,insert,0.00462029999994229
|
||||
bintree,shuffled,find,0.00014820000001236622
|
||||
bintree,shuffled,delete,7.909999999355932e-05
|
||||
linklist,sorted,insert,0.1290392000000793
|
||||
linklist,sorted,find,0.005498799999941184
|
||||
linklist,sorted,delete,0.003138599999829239
|
||||
hashtable,sorted,insert,0.008086000000048443
|
||||
hashtable,sorted,find,0.0003056000000469794
|
||||
hashtable,sorted,delete,0.00024810000013530953
|
||||
bintree,sorted,insert,0.5352379999999357
|
||||
bintree,sorted,find,0.015722800000048665
|
||||
bintree,sorted,delete,0.008079799999904935
|
||||
linklist,shuffled,insert,0.1241698000001179
|
||||
linklist,shuffled,find,0.0058715999998639745
|
||||
linklist,shuffled,delete,0.004480199999989054
|
||||
hashtable,shuffled,insert,0.008269299999938085
|
||||
hashtable,shuffled,find,0.0003452000000834232
|
||||
hashtable,shuffled,delete,0.0002529999999296706
|
||||
bintree,shuffled,insert,0.005044200000156707
|
||||
bintree,shuffled,find,0.00016229999982897425
|
||||
bintree,shuffled,delete,8.210000009967189e-05
|
||||
linklist,sorted,insert,0.1233806000000186
|
||||
linklist,sorted,find,0.005868100000043341
|
||||
linklist,sorted,delete,0.004366199999822129
|
||||
hashtable,sorted,insert,0.008022700000083205
|
||||
hashtable,sorted,find,0.00035990000014862744
|
||||
hashtable,sorted,delete,0.00027769999996962724
|
||||
bintree,sorted,insert,0.5314547000000402
|
||||
bintree,sorted,find,0.01708480000002055
|
||||
bintree,sorted,delete,0.007279599999947095
|
||||
linklist,shuffled,insert,0.12406429999987267
|
||||
linklist,shuffled,find,0.0061296999999740365
|
||||
linklist,shuffled,delete,0.0037953000000925385
|
||||
hashtable,shuffled,insert,0.008292700000083641
|
||||
hashtable,shuffled,find,0.00033389999998689746
|
||||
hashtable,shuffled,delete,0.00024819999998726416
|
||||
bintree,shuffled,insert,0.0046327000000019325
|
||||
bintree,shuffled,find,0.00015619999999216816
|
||||
bintree,shuffled,delete,8.230000003095483e-05
|
||||
linklist,sorted,insert,0.12618019999990793
|
||||
linklist,sorted,find,0.005746900000076494
|
||||
linklist,sorted,delete,0.004043899999942369
|
||||
hashtable,sorted,insert,0.008169699999825752
|
||||
hashtable,sorted,find,0.00038030000018807186
|
||||
hashtable,sorted,delete,0.0002712999998948362
|
||||
bintree,sorted,insert,0.5407491000000846
|
||||
bintree,sorted,find,0.01652739999985897
|
||||
bintree,sorted,delete,0.008134500000096523
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.11765650000006644
|
||||
linklist,shuffled,find,0.005112499999995634
|
||||
linklist,shuffled,delete,0.0035118999999212974
|
||||
hashtable,shuffled,insert,0.007758100000046397
|
||||
hashtable,shuffled,find,0.0002895000000080472
|
||||
hashtable,shuffled,delete,0.00018670000008569332
|
||||
bintree,shuffled,insert,0.0046471000000565255
|
||||
bintree,shuffled,find,0.00014460000011240481
|
||||
bintree,shuffled,delete,7.57999998768355e-05
|
||||
linklist,sorted,insert,0.11909689999993134
|
||||
linklist,sorted,find,0.0055618999999751395
|
||||
linklist,sorted,delete,0.0032231999998657557
|
||||
hashtable,sorted,insert,0.007795600000008562
|
||||
hashtable,sorted,find,0.00032609999993837846
|
||||
hashtable,sorted,delete,0.00024199999984375609
|
||||
bintree,sorted,insert,0.5140364000001227
|
||||
bintree,sorted,find,0.01977620000002389
|
||||
bintree,sorted,delete,0.015120000000024447
|
||||
linklist,shuffled,insert,0.14870990000008533
|
||||
linklist,shuffled,find,0.005860399999846777
|
||||
linklist,shuffled,delete,0.004132399999889458
|
||||
hashtable,shuffled,insert,0.008592900000166992
|
||||
hashtable,shuffled,find,0.0003307000001768756
|
||||
hashtable,shuffled,delete,0.00021599999990939978
|
||||
bintree,shuffled,insert,0.00462029999994229
|
||||
bintree,shuffled,find,0.00014820000001236622
|
||||
bintree,shuffled,delete,7.909999999355932e-05
|
||||
linklist,sorted,insert,0.1290392000000793
|
||||
linklist,sorted,find,0.005498799999941184
|
||||
linklist,sorted,delete,0.003138599999829239
|
||||
hashtable,sorted,insert,0.008086000000048443
|
||||
hashtable,sorted,find,0.0003056000000469794
|
||||
hashtable,sorted,delete,0.00024810000013530953
|
||||
bintree,sorted,insert,0.5352379999999357
|
||||
bintree,sorted,find,0.015722800000048665
|
||||
bintree,sorted,delete,0.008079799999904935
|
||||
linklist,shuffled,insert,0.1241698000001179
|
||||
linklist,shuffled,find,0.0058715999998639745
|
||||
linklist,shuffled,delete,0.004480199999989054
|
||||
hashtable,shuffled,insert,0.008269299999938085
|
||||
hashtable,shuffled,find,0.0003452000000834232
|
||||
hashtable,shuffled,delete,0.0002529999999296706
|
||||
bintree,shuffled,insert,0.005044200000156707
|
||||
bintree,shuffled,find,0.00016229999982897425
|
||||
bintree,shuffled,delete,8.210000009967189e-05
|
||||
linklist,sorted,insert,0.1233806000000186
|
||||
linklist,sorted,find,0.005868100000043341
|
||||
linklist,sorted,delete,0.004366199999822129
|
||||
hashtable,sorted,insert,0.008022700000083205
|
||||
hashtable,sorted,find,0.00035990000014862744
|
||||
hashtable,sorted,delete,0.00027769999996962724
|
||||
bintree,sorted,insert,0.5314547000000402
|
||||
bintree,sorted,find,0.01708480000002055
|
||||
bintree,sorted,delete,0.007279599999947095
|
||||
linklist,shuffled,insert,0.12406429999987267
|
||||
linklist,shuffled,find,0.0061296999999740365
|
||||
linklist,shuffled,delete,0.0037953000000925385
|
||||
hashtable,shuffled,insert,0.008292700000083641
|
||||
hashtable,shuffled,find,0.00033389999998689746
|
||||
hashtable,shuffled,delete,0.00024819999998726416
|
||||
bintree,shuffled,insert,0.0046327000000019325
|
||||
bintree,shuffled,find,0.00015619999999216816
|
||||
bintree,shuffled,delete,8.230000003095483e-05
|
||||
linklist,sorted,insert,0.12618019999990793
|
||||
linklist,sorted,find,0.005746900000076494
|
||||
linklist,sorted,delete,0.004043899999942369
|
||||
hashtable,sorted,insert,0.008169699999825752
|
||||
hashtable,sorted,find,0.00038030000018807186
|
||||
hashtable,sorted,delete,0.0002712999998948362
|
||||
bintree,sorted,insert,0.5407491000000846
|
||||
bintree,sorted,find,0.01652739999985897
|
||||
bintree,sorted,delete,0.008134500000096523
|
||||
linklist,shuffled,insert,0.12431420000007165
|
||||
linklist,shuffled,find,0.005214799999976094
|
||||
linklist,shuffled,delete,0.0034273000001121545
|
||||
hashtable,shuffled,insert,0.008021299999882103
|
||||
hashtable,shuffled,find,0.00032179999993786623
|
||||
hashtable,shuffled,delete,0.00024710000002414745
|
||||
bintree,shuffled,insert,0.0049020999999811465
|
||||
bintree,shuffled,find,0.00016760000016802223
|
||||
bintree,shuffled,delete,8.800000000519503e-05
|
||||
linklist,sorted,insert,0.1186837000000196
|
||||
linklist,sorted,find,0.0056150000000343425
|
||||
linklist,sorted,delete,0.004068400000051042
|
||||
hashtable,sorted,insert,0.00782300000014402
|
||||
hashtable,sorted,find,0.00039160000005722395
|
||||
hashtable,sorted,delete,0.0002365000000281725
|
||||
bintree,sorted,insert,0.5331306999999015
|
||||
bintree,sorted,find,0.0176202000000103
|
||||
bintree,sorted,delete,0.008598399999982576
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.8840434000001096
|
||||
linklist,shuffled,find,0.015545699999847784
|
||||
linklist,shuffled,delete,0.012760500000013053
|
||||
hashtable,shuffled,insert,0.05490209999993567
|
||||
hashtable,shuffled,find,0.0008969999998953426
|
||||
hashtable,shuffled,delete,0.0006464999999025167
|
||||
bintree,shuffled,insert,0.014310799999975643
|
||||
bintree,shuffled,find,0.00019000000020241714
|
||||
bintree,shuffled,delete,0.00010059999999612046
|
||||
linklist,sorted,insert,0.8886468999999124
|
||||
linklist,sorted,find,0.015590499999916574
|
||||
linklist,sorted,delete,0.011120600000140257
|
||||
hashtable,sorted,insert,0.05178969999997207
|
||||
hashtable,sorted,find,0.0007823999999345688
|
||||
hashtable,sorted,delete,0.0004929000001538952
|
||||
bintree,sorted,insert,3.2450708999999733
|
||||
bintree,sorted,find,0.043419200000016644
|
||||
bintree,sorted,delete,0.020965700000033394
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.8840434000001096
|
||||
linklist,shuffled,find,0.015545699999847784
|
||||
linklist,shuffled,delete,0.012760500000013053
|
||||
hashtable,shuffled,insert,0.05490209999993567
|
||||
hashtable,shuffled,find,0.0008969999998953426
|
||||
hashtable,shuffled,delete,0.0006464999999025167
|
||||
bintree,shuffled,insert,0.014310799999975643
|
||||
bintree,shuffled,find,0.00019000000020241714
|
||||
bintree,shuffled,delete,0.00010059999999612046
|
||||
linklist,sorted,insert,0.8886468999999124
|
||||
linklist,sorted,find,0.015590499999916574
|
||||
linklist,sorted,delete,0.011120600000140257
|
||||
hashtable,sorted,insert,0.05178969999997207
|
||||
hashtable,sorted,find,0.0007823999999345688
|
||||
hashtable,sorted,delete,0.0004929000001538952
|
||||
bintree,sorted,insert,3.2450708999999733
|
||||
bintree,sorted,find,0.043419200000016644
|
||||
bintree,sorted,delete,0.020965700000033394
|
||||
linklist,shuffled,insert,0.857289000000037
|
||||
linklist,shuffled,find,0.01596849999987171
|
||||
linklist,shuffled,delete,0.010894000000007509
|
||||
hashtable,shuffled,insert,0.05171439999980976
|
||||
hashtable,shuffled,find,0.0008769999999458378
|
||||
hashtable,shuffled,delete,0.0006730000000061409
|
||||
bintree,shuffled,insert,0.014693800000031843
|
||||
bintree,shuffled,find,0.0001724999999623833
|
||||
bintree,shuffled,delete,9.330000011686934e-05
|
||||
linklist,sorted,insert,0.8638034000000516
|
||||
linklist,sorted,find,0.016234899999972185
|
||||
linklist,sorted,delete,0.008574899999985064
|
||||
hashtable,sorted,insert,0.05052829999999631
|
||||
hashtable,sorted,find,0.0008261000000402419
|
||||
hashtable,sorted,delete,0.0006920000000718574
|
||||
bintree,sorted,insert,3.3420926000001145
|
||||
bintree,sorted,find,0.0381296000000475
|
||||
bintree,sorted,delete,0.02172100000007049
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.8840434000001096
|
||||
linklist,shuffled,find,0.015545699999847784
|
||||
linklist,shuffled,delete,0.012760500000013053
|
||||
hashtable,shuffled,insert,0.05490209999993567
|
||||
hashtable,shuffled,find,0.0008969999998953426
|
||||
hashtable,shuffled,delete,0.0006464999999025167
|
||||
bintree,shuffled,insert,0.014310799999975643
|
||||
bintree,shuffled,find,0.00019000000020241714
|
||||
bintree,shuffled,delete,0.00010059999999612046
|
||||
linklist,sorted,insert,0.8886468999999124
|
||||
linklist,sorted,find,0.015590499999916574
|
||||
linklist,sorted,delete,0.011120600000140257
|
||||
hashtable,sorted,insert,0.05178969999997207
|
||||
hashtable,sorted,find,0.0007823999999345688
|
||||
hashtable,sorted,delete,0.0004929000001538952
|
||||
bintree,sorted,insert,3.2450708999999733
|
||||
bintree,sorted,find,0.043419200000016644
|
||||
bintree,sorted,delete,0.020965700000033394
|
||||
linklist,shuffled,insert,0.857289000000037
|
||||
linklist,shuffled,find,0.01596849999987171
|
||||
linklist,shuffled,delete,0.010894000000007509
|
||||
hashtable,shuffled,insert,0.05171439999980976
|
||||
hashtable,shuffled,find,0.0008769999999458378
|
||||
hashtable,shuffled,delete,0.0006730000000061409
|
||||
bintree,shuffled,insert,0.014693800000031843
|
||||
bintree,shuffled,find,0.0001724999999623833
|
||||
bintree,shuffled,delete,9.330000011686934e-05
|
||||
linklist,sorted,insert,0.8638034000000516
|
||||
linklist,sorted,find,0.016234899999972185
|
||||
linklist,sorted,delete,0.008574899999985064
|
||||
hashtable,sorted,insert,0.05052829999999631
|
||||
hashtable,sorted,find,0.0008261000000402419
|
||||
hashtable,sorted,delete,0.0006920000000718574
|
||||
bintree,sorted,insert,3.3420926000001145
|
||||
bintree,sorted,find,0.0381296000000475
|
||||
bintree,sorted,delete,0.02172100000007049
|
||||
linklist,shuffled,insert,0.8913317000001371
|
||||
linklist,shuffled,find,0.016817799999898853
|
||||
linklist,shuffled,delete,0.011490999999978158
|
||||
hashtable,shuffled,insert,0.05452530000002298
|
||||
hashtable,shuffled,find,0.0008067000001119595
|
||||
hashtable,shuffled,delete,0.000680299999885392
|
||||
bintree,shuffled,insert,0.013919199999918419
|
||||
bintree,shuffled,find,0.00017759999991540099
|
||||
bintree,shuffled,delete,8.830000001580629e-05
|
||||
linklist,sorted,insert,0.8753541000000951
|
||||
linklist,sorted,find,0.0159900999999536
|
||||
linklist,sorted,delete,0.01208649999989575
|
||||
hashtable,sorted,insert,0.05042969999999514
|
||||
hashtable,sorted,find,0.0008533000000170432
|
||||
hashtable,sorted,delete,0.000575400000116133
|
||||
bintree,sorted,insert,3.375004499999932
|
||||
bintree,sorted,find,0.04208429999994223
|
||||
bintree,sorted,delete,0.018999199999825578
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.8840434000001096
|
||||
linklist,shuffled,find,0.015545699999847784
|
||||
linklist,shuffled,delete,0.012760500000013053
|
||||
hashtable,shuffled,insert,0.05490209999993567
|
||||
hashtable,shuffled,find,0.0008969999998953426
|
||||
hashtable,shuffled,delete,0.0006464999999025167
|
||||
bintree,shuffled,insert,0.014310799999975643
|
||||
bintree,shuffled,find,0.00019000000020241714
|
||||
bintree,shuffled,delete,0.00010059999999612046
|
||||
linklist,sorted,insert,0.8886468999999124
|
||||
linklist,sorted,find,0.015590499999916574
|
||||
linklist,sorted,delete,0.011120600000140257
|
||||
hashtable,sorted,insert,0.05178969999997207
|
||||
hashtable,sorted,find,0.0007823999999345688
|
||||
hashtable,sorted,delete,0.0004929000001538952
|
||||
bintree,sorted,insert,3.2450708999999733
|
||||
bintree,sorted,find,0.043419200000016644
|
||||
bintree,sorted,delete,0.020965700000033394
|
||||
linklist,shuffled,insert,0.857289000000037
|
||||
linklist,shuffled,find,0.01596849999987171
|
||||
linklist,shuffled,delete,0.010894000000007509
|
||||
hashtable,shuffled,insert,0.05171439999980976
|
||||
hashtable,shuffled,find,0.0008769999999458378
|
||||
hashtable,shuffled,delete,0.0006730000000061409
|
||||
bintree,shuffled,insert,0.014693800000031843
|
||||
bintree,shuffled,find,0.0001724999999623833
|
||||
bintree,shuffled,delete,9.330000011686934e-05
|
||||
linklist,sorted,insert,0.8638034000000516
|
||||
linklist,sorted,find,0.016234899999972185
|
||||
linklist,sorted,delete,0.008574899999985064
|
||||
hashtable,sorted,insert,0.05052829999999631
|
||||
hashtable,sorted,find,0.0008261000000402419
|
||||
hashtable,sorted,delete,0.0006920000000718574
|
||||
bintree,sorted,insert,3.3420926000001145
|
||||
bintree,sorted,find,0.0381296000000475
|
||||
bintree,sorted,delete,0.02172100000007049
|
||||
linklist,shuffled,insert,0.8913317000001371
|
||||
linklist,shuffled,find,0.016817799999898853
|
||||
linklist,shuffled,delete,0.011490999999978158
|
||||
hashtable,shuffled,insert,0.05452530000002298
|
||||
hashtable,shuffled,find,0.0008067000001119595
|
||||
hashtable,shuffled,delete,0.000680299999885392
|
||||
bintree,shuffled,insert,0.013919199999918419
|
||||
bintree,shuffled,find,0.00017759999991540099
|
||||
bintree,shuffled,delete,8.830000001580629e-05
|
||||
linklist,sorted,insert,0.8753541000000951
|
||||
linklist,sorted,find,0.0159900999999536
|
||||
linklist,sorted,delete,0.01208649999989575
|
||||
hashtable,sorted,insert,0.05042969999999514
|
||||
hashtable,sorted,find,0.0008533000000170432
|
||||
hashtable,sorted,delete,0.000575400000116133
|
||||
bintree,sorted,insert,3.375004499999932
|
||||
bintree,sorted,find,0.04208429999994223
|
||||
bintree,sorted,delete,0.018999199999825578
|
||||
linklist,shuffled,insert,0.8799220999999307
|
||||
linklist,shuffled,find,0.016121000000111962
|
||||
linklist,shuffled,delete,0.01178869999989729
|
||||
hashtable,shuffled,insert,0.05164659999991272
|
||||
hashtable,shuffled,find,0.0008789000000888336
|
||||
hashtable,shuffled,delete,0.0006389000000126543
|
||||
bintree,shuffled,insert,0.014388499999995474
|
||||
bintree,shuffled,find,0.00019010000005437178
|
||||
bintree,shuffled,delete,0.00010780000002341694
|
||||
linklist,sorted,insert,0.8983690000000024
|
||||
linklist,sorted,find,0.01792299999988245
|
||||
linklist,sorted,delete,0.010463699999945675
|
||||
hashtable,sorted,insert,0.05331300000011652
|
||||
hashtable,sorted,find,0.0008979000001545501
|
||||
hashtable,sorted,delete,0.0006045000000085565
|
||||
bintree,sorted,insert,3.5323379999999815
|
||||
bintree,sorted,find,0.03992799999991803
|
||||
bintree,sorted,delete,0.02302389999999832
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.8840434000001096
|
||||
linklist,shuffled,find,0.015545699999847784
|
||||
linklist,shuffled,delete,0.012760500000013053
|
||||
hashtable,shuffled,insert,0.05490209999993567
|
||||
hashtable,shuffled,find,0.0008969999998953426
|
||||
hashtable,shuffled,delete,0.0006464999999025167
|
||||
bintree,shuffled,insert,0.014310799999975643
|
||||
bintree,shuffled,find,0.00019000000020241714
|
||||
bintree,shuffled,delete,0.00010059999999612046
|
||||
linklist,sorted,insert,0.8886468999999124
|
||||
linklist,sorted,find,0.015590499999916574
|
||||
linklist,sorted,delete,0.011120600000140257
|
||||
hashtable,sorted,insert,0.05178969999997207
|
||||
hashtable,sorted,find,0.0007823999999345688
|
||||
hashtable,sorted,delete,0.0004929000001538952
|
||||
bintree,sorted,insert,3.2450708999999733
|
||||
bintree,sorted,find,0.043419200000016644
|
||||
bintree,sorted,delete,0.020965700000033394
|
||||
linklist,shuffled,insert,0.857289000000037
|
||||
linklist,shuffled,find,0.01596849999987171
|
||||
linklist,shuffled,delete,0.010894000000007509
|
||||
hashtable,shuffled,insert,0.05171439999980976
|
||||
hashtable,shuffled,find,0.0008769999999458378
|
||||
hashtable,shuffled,delete,0.0006730000000061409
|
||||
bintree,shuffled,insert,0.014693800000031843
|
||||
bintree,shuffled,find,0.0001724999999623833
|
||||
bintree,shuffled,delete,9.330000011686934e-05
|
||||
linklist,sorted,insert,0.8638034000000516
|
||||
linklist,sorted,find,0.016234899999972185
|
||||
linklist,sorted,delete,0.008574899999985064
|
||||
hashtable,sorted,insert,0.05052829999999631
|
||||
hashtable,sorted,find,0.0008261000000402419
|
||||
hashtable,sorted,delete,0.0006920000000718574
|
||||
bintree,sorted,insert,3.3420926000001145
|
||||
bintree,sorted,find,0.0381296000000475
|
||||
bintree,sorted,delete,0.02172100000007049
|
||||
linklist,shuffled,insert,0.8913317000001371
|
||||
linklist,shuffled,find,0.016817799999898853
|
||||
linklist,shuffled,delete,0.011490999999978158
|
||||
hashtable,shuffled,insert,0.05452530000002298
|
||||
hashtable,shuffled,find,0.0008067000001119595
|
||||
hashtable,shuffled,delete,0.000680299999885392
|
||||
bintree,shuffled,insert,0.013919199999918419
|
||||
bintree,shuffled,find,0.00017759999991540099
|
||||
bintree,shuffled,delete,8.830000001580629e-05
|
||||
linklist,sorted,insert,0.8753541000000951
|
||||
linklist,sorted,find,0.0159900999999536
|
||||
linklist,sorted,delete,0.01208649999989575
|
||||
hashtable,sorted,insert,0.05042969999999514
|
||||
hashtable,sorted,find,0.0008533000000170432
|
||||
hashtable,sorted,delete,0.000575400000116133
|
||||
bintree,sorted,insert,3.375004499999932
|
||||
bintree,sorted,find,0.04208429999994223
|
||||
bintree,sorted,delete,0.018999199999825578
|
||||
linklist,shuffled,insert,0.8799220999999307
|
||||
linklist,shuffled,find,0.016121000000111962
|
||||
linklist,shuffled,delete,0.01178869999989729
|
||||
hashtable,shuffled,insert,0.05164659999991272
|
||||
hashtable,shuffled,find,0.0008789000000888336
|
||||
hashtable,shuffled,delete,0.0006389000000126543
|
||||
bintree,shuffled,insert,0.014388499999995474
|
||||
bintree,shuffled,find,0.00019010000005437178
|
||||
bintree,shuffled,delete,0.00010780000002341694
|
||||
linklist,sorted,insert,0.8983690000000024
|
||||
linklist,sorted,find,0.01792299999988245
|
||||
linklist,sorted,delete,0.010463699999945675
|
||||
hashtable,sorted,insert,0.05331300000011652
|
||||
hashtable,sorted,find,0.0008979000001545501
|
||||
hashtable,sorted,delete,0.0006045000000085565
|
||||
bintree,sorted,insert,3.5323379999999815
|
||||
bintree,sorted,find,0.03992799999991803
|
||||
bintree,sorted,delete,0.02302389999999832
|
||||
linklist,shuffled,insert,0.8870864000000438
|
||||
linklist,shuffled,find,0.016829599999937273
|
||||
linklist,shuffled,delete,0.01141009999992093
|
||||
hashtable,shuffled,insert,0.05397369999991497
|
||||
hashtable,shuffled,find,0.0007955000000947621
|
||||
hashtable,shuffled,delete,0.0005891999999221298
|
||||
bintree,shuffled,insert,0.014814899999919362
|
||||
bintree,shuffled,find,0.00018130000012206438
|
||||
bintree,shuffled,delete,9.93000001017208e-05
|
||||
linklist,sorted,insert,0.882646399999885
|
||||
linklist,sorted,find,0.017165100000056555
|
||||
linklist,sorted,delete,0.01109220000012101
|
||||
hashtable,sorted,insert,0.0507878000000801
|
||||
hashtable,sorted,find,0.0007728000000497559
|
||||
hashtable,sorted,delete,0.0005814000001009845
|
||||
bintree,sorted,insert,3.430517699999882
|
||||
bintree,sorted,find,0.042424999999866486
|
||||
bintree,sorted,delete,0.02323249999994914
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.007536800000025323
|
||||
linklist,shuffled,find,0.001323599999977887
|
||||
linklist,shuffled,delete,0.0008946000000378262
|
||||
hashtable,shuffled,insert,0.0007929999999305437
|
||||
hashtable,shuffled,find,0.00013159999980416615
|
||||
hashtable,shuffled,delete,7.550000009359792e-05
|
||||
bintree,shuffled,insert,0.0009512999999969907
|
||||
bintree,shuffled,find,0.00012689999994108803
|
||||
bintree,shuffled,delete,6.34000000445667e-05
|
||||
linklist,sorted,insert,0.007563499999832857
|
||||
linklist,sorted,find,0.0014433999999710068
|
||||
linklist,sorted,delete,0.0008566999999857217
|
||||
hashtable,sorted,insert,0.0007736000000022614
|
||||
hashtable,sorted,find,0.00012749999996231054
|
||||
hashtable,sorted,delete,7.869999990361976e-05
|
||||
bintree,sorted,insert,0.029542800000172065
|
||||
bintree,sorted,find,0.003590200000189725
|
||||
bintree,sorted,delete,0.0015743000001293694
|
||||
|
|
|
@ -0,0 +1,37 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.007536800000025323
|
||||
linklist,shuffled,find,0.001323599999977887
|
||||
linklist,shuffled,delete,0.0008946000000378262
|
||||
hashtable,shuffled,insert,0.0007929999999305437
|
||||
hashtable,shuffled,find,0.00013159999980416615
|
||||
hashtable,shuffled,delete,7.550000009359792e-05
|
||||
bintree,shuffled,insert,0.0009512999999969907
|
||||
bintree,shuffled,find,0.00012689999994108803
|
||||
bintree,shuffled,delete,6.34000000445667e-05
|
||||
linklist,sorted,insert,0.007563499999832857
|
||||
linklist,sorted,find,0.0014433999999710068
|
||||
linklist,sorted,delete,0.0008566999999857217
|
||||
hashtable,sorted,insert,0.0007736000000022614
|
||||
hashtable,sorted,find,0.00012749999996231054
|
||||
hashtable,sorted,delete,7.869999990361976e-05
|
||||
bintree,sorted,insert,0.029542800000172065
|
||||
bintree,sorted,find,0.003590200000189725
|
||||
bintree,sorted,delete,0.0015743000001293694
|
||||
linklist,shuffled,insert,0.007518300000128875
|
||||
linklist,shuffled,find,0.0013639999999668362
|
||||
linklist,shuffled,delete,0.0009066999998594838
|
||||
hashtable,shuffled,insert,0.000783899999987625
|
||||
hashtable,shuffled,find,0.0001336000000264903
|
||||
hashtable,shuffled,delete,9.610000006432529e-05
|
||||
bintree,shuffled,insert,0.0010454000000663655
|
||||
bintree,shuffled,find,0.0001326000001427019
|
||||
bintree,shuffled,delete,6.990000019868603e-05
|
||||
linklist,sorted,insert,0.007503799999994953
|
||||
linklist,sorted,find,0.0014437999998335727
|
||||
linklist,sorted,delete,0.00084259999994174
|
||||
hashtable,sorted,insert,0.0007637000001068373
|
||||
hashtable,sorted,find,0.00012930000002597808
|
||||
hashtable,sorted,delete,8.37000000046828e-05
|
||||
bintree,sorted,insert,0.0295118999999886
|
||||
bintree,sorted,find,0.00391500000000633
|
||||
bintree,sorted,delete,0.0016846999999415857
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.007536800000025323
|
||||
linklist,shuffled,find,0.001323599999977887
|
||||
linklist,shuffled,delete,0.0008946000000378262
|
||||
hashtable,shuffled,insert,0.0007929999999305437
|
||||
hashtable,shuffled,find,0.00013159999980416615
|
||||
hashtable,shuffled,delete,7.550000009359792e-05
|
||||
bintree,shuffled,insert,0.0009512999999969907
|
||||
bintree,shuffled,find,0.00012689999994108803
|
||||
bintree,shuffled,delete,6.34000000445667e-05
|
||||
linklist,sorted,insert,0.007563499999832857
|
||||
linklist,sorted,find,0.0014433999999710068
|
||||
linklist,sorted,delete,0.0008566999999857217
|
||||
hashtable,sorted,insert,0.0007736000000022614
|
||||
hashtable,sorted,find,0.00012749999996231054
|
||||
hashtable,sorted,delete,7.869999990361976e-05
|
||||
bintree,sorted,insert,0.029542800000172065
|
||||
bintree,sorted,find,0.003590200000189725
|
||||
bintree,sorted,delete,0.0015743000001293694
|
||||
linklist,shuffled,insert,0.007518300000128875
|
||||
linklist,shuffled,find,0.0013639999999668362
|
||||
linklist,shuffled,delete,0.0009066999998594838
|
||||
hashtable,shuffled,insert,0.000783899999987625
|
||||
hashtable,shuffled,find,0.0001336000000264903
|
||||
hashtable,shuffled,delete,9.610000006432529e-05
|
||||
bintree,shuffled,insert,0.0010454000000663655
|
||||
bintree,shuffled,find,0.0001326000001427019
|
||||
bintree,shuffled,delete,6.990000019868603e-05
|
||||
linklist,sorted,insert,0.007503799999994953
|
||||
linklist,sorted,find,0.0014437999998335727
|
||||
linklist,sorted,delete,0.00084259999994174
|
||||
hashtable,sorted,insert,0.0007637000001068373
|
||||
hashtable,sorted,find,0.00012930000002597808
|
||||
hashtable,sorted,delete,8.37000000046828e-05
|
||||
bintree,sorted,insert,0.0295118999999886
|
||||
bintree,sorted,find,0.00391500000000633
|
||||
bintree,sorted,delete,0.0016846999999415857
|
||||
linklist,shuffled,insert,0.007431100000076185
|
||||
linklist,shuffled,find,0.00140449999980774
|
||||
linklist,shuffled,delete,0.0008401000000048953
|
||||
hashtable,shuffled,insert,0.0007734999999229331
|
||||
hashtable,shuffled,find,0.00012970000011591765
|
||||
hashtable,shuffled,delete,8.58000000789616e-05
|
||||
bintree,shuffled,insert,0.0008287999999083695
|
||||
bintree,shuffled,find,0.00011279999989710632
|
||||
bintree,shuffled,delete,5.8399999943503644e-05
|
||||
linklist,sorted,insert,0.007470900000043912
|
||||
linklist,sorted,find,0.0013275999999677879
|
||||
linklist,sorted,delete,0.0006739999998899293
|
||||
hashtable,sorted,insert,0.0007560999999896012
|
||||
hashtable,sorted,find,0.00012280000009923242
|
||||
hashtable,sorted,delete,7.559999994555255e-05
|
||||
bintree,sorted,insert,0.028921399999944697
|
||||
bintree,sorted,find,0.0038013999999293446
|
||||
bintree,sorted,delete,0.0016253999999662483
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.007536800000025323
|
||||
linklist,shuffled,find,0.001323599999977887
|
||||
linklist,shuffled,delete,0.0008946000000378262
|
||||
hashtable,shuffled,insert,0.0007929999999305437
|
||||
hashtable,shuffled,find,0.00013159999980416615
|
||||
hashtable,shuffled,delete,7.550000009359792e-05
|
||||
bintree,shuffled,insert,0.0009512999999969907
|
||||
bintree,shuffled,find,0.00012689999994108803
|
||||
bintree,shuffled,delete,6.34000000445667e-05
|
||||
linklist,sorted,insert,0.007563499999832857
|
||||
linklist,sorted,find,0.0014433999999710068
|
||||
linklist,sorted,delete,0.0008566999999857217
|
||||
hashtable,sorted,insert,0.0007736000000022614
|
||||
hashtable,sorted,find,0.00012749999996231054
|
||||
hashtable,sorted,delete,7.869999990361976e-05
|
||||
bintree,sorted,insert,0.029542800000172065
|
||||
bintree,sorted,find,0.003590200000189725
|
||||
bintree,sorted,delete,0.0015743000001293694
|
||||
linklist,shuffled,insert,0.007518300000128875
|
||||
linklist,shuffled,find,0.0013639999999668362
|
||||
linklist,shuffled,delete,0.0009066999998594838
|
||||
hashtable,shuffled,insert,0.000783899999987625
|
||||
hashtable,shuffled,find,0.0001336000000264903
|
||||
hashtable,shuffled,delete,9.610000006432529e-05
|
||||
bintree,shuffled,insert,0.0010454000000663655
|
||||
bintree,shuffled,find,0.0001326000001427019
|
||||
bintree,shuffled,delete,6.990000019868603e-05
|
||||
linklist,sorted,insert,0.007503799999994953
|
||||
linklist,sorted,find,0.0014437999998335727
|
||||
linklist,sorted,delete,0.00084259999994174
|
||||
hashtable,sorted,insert,0.0007637000001068373
|
||||
hashtable,sorted,find,0.00012930000002597808
|
||||
hashtable,sorted,delete,8.37000000046828e-05
|
||||
bintree,sorted,insert,0.0295118999999886
|
||||
bintree,sorted,find,0.00391500000000633
|
||||
bintree,sorted,delete,0.0016846999999415857
|
||||
linklist,shuffled,insert,0.007431100000076185
|
||||
linklist,shuffled,find,0.00140449999980774
|
||||
linklist,shuffled,delete,0.0008401000000048953
|
||||
hashtable,shuffled,insert,0.0007734999999229331
|
||||
hashtable,shuffled,find,0.00012970000011591765
|
||||
hashtable,shuffled,delete,8.58000000789616e-05
|
||||
bintree,shuffled,insert,0.0008287999999083695
|
||||
bintree,shuffled,find,0.00011279999989710632
|
||||
bintree,shuffled,delete,5.8399999943503644e-05
|
||||
linklist,sorted,insert,0.007470900000043912
|
||||
linklist,sorted,find,0.0013275999999677879
|
||||
linklist,sorted,delete,0.0006739999998899293
|
||||
hashtable,sorted,insert,0.0007560999999896012
|
||||
hashtable,sorted,find,0.00012280000009923242
|
||||
hashtable,sorted,delete,7.559999994555255e-05
|
||||
bintree,sorted,insert,0.028921399999944697
|
||||
bintree,sorted,find,0.0038013999999293446
|
||||
bintree,sorted,delete,0.0016253999999662483
|
||||
linklist,shuffled,insert,0.007392999999865424
|
||||
linklist,shuffled,find,0.001462799999899289
|
||||
linklist,shuffled,delete,0.0009473000000070897
|
||||
hashtable,shuffled,insert,0.0008029999999052961
|
||||
hashtable,shuffled,find,0.00013379999995777325
|
||||
hashtable,shuffled,delete,8.63000000208558e-05
|
||||
bintree,shuffled,insert,0.0010287000000062108
|
||||
bintree,shuffled,find,0.00014250000003812602
|
||||
bintree,shuffled,delete,7.49000000723754e-05
|
||||
linklist,sorted,insert,0.0075411000000258355
|
||||
linklist,sorted,find,0.0014229000000796077
|
||||
linklist,sorted,delete,0.000850200000058976
|
||||
hashtable,sorted,insert,0.0007614000001012755
|
||||
hashtable,sorted,find,0.00012550000019473373
|
||||
hashtable,sorted,delete,8.35999999253545e-05
|
||||
bintree,sorted,insert,0.029133499999943524
|
||||
bintree,sorted,find,0.003761899999972229
|
||||
bintree,sorted,delete,0.0018574000000626256
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
Структура,Режим,Операция,Время (сек)
|
||||
linklist,shuffled,insert,0.007536800000025323
|
||||
linklist,shuffled,find,0.001323599999977887
|
||||
linklist,shuffled,delete,0.0008946000000378262
|
||||
hashtable,shuffled,insert,0.0007929999999305437
|
||||
hashtable,shuffled,find,0.00013159999980416615
|
||||
hashtable,shuffled,delete,7.550000009359792e-05
|
||||
bintree,shuffled,insert,0.0009512999999969907
|
||||
bintree,shuffled,find,0.00012689999994108803
|
||||
bintree,shuffled,delete,6.34000000445667e-05
|
||||
linklist,sorted,insert,0.007563499999832857
|
||||
linklist,sorted,find,0.0014433999999710068
|
||||
linklist,sorted,delete,0.0008566999999857217
|
||||
hashtable,sorted,insert,0.0007736000000022614
|
||||
hashtable,sorted,find,0.00012749999996231054
|
||||
hashtable,sorted,delete,7.869999990361976e-05
|
||||
bintree,sorted,insert,0.029542800000172065
|
||||
bintree,sorted,find,0.003590200000189725
|
||||
bintree,sorted,delete,0.0015743000001293694
|
||||
linklist,shuffled,insert,0.007518300000128875
|
||||
linklist,shuffled,find,0.0013639999999668362
|
||||
linklist,shuffled,delete,0.0009066999998594838
|
||||
hashtable,shuffled,insert,0.000783899999987625
|
||||
hashtable,shuffled,find,0.0001336000000264903
|
||||
hashtable,shuffled,delete,9.610000006432529e-05
|
||||
bintree,shuffled,insert,0.0010454000000663655
|
||||
bintree,shuffled,find,0.0001326000001427019
|
||||
bintree,shuffled,delete,6.990000019868603e-05
|
||||
linklist,sorted,insert,0.007503799999994953
|
||||
linklist,sorted,find,0.0014437999998335727
|
||||
linklist,sorted,delete,0.00084259999994174
|
||||
hashtable,sorted,insert,0.0007637000001068373
|
||||
hashtable,sorted,find,0.00012930000002597808
|
||||
hashtable,sorted,delete,8.37000000046828e-05
|
||||
bintree,sorted,insert,0.0295118999999886
|
||||
bintree,sorted,find,0.00391500000000633
|
||||
bintree,sorted,delete,0.0016846999999415857
|
||||
linklist,shuffled,insert,0.007431100000076185
|
||||
linklist,shuffled,find,0.00140449999980774
|
||||
linklist,shuffled,delete,0.0008401000000048953
|
||||
hashtable,shuffled,insert,0.0007734999999229331
|
||||
hashtable,shuffled,find,0.00012970000011591765
|
||||
hashtable,shuffled,delete,8.58000000789616e-05
|
||||
bintree,shuffled,insert,0.0008287999999083695
|
||||
bintree,shuffled,find,0.00011279999989710632
|
||||
bintree,shuffled,delete,5.8399999943503644e-05
|
||||
linklist,sorted,insert,0.007470900000043912
|
||||
linklist,sorted,find,0.0013275999999677879
|
||||
linklist,sorted,delete,0.0006739999998899293
|
||||
hashtable,sorted,insert,0.0007560999999896012
|
||||
hashtable,sorted,find,0.00012280000009923242
|
||||
hashtable,sorted,delete,7.559999994555255e-05
|
||||
bintree,sorted,insert,0.028921399999944697
|
||||
bintree,sorted,find,0.0038013999999293446
|
||||
bintree,sorted,delete,0.0016253999999662483
|
||||
linklist,shuffled,insert,0.007392999999865424
|
||||
linklist,shuffled,find,0.001462799999899289
|
||||
linklist,shuffled,delete,0.0009473000000070897
|
||||
hashtable,shuffled,insert,0.0008029999999052961
|
||||
hashtable,shuffled,find,0.00013379999995777325
|
||||
hashtable,shuffled,delete,8.63000000208558e-05
|
||||
bintree,shuffled,insert,0.0010287000000062108
|
||||
bintree,shuffled,find,0.00014250000003812602
|
||||
bintree,shuffled,delete,7.49000000723754e-05
|
||||
linklist,sorted,insert,0.0075411000000258355
|
||||
linklist,sorted,find,0.0014229000000796077
|
||||
linklist,sorted,delete,0.000850200000058976
|
||||
hashtable,sorted,insert,0.0007614000001012755
|
||||
hashtable,sorted,find,0.00012550000019473373
|
||||
hashtable,sorted,delete,8.35999999253545e-05
|
||||
bintree,sorted,insert,0.029133499999943524
|
||||
bintree,sorted,find,0.003761899999972229
|
||||
bintree,sorted,delete,0.0018574000000626256
|
||||
linklist,shuffled,insert,0.007443800000146439
|
||||
linklist,shuffled,find,0.0013801000000057684
|
||||
linklist,shuffled,delete,0.0007808999998815125
|
||||
hashtable,shuffled,insert,0.0007526000001689681
|
||||
hashtable,shuffled,find,0.00012589999982992595
|
||||
hashtable,shuffled,delete,8.610000008957286e-05
|
||||
bintree,shuffled,insert,0.0008611999999175168
|
||||
bintree,shuffled,find,0.00012399999991430377
|
||||
bintree,shuffled,delete,6.400000006578921e-05
|
||||
linklist,sorted,insert,0.007548199999973804
|
||||
linklist,sorted,find,0.0014118999999936932
|
||||
linklist,sorted,delete,0.000922799999898416
|
||||
hashtable,sorted,insert,0.0007697999999436433
|
||||
hashtable,sorted,find,0.00013519999993150122
|
||||
hashtable,sorted,delete,8.330000014211691e-05
|
||||
bintree,sorted,insert,0.02982120000001487
|
||||
bintree,sorted,find,0.003640599999926053
|
||||
bintree,sorted,delete,0.0017277000001740817
|
||||
|
139
ProninVV/aufgabe-1-data-structures/test.py
Normal file
139
ProninVV/aufgabe-1-data-structures/test.py
Normal file
|
|
@ -0,0 +1,139 @@
|
|||
from aufg1 import *
|
||||
import time
|
||||
import random
|
||||
import sys
|
||||
import csv
|
||||
|
||||
sys.setrecursionlimit(20000)
|
||||
|
||||
def phone_number_generate():
|
||||
number = "8"
|
||||
text = "0123456789"
|
||||
for i in range(10):
|
||||
char = random.choice(text)
|
||||
number += char
|
||||
return number
|
||||
|
||||
def create_data(n=100):
|
||||
|
||||
""" создаем сразу обычный массив и остортированный """
|
||||
|
||||
records_sorted = []
|
||||
for i in range(n):
|
||||
name = f"User_{i:05d}"
|
||||
phone = phone_number_generate()
|
||||
records_sorted.append((name, phone))
|
||||
|
||||
records_shuffled = records_sorted[:]
|
||||
random.shuffle(records_shuffled)
|
||||
return records_sorted, records_shuffled
|
||||
|
||||
|
||||
def run_expirement(epoch=1, elements=1000):
|
||||
|
||||
""" распределяем данные по трем структурам данных
|
||||
тестируем время операций (вставки, удаления, перебора) и записываем полученные результаты в файл """
|
||||
|
||||
header = ["Структура", "Режим", "Операция", "Время (сек)"]
|
||||
results = [header]
|
||||
|
||||
for j in range(epoch):
|
||||
print(f"эпоха - {j+1}")
|
||||
# создаем данные
|
||||
records_sorted, records_shuffled = create_data(elements)
|
||||
|
||||
datasets = [
|
||||
("shuffled", records_shuffled),
|
||||
("sorted", records_sorted)]
|
||||
# сразу будем обрабатывать и случайны и отсортированный данные
|
||||
for label, arr in datasets:
|
||||
|
||||
linklist = None
|
||||
hashtab = hash_table(elements)
|
||||
bintree = None
|
||||
# заполнение связного списка
|
||||
start = time.perf_counter()
|
||||
for p in arr:
|
||||
linklist = ll_insert(linklist, p[0], p[1])
|
||||
end = time.perf_counter()
|
||||
results.append(["linklist", label, "insert", end-start])
|
||||
|
||||
# поиск 110 имен в связном списке
|
||||
# несуществующие данные
|
||||
nonedata = [(f"None_{i}", phone_number_generate()) for i in range(10)]
|
||||
# случайная комбинация
|
||||
chaossample = random.sample(arr, 100) + nonedata
|
||||
start = time.perf_counter()
|
||||
for p in chaossample:
|
||||
ll_find(linklist, p[0])
|
||||
end = time.perf_counter()
|
||||
results.append(["linklist", label, "find", end-start])
|
||||
|
||||
# удаление 50 имен в св писке
|
||||
deldata = random.sample(arr, 50)
|
||||
start = time.perf_counter()
|
||||
for p in deldata:
|
||||
ll_delete(linklist, p[0])
|
||||
end = time.perf_counter()
|
||||
results.append(["linklist", label, "delete", end-start])
|
||||
|
||||
# заполнение хэш-тфблицы
|
||||
start = time.perf_counter()
|
||||
for p in arr:
|
||||
ht_insert(hashtab, p[0], p[1])
|
||||
end = time.perf_counter()
|
||||
results.append(["hashtable", label, "insert", end-start])
|
||||
|
||||
# поиск 110 имен в хэш таблице
|
||||
# несуществующие данные
|
||||
nonedata = [(f"None_{i}", phone_number_generate()) for i in range(10)]
|
||||
# случайная комбинация
|
||||
chaossample = random.sample(arr, 100) + nonedata
|
||||
start = time.perf_counter()
|
||||
for p in chaossample:
|
||||
ht_find(hashtab, p[0])
|
||||
end = time.perf_counter()
|
||||
results.append(["hashtable", label, "find", end-start])
|
||||
|
||||
# удаление 50 имен в хэш таблице
|
||||
deldata = random.sample(arr, 50)
|
||||
start = time.perf_counter()
|
||||
for p in deldata:
|
||||
ht_delete(hashtab, p[0])
|
||||
end = time.perf_counter()
|
||||
results.append(["hashtable", label, "delete", end-start])
|
||||
|
||||
# заполнение дерева
|
||||
start = time.perf_counter()
|
||||
for p in arr:
|
||||
bintree = bst_insert(bintree, p[0], p[1])
|
||||
end = time.perf_counter()
|
||||
results.append(["bintree", label, "insert", end-start])
|
||||
|
||||
# поиск 110 имен в дереве
|
||||
# несуществующие данные
|
||||
nonedata = [(f"None_{i}", phone_number_generate()) for i in range(10)]
|
||||
# случайная комбинация
|
||||
chaossample = random.sample(arr, 100) + nonedata
|
||||
start = time.perf_counter()
|
||||
for p in chaossample:
|
||||
bst_find(bintree, p[0])
|
||||
end = time.perf_counter()
|
||||
results.append(["bintree", label, "find", end-start])
|
||||
|
||||
# удаление 50 имен в дереве
|
||||
deldata = random.sample(arr, 50)
|
||||
start = time.perf_counter()
|
||||
for p in deldata:
|
||||
bst_delete(bintree, p[0])
|
||||
end = time.perf_counter()
|
||||
results.append(["bintree", label, "delete", end-start])
|
||||
|
||||
filename = f"results/timedata_{elements}_epochs_{j+1}.csv"
|
||||
with open(filename, mode='w', encoding='utf-8', newline='') as file:
|
||||
writer = csv.writer(file)
|
||||
writer.writerows(results)
|
||||
|
||||
|
||||
|
||||
run_expirement(epoch=5, elements=10000)
|
||||
Loading…
Reference in New Issue
Block a user