Insertion sorting has two types: simple insertion sorting and Hill sorting. The time complexity of simple insertion sorting is [O(N2) stable sorting], and the time complexity of Hill sorting is [and incremental sequence. Select related, non-stable sorting].
Insertion sort
Simple insertion sort
Put the group to be sorted The sequence is divided into two parts: sorted and unsorted. In the initial state, the sorted sequence only contains the first element, and the elements in the unsorted sequence are N-1 elements except the first one; thereafter there will be no The elements in the sorted sequence are inserted into the sorted sequence one by one. In this way, after N-1 insertions, the number of elements in the unsorted sequence is 0, then the sorting is completed
Time complexity: O(N2) Stable sorting
Hill sorting
Divide a set of elements to be sorted into several sequences at certain intervals, and perform insertion sorting respectively. The "interval" set at the beginning is larger, and the interval is gradually reduced in each round of sorting, until the "interval" is 1, that is, the last step is to perform simple insertion sorting
Time complexity: and increment The selection of sequences is related to unstable sorting
The above is the detailed content of What is insertion sort?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

SublimeText3 English version
Recommended: Win version, supports code prompts!

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver CS6
Visual web development tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Mac version
God-level code editing software (SublimeText3)
