Red de conocimiento informático - Aprendizaje de código fuente - Algoritmo de clasificación por inserción

Algoritmo de clasificación por inserción

Los algoritmos de clasificación desempeñan un papel importante en el campo de la programación y se utilizan ampliamente en la recuperación de objetivos, el aprendizaje automático, la computación numérica, el procesamiento de imágenes y otros campos. Para rastrear la fuente, la cuenta oficial de WeChat lanzó especialmente una serie de tweets sobre algoritmos de clasificación clásicos de uso común, para que los amigos puedan tener una comprensión profunda de los principios de implementación de los algoritmos de clasificación y mejorar sus capacidades de programación de MATLAB.

El algoritmo de ordenación por inserción divide la secuencia desordenada en dos partes, una parte es la secuencia que se supone que ha sido organizada y la otra parte es la secuencia restante. Saque los elementos de la secuencia restante e insértelos en la secuencia organizada y compárelos en secuencia para determinar la posición de inserción. Echemos un vistazo a cómo funciona este cálculo.

El proceso de implementación del algoritmo de ordenación por inserción (tomando la ordenación ascendente como ejemplo):

Para una matriz A desordenada de longitud n, suponga que la secuencia A(1) es la secuencia ordenada K, compare A(2) y A(1). Si A (2)

Código Matlab

Programa principal: main.m

El formato es corto;

clc es claro;

A = round(rand(1,8),2);

nA = insertar sort(A);

Disp(['secuencia original: ', num 2 str(A)]);

Disp([' insert sort:', num2 str(nA)]);

Insertar función de clasificación: InsertSort.m

Función A = InsertSort(A)

%Gracias por su atención: entusiastas de matlab

%Insertar código fuente del algoritmo de clasificación

% Autor: entusiastas de matlab

len = longitud (A);

Para w = 1:len-1

% toma un elemento de la secuencia restante y ponlo Se inserta en la nueva secuencia.

Para v = w+1:-1:2

if(A(v)<A(v-1))

%if Si el nuevo elemento es más pequeño que el elemento en la posición de inserción, se intercambia.

tmp = A(v-1);

A(v-1)= A(v);

a(v)= tmp;

Otro

% o mantener la posición sin cambios.

Interrupción;

Fin

Fin

Fin