История изменений
Исправление Dudraug, (текущая версия) :
На самом деле там O(log_2(N)), но в силу ограниченности N это одно и то же.
Так, упрощу вопросы. Остальное все сейчас удалю. Мне не надо ответов на другие. Для начала я скажу, что отлично понимаю, что время выполнения и алгоритмическая сложность разные вещи. Что можно хэш считать дольше, чем весь бинарный поиск. Когда я говорил быстрее/медленее я имел в виду именно алгоритмическую сложность. Прошу простить меня за мой кривой термин.
0)Внутри общего алгоритма мы делаем некоторую операцию (сравнение/поиск по хэшу) при O(1) всегда 1 раз, при O(log(n)) от 1 до 64 раз.
1) O(1) - операция (общий поиск) занимает всегда одно и то же время. при 1 элементе сажем 1сек (1 сек допустим занимает 1 подоперация из (0)) и при 2^64 1 сек. Верно?
2) O(log_2(n) означает что время выполнение операции завист от размера даных. при одной операции 1 сек(одна операция в 1сек), при 2^64 - 64 сек(64 операции по секунде). Верно?
3) Бинарное дерево поиска подразумевает сравнение текущей ноды. и обход дерево бинарно откидывая одну из веток.Верно?
4) Не важно какая длина хэша.При бинарном дереве нам все равно придется повторить. 64 операции сравнения прежде чем гарантировнно найти элемент. Верно?
5)
Ну а заявления что это быстрее/медленнее это не более чем Ваши инсинуации, темп доступа и алгоритмическая сложность это две большие разницы.
Вычисли́тельная сло́жность — понятие в информатике и теории алгоритмов, обозначающее функцию зависимости объёма работы, которая выполняется некоторым алгоритмом, от размера входных данных
Быстрее/медленее - это конечно кол-во операций. Само собой при O(1) мы проделываем только вычисление хэша + доступ к элементу. При поиске по бинарному дереву, нам надо проводить операцию сравнения до 64 раз. Получатся в дереве мы делаем одну операцию сравнения при 1 элементе и 64 при 2^64. В хэш таблице мы делаем всегда ОДНУ операцию. Так почему же они оба из твоих слов O(1)? Или ты не это имел в виду и я уже второй день спорю ибо неверно понял посыл?
Исходная версия Dudraug, :
На самом деле там O(log_2(N)), но в силу ограниченности N это одно и то же.
Так, упрощу вопросы. Остальное все сейчас удалю. Мне не надо ответов на другие. Для начала я скажу, что отлично понимаю, что время выполнения и алгоритмическая сложность разные вещи. Что можно хэш считать дольше, чем весь бинарный поиск. Когда я говорил быстрее/медленее я имел в виду именно алгоритмическую сложность. Прошу простить меня за мой кривой термин.
0)Внутри общего алгоритма мы делаем некоторую операцию (сравнение/поиск по хэшу) при O(1) всегда 1 раз, при O(log(n)) от 1 до 64 раз.
1) O(1) - операция (общий поиск) занимает всегда одно и то же время. при 1 элементе сажем 1сек (1 сек допустим занимает 1 подоперация из (0)) и при 2^64 1 сек. Верно?
2) O(log_2(n) означает что время выполнение операции завист от размера даных. при одной операции 1 сек, при 2^64 - 64 сек. Верно?
3) Бинарное дерево поиска подразумевает сравнение текущей ноды. и обход дерево бинарно откидывая одну из веток.Верно?
4) Не важно какая длина хэша.При бинарном дереве нам все равно придется повторить. 64 операции сравнения прежде чем гарантировнно найти элемент. Верно?
5)
Ну а заявления что это быстрее/медленнее это не более чем Ваши инсинуации, темп доступа и алгоритмическая сложность это две большие разницы.
Вычисли́тельная сло́жность — понятие в информатике и теории алгоритмов, обозначающее функцию зависимости объёма работы, которая выполняется некоторым алгоритмом, от размера входных данных
Быстрее/медленее - это конечно кол-во операций. Само собой при O(1) мы проделываем только вычисление хэша + доступ к элементу. При поиске по бинарному дереву, нам надо проводить операцию сравнения до 64 раз. Получатся в дереве мы делаем одну операцию сравнения при 1 элементе и 64 при 2^64. В хэш таблице мы делаем всегда ОДНУ операцию. Так почему же они оба из твоих слов O(1)? Или ты не это имел в виду и я уже второй день спорю ибо неверно понял посыл?