Üdvözlöm, Ön a
beszúrásos rendezés szó jelentését keresi. A DICTIOUS-ban nem csak a
beszúrásos rendezés szó összes szótári jelentését megtalálod, hanem megismerheted az etimológiáját, a jellemzőit és azt is, hogyan kell a
beszúrásos rendezés szót egyes és többes számban mondani. Minden, amit a
beszúrásos rendezés szóról tudni kell, itt található. A
beszúrásos rendezés szó meghatározása segít abban, hogy pontosabban és helyesebben fogalmazz, amikor beszélsz vagy írsz. A
beszúrásos rendezés és más szavak definíciójának ismerete gazdagítja a szókincsedet, és több és jobb nyelvi forráshoz juttat.
Kiejtés
Főnév
beszúrásos rendezés
- (matematika, algoritmusok) A beszúrásos rendezés egy egyszerű, de hatékony rendezési algoritmus, amely kis méretű adathalmazok esetén jól működik. Az algoritmus úgy működik, hogy az elemeket egyenként veszi fel egy rendezett részhalmazba, miközben minden új elemet a megfelelő helyre szúr be, hogy az aktuális részhalmaz mindig rendezett maradjon.
Elméleti működés
Algoritmus lépései:
- Kezdjük a lista második elemével, mivel az első elem önmagában rendezettnek tekinthető.
- Vegyük az aktuális elemet (kulcs), és hasonlítsuk össze a bal oldali elemekkel.
- Mozgassuk azokat az elemeket, amelyek nagyobbak a kulcsnál, egy pozícióval jobbra.
- Helyezzük be a kulcsot a megfelelő pozícióba.
- Ismételjük a folyamatot a lista végéig.
Tulajdonságok
- Időkomplexitás:
- Legrosszabb eset: (O(n^2)) (ha a lista fordított sorrendű).
- Legjobb eset: (O(n)) (ha a lista már rendezett).
- Térkomplexitás: (O(1)) (helyben működik, nincs szükség extra memóriára).
- Stabilitás: Stabil (azonos értékek sorrendje nem változik).
Pszeudokód
InsertionSort(A):
n = A hossz
ciklus i = 1-től n-1-ig:
kulcs = A
j = i - 1
amíg j >= 0 és A > kulcs:
A = A
j = j - 1
A = kulcs
Python implementáció
def insertion_sort(arr):
for i in range(1, len(arr)):
key = arr
j = i - 1
# Mozgassuk a nagyobb elemeket jobbra
while j >= 0 and arr > key:
arr = arr
j -= 1
# Helyezzük be a kulcsot a megfelelő helyre
arr = key
# Példa
data =
insertion_sort(data)
print("Rendezett tömb:", data)
# Kimenet: Rendezett tömb:
C++ implementáció
#include <iostream>
#include <vector>
using namespace std;
void insertionSort(vector<int>& arr) {
int n = arr.size();
for (int i = 1; i < n; ++i) {
int key = arr;
int j = i - 1;
// Mozgassuk a nagyobb elemeket jobbra
while (j >= 0 && arr > key) {
arr = arr;
--j;
}
// Helyezzük be a kulcsot a megfelelő helyre
arr = key;
}
}
int main() {
vector<int> data = {12, 11, 13, 5, 6};
insertionSort(data);
cout << "Rendezett tömb: ";
for (int num : data) {
cout << num << " ";
}
cout << endl;
return 0;
}
Összegzés
A beszúrásos rendezés egyszerűsége miatt népszerű, különösen oktatási célokra. Kis adathalmazokon hatékony, és mivel helyben működik, memóriahasználata minimális. Nagyobb adathalmazokon azonban más rendezési algoritmusok, például a gyorsrendezés vagy a merge sort, hatékonyabbak.
Fordítások