Оптимальное бинарное дерево поиска — TimeComplexity

Оптимальное бинарное дерево поиска — TimeComplexity

Итак, что действительно заставило меня споткнуться здесь, так это то, что когда я пытался вычислить временную сложность этого алгоритма, меня смутил тот факт, что есть 3 цикла, которые заставили бы меня поверить, что операции O (n ^ 3), но дело в том, что средняя петля уменьшается по мере увеличения внешней петли, а самая внутренняя петля увеличивается по мере уменьшения средней петли. Я бы предположил, что это общий алгоритм O (n ^ 2), но он все еще кажется O (n ^ 3) из-за 3 вложенных циклов. При подсчете количества операций во время выполнения кода я получаю подсчет где-то между O (n ^ 2) и O (n ^ 3), что еще больше разочаровывает...

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
224
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я что-то пробовал, хотелось бы услышать какие-то исправления, прошло некоторое время с моего курса алгоритма :)

Time complexity solving

The Sigma is for every loop. notice how it's becoming a multiply when there is no dependency on the variable

Последний шаг кажется неправильным: Sigma (n-d)(d+1) = n Sigma (d+1) - Sigma d(d+1). Первый член равен (n^3)/2, второй — (n^3)/3, и кубики не обращаются в нуль.

user58697 21.05.2019 21:11

В этом посте было действительно хорошо сказано, чтобы понять концепцию, которая была основной целью поста, я полагаю, что большинство людей поймут последний шаг, и поэтому я назначу это как ответ. Огромное спасибо за помощь!

CoffeDev 24.05.2019 15:42

Другие вопросы по теме