Він підійде до кожного елемента, спробує поставити його в потрібне місце, знайде, що він уже в потрібному місці, і піде далі. Це буде O(N). Зовнішній цикл запускатиметься «N-1» разів (від другої клавіші до останньої клавіші), а внутрішній цикл не запускатиметься жодного разу (оскільки ключі рівні). Отже, час роботи буде O(N).23 листопада 2017 року
Зазвичай вважається, що час виконання сортування вставкою, коли всі елементи рівні O(n), де 'n' — кількість елементів у вхідному масиві.
Середній час виконання алгоритму сортування вставкою становить O(n^2). Це відбувається, коли вхідний масив упорядкований у випадковому порядку, і кожен елемент потрібно перемістити в правильне положення, зсуваючи всі більші елементи вправо.
Це може статися, якщо опорна точка є найменшим або найбільшим елементом у списку, або в деяких реалізаціях (наприклад, схема розділення Lomuto, як описано вище), коли всі елементи рівні. , тому в цьому випадку швидке сортування займає O(n2) час.
Коли всі елементи рівні будівлі купа робить O(n) кроків. Тому що коли елемент додається до купи після одного порівняння O(1), ми бачимо, що він знаходиться у правильному положенні. Видалення кореня також є O(1), коли ми міняємо місцями хвіст і корінь, властивість купи все ще виконується.
Аналіз складності сортування вставленням Таким чином, алгоритм сортування вставкою охоплює часову складність O(n2) і складність простору O(1), оскільки це вимагає додаткового простору пам’яті для ключової змінної для виконання обмінів.