logo

Algorismes d'ordenació

A Algorisme d'ordenació s'utilitza per reordenar una matriu o llista d'elements determinada segons un operador de comparació dels elements. L'operador de comparació s'utilitza per decidir el nou ordre dels elements en l'estructura de dades respectiva.

cadena a int

Per exemple: La llista de caràcters següent s'ordena en ordre creixent dels seus valors ASCII. És a dir, el caràcter amb un valor ASCII menor es col·locarà primer que el caràcter amb un valor ASCII més alt.



Taula de contingut

Què és la classificació?

Classificació es refereix a la reordenació d'una matriu determinada o llista d'elements segons un operador de comparació dels elements. L'operador de comparació s'utilitza per decidir el nou ordre dels elements en l'estructura de dades respectiva. Ordenar significa reordenar tots els elements ja sigui en ordre ascendent o descendent.

llocs com ara bedpage

Terminologia d'ordenació:

  • Classificació al lloc: S'utilitza un algorisme d'ordenació in situ espai constant per produir la sortida (només modifica la matriu donada). Ordena la llista només modificant l'ordre dels elements dins de la llista. Exemples: Ordenació de selecció, Ordenació de bombolles Ordenació d'inserció i Ordenació de pila.
  • Classificació interna: L'ordenació interna és quan totes les dades es col·loquen al fitxer memòria principal o memòria interna . En l'ordenació interna, el problema no pot prendre entrada més enllà de la seva mida. Exemple: ordenació de pila, classificació de bombolles, ordenació de selecció, ordenació ràpida, ordenació de shell, ordenació d'inserció.
  • Classificació externa: L'ordenació externa és quan totes les dades que cal ordenar no es poden col·locar a la memòria alhora, l'ordenació s'anomena ordenació externa. L'ordenació externa s'utilitza per a la quantitat massiva de dades. Exemples: ordenació combinada, ordenació d'etiquetes, ordenació polifàsica, classificació de quatre cintes, ordenació de base externa, etc.
  • Classificació estable: Quan apareixen dues mateixes dades al mateix ordre a les dades ordenades sense canviar la seva posició s'anomena ordenació estable. Exemples: Ordenació combinada, Ordenació per inserció, Ordenació bombolla.
  • Classificació inestable: Quan apareixen dues mateixes dades al diferents ordre a les dades ordenades s'anomena ordenació inestable. Exemples: ordenació ràpida, classificació de pila, classificació de Shell .

Característiques dels algorismes d'ordenació:

  • Complexitat temporal: La complexitat del temps, una mesura del temps que triga a executar un algorisme, s'utilitza per categoritzar els algorismes d'ordenació. El rendiment del pitjor, del cas mitjà i del millor dels casos d'un algorisme d'ordenació es pot utilitzar per quantificar la complexitat temporal del procés.
  • Complexitat espacial: Els algorismes d'ordenació també tenen complexitat espacial, que és la quantitat de memòria necessària per executar l'algorisme.
  • Estabilitat: Es diu que un algorisme d'ordenació és estable si es conserva l'ordre relatiu d'elements iguals després de l'ordenació. Això és important en determinades aplicacions on s'ha de mantenir l'ordre original d'elements iguals.
  • Classificació al lloc: Un algorisme d'ordenació in situ és aquell que no requereix memòria addicional per ordenar les dades. Això és important quan la memòria disponible és limitada o quan les dades no es poden moure.
  • Adaptabilitat: Un algorisme d'ordenació adaptativa és aquell que aprofita l'ordre preexistent de les dades per millorar el rendiment.

Aplicacions dels algorismes d'ordenació:

  • Algorismes de cerca: L'ordenació és sovint un pas crucial en algorismes de cerca com la cerca binària, la cerca ternaria, on les dades s'han d'ordenar abans de cercar un element específic.
  • Gestió de dades: L'ordenació de dades facilita la cerca, la recuperació i l'anàlisi.
  • Optimització de bases de dades: L'ordenació de dades a les bases de dades millora el rendiment de les consultes.
  • Aprenentatge automàtic: L'ordenació s'utilitza per preparar dades per entrenar models d'aprenentatge automàtic.
  • Anàlisi de dades: L'ordenació ajuda a identificar patrons, tendències i valors atípics en conjunts de dades. Té un paper vital en l'anàlisi estadística, la modelització financera i altres camps basats en dades.
  • Sistemes operatius: Els algorismes d'ordenació s'utilitzen en sistemes operatius per a tasques com la programació de tasques, la gestió de la memòria i l'organització del sistema de fitxers.

Conceptes bàsics d'algorismes d'ordenació:

  • Introducció a les tècniques d'ordenació - Estructura de dades i tutorials d'algorisme
  • Aplicacions, avantatges i inconvenients de l'algoritme d'ordenació
  • Quin és un exemple real de classificació?
  • Què és l'ordenació a DSA | Classificació del significat

Algorismes d'ordenació:

Implementació de la biblioteca:

Problemes fàcils d'ordenar:

  • Ordena els elements per freqüència
  • Ordena una matriu de 0s, 1s i 2s
  • Ordena els números emmagatzemats en diferents màquines
  • Ordena una matriu en forma d'ona
  • Comproveu si dos intervals es superposen entre un conjunt determinat d'intervals
  • Com ordenar una matriu de dates en C/C++?
  • Ordenació de cadenes mitjançant l'ordenació de bombolles
  • Cerca els elements que falten d'un rang
  • Ordena una matriu segons el nombre de bits establerts
  • Ordena els elements parells en ordre creixent i els senars en ordre decreixent
  • Ordena una matriu quan s'ordenen dues meitats
  • Ordenar nombres enters grans
  • Ordena una llista enllaçada de 0, 1 i 2

Problemes mitjans en l'ordenació:

  • Recompte d'inversions a Array mitjançant Merge Sort
  • Trobeu la longitud mínima Unsorted Subbarray, ordenant la matriu completa
  • Ordena una matriu gairebé ordenada (o ordenada K).
  • Ordena n nombres en el rang de 0 a n^2 – 1 en temps lineal
  • Ordena una matriu segons l'ordre definit per una altra matriu
  • Trobeu el punt on es superposen els intervals màxims
  • Trobeu una permutació que provoqui el pitjor dels casos de Merge Sort
  • Ordena el vector de parells en ordre ascendent en C++
  • Canvis mínims per fer que dues matrius siguin idèntiques
  • Problema de distribució de la xocolata
  • Permuteu dues matrius de manera que la suma de cada parell sigui major o igual a K
  • Ordenació de cubs per ordenar una matriu amb nombres negatius
  • Ordena una matriu en tot ordre creixent
  • Converteix una matriu a forma reduïda utilitzant Vector de parells
  • Triplet de diferència més petita de tres matrius
  • Comproveu si és possible ordenar una matriu amb l'intercanvi condicional d'adjacents permès

Problemes difícils de classificar:

  • Trobeu el recompte de superació de cada element de la matriu
  • Compteu diferents ocurrències com a subseqüència
  • Compteu el nombre mínim de subconjunts (o subseqüències) amb nombres consecutius
  • Escolliu k elements de matriu de manera que la diferència de màxim i mínim es minimitzi
  • Es requereix un intercanvi mínim per convertir l'arbre binari a l'arbre de cerca binari
  • K-è element més petit després d'eliminar alguns nombres enters dels nombres naturals
  • La diferència màxima entre la freqüència de dos elements de manera que l'element que tingui una freqüència més gran també sigui més gran
  • Canvis mínims per arribar a la matriu permutada amb com a màxim 2 posicions permuts permès
  • Esbrineu si és possible fer que els elements de la matriu siguin iguals amb un nombre extern
  • Ordena una matriu després d'aplicar l'equació donada
  • Imprimeix una matriu de cadenes ordenades sense copiar una cadena en una altra

Links ràpids :

  • 'Pràctica de problemes' en l'ordenació
  • 'Quizzes' sobre Ordenació

Recomanat:

  • Apreneu l'estructura de dades i els algorismes | Tutorial DSA