GO_INTERVIEW_LIB Telegram 839
Можно ли добиться от быстрой сортировки времени выполнения O(n log n)

Классическая быстрая сортировка выбирает опорный элемент. Если выбор плохой — например, всегда крайний элемент массива — и массив уже отсортирован (или почти), происходит деградация: один подмассив получает почти все элементы, а другой — почти пустой. Это приводит к дереву рекурсии глубиной n, и итоговая сложность становится O(n²).

Если опорный элемент выбирается случайно, то с высокой вероятностью дерево рекурсии будет сбалансированным. Это даёт среднюю сложность O(n log n), даже на почти отсортированных данных.

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

🐸Библиотека Go для собеса
Please open Telegram to view this post
VIEW IN TELEGRAM



tgoop.com/go_interview_lib/839
Create:
Last Update:

Можно ли добиться от быстрой сортировки времени выполнения O(n log n)

Классическая быстрая сортировка выбирает опорный элемент. Если выбор плохой — например, всегда крайний элемент массива — и массив уже отсортирован (или почти), происходит деградация: один подмассив получает почти все элементы, а другой — почти пустой. Это приводит к дереву рекурсии глубиной n, и итоговая сложность становится O(n²).

Если опорный элемент выбирается случайно, то с высокой вероятностью дерево рекурсии будет сбалансированным. Это даёт среднюю сложность O(n log n), даже на почти отсортированных данных.

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

🐸Библиотека Go для собеса

BY Библиотека Go для собеса | вопросы с собеседований


Share with your friend now:
tgoop.com/go_interview_lib/839

View MORE
Open in Telegram


Telegram News

Date: |

Although some crypto traders have moved toward screaming as a coping mechanism, several mental health experts call this therapy a pseudoscience. The crypto community finds its way to engage in one or the other way and share its feelings with other fellow members. How to create a business channel on Telegram? (Tutorial) How to build a private or public channel on Telegram? In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. Developing social channels based on exchanging a single message isn’t exactly new, of course. Back in 2014, the “Yo” app was launched with the sole purpose of enabling users to send each other the greeting “Yo.”
from us


Telegram Библиотека Go для собеса | вопросы с собеседований
FROM American