
Bevezetés a Beszúrás Rendezés JavaScript
válogatás az egyik fontos fogalmak, hogy a programozók megtanulják kezdeni útjukat a számítástechnika függetlenül a programozási nyelv kiválasztott tanulni. A rendezés segítségével gyorsabban és kényelmesen megtalálhatjuk a keresni kívánt céladatokat, növekvő vagy csökkenő sorrendben rendezve őket.
rendezési algoritmusokat használnak az elemek átrendezésére, ahol egy elem lehet szám vagy karakterlánc. Sokféle rendezési algoritmus létezik a rendezési módszerük és az elemek rendezéséhez követett megközelítés alapján, és mindegyik típusnak megvannak a maga előnyei és hátrányai.
indítsa el az ingyenes szoftverfejlesztési tanfolyamot
Webfejlesztés, programozási nyelvek, szoftvertesztelés & egyéb
ebben a blogban a beillesztési rendezésre fogunk összpontosítani, egy közös rendezésre, amely könnyen érthető és megvalósítható.
mi a beillesztési rendezés a JavaScript – ben?
Insertion Sort egy egyszerű, könnyen érthető az algoritmus, amely működik a legjobban egy kis adatlista rendezésével minden eleme az adatlista egyenként balról jobbra irányba. Az is ismert, mint egy összehasonlítás sort, ahol összehasonlítja az aktuális értéket a többi érték ugyanazon adatok listáját, hogy éppen rendezve. Iteratív megközelítést követ, hogy az egyes elemeket a megfelelő sorrendbe helyezze az adatlistában.
minél több időt vesz igénybe egy algoritmus rendezése, annál rosszabbnak mondják a teljesítményét, és egy másik algoritmust kell figyelembe venni az adatok rendezéséhez. A beszúrási rendezés időbeli összetettsége O (n2), vagy másodfokú időt fut az adatlista rendezéséhez a legrosszabb esetben. Ez általában nem túl hatékony, és nem szabad nagy listákhoz használni. Általában azonban felülmúlja a fejlett algoritmusokat, például a quicksort vagy a mergesort kisebb listákon.
Beszúrási rendezés, az idő nagy részében hatékonyabb, mint más másodfokú rendezési algoritmusok, például buborék rendezés vagy kiválasztási rendezés. Legjobb esetben az idő O (n) vagy lineáris, amely akkor fordul elő, ha a bemeneti tömb már rendezve van. Átlagosan a beszúrási rendezés futási ideje továbbra is másodfokú.

az alábbi példában egy egyszerű, magas szintű megközelítést fogunk alkalmazni a tömb adatstruktúrájában tárolt adatok rendezésére, és annak rendezési módszerét használjuk az adatok rendezésére algoritmusok végrehajtása nélkül.
példa-beillesztési rendezési algoritmus
Kód:
<!DOCTYPE html>
<html>
<body>
</body>
<script>
// Declaring unsorted data and storing it in array data structure
var dataArray = // Function - Insertion Sort Algo.
function insertSort(unsortedData) {
for (let i = 1; i < unsortedData.length; i++) {
let current = unsortedData;
let j;
for(j=i-1; j >= 0 && unsortedData > current;j--) {
unsortedData = unsortedData}
unsortedData = current;
}
return unsortedData;
}
// print sorted array
console.log(insertSort(dataArray));
</script>
</html>
kimenet:
magyarázat: Az algoritmusban 2-et valósítottunk meg hurkokhoz, a külső for hurok az, hogy iterálja a tömb elemeit, a belső for hurok pedig a tömb elemek értékük növekvő sorrendjében történő rendezésére szolgál. Az aktuális változó tartja a tömb aktuális értékét, a j változó pedig egy értékkel kisebb, mint a tömb aktuális indexpozíciója. Ellenőrizzük, hogy az aktuális elem (current) kisebb-e, mint a tömb értéke a J-edik pozícióban (unsortteddata), és ha igaz, akkor rendezzük ezeket az értékeket.
1. iteráció-áram (96) :
Iteráció 2-áram (5) :
Iteráció 3-aktuális (42) :
iteráció 4-aktuális (1) :
iteráció 5-aktuális (6) :
iteráció 6-aktuális (37) :
iteráció 7-aktuális (21) :
a hurok iterációjának külső része az 1. indexpozíciónál kezdődik, mivel a legkisebb elemet a bal oldalra akarjuk mozgatni, ezért összehasonlítjuk, hogy az aktuális elem kisebb-e, mint a bal oldali elemek.
rendezési típusok
az adatok rendezéséhez használt algoritmusok típusai az adatok rendezésének megközelítésében a következő fogalmakat vagy ötleteket foglalják magukban:
- összehasonlítás a nem összehasonlításon alapuló stratégiákkal szemben,
- iteratív versus rekurzív megvalósítás,
- Divide-and-Conquer paradigma (ez vagy az),
- véletlenszerű megközelítés.
Vegyünk néhány példát:
1. Merge sort használ divide-and-conquer megközelítés rendezni elemek egy tömbben.
2. Beszúrási rendezés, a buborék rendezés összehasonlításon alapuló rendezés.

az adatok rendezésekor könnyebb lesz optimális megoldást találni az összetett problémákra. például,
- egy adott érték keresése,
- a minimális vagy a maximális érték megkeresése,
- egyediség tesztelése és Duplikátumok törlése,
- számolás, hányszor jelent meg egy adott érték, stb.
következtetés
ebben a cikkben áttekintettük a beszúrási rendezés meghatározását és annak időbeli összetettségét, valamint számos más rendezési algoritmustípust a megközelítésük alapján. A különféle rendezési algoritmusok tanulmányozása segít azonosítani, hogy melyik alkalmasabb bizonyos körülmények között, vagy olyan esetekben, amelyek segítenek az adatok gyorsabb rendezésében.
ajánlott cikkek
ez egy útmutató a JavaScript beillesztéséhez. Itt megvitatjuk, hogy mi a beillesztési rendezés a javascript-ben, illetve annak típusai példával. További információkért tekintse meg a következő cikkeket is–
- minták a JavaScript-ben
- Case utasítás a JavaScript-ben
- feltételes utasítások a JavaScript-ben
- JavaScript objektumok
- Beszúrás Rendezés A C++ – ban / hogyan kell végrehajtani?