beillesztés Rendezés JavaScript-ben

beszúrás rendezés java-ban

beszúrás rendezés java

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ú.

 beillesztés Rendezés JavaScript-ben

beillesztés Rendezés JavaScript-ben

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:

beillesztés Rendezés JavaScript-ben-1.1

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.

 típusok

típusok

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–

  1. minták a JavaScript-ben
  2. Case utasítás a JavaScript-ben
  3. feltételes utasítások a JavaScript-ben
  4. JavaScript objektumok
  5. Beszúrás Rendezés A C++ – ban / hogyan kell végrehajtani?
0 részvények

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.