Rápido tipo (6 / 7 paso)

Paso 6: Aplicación de quick_sort

Fondo

Ahora que hemos escrito la función que hace la mayor parte de la obra, nos podemos llegar a la parte fácil. Nuestra función de quick_sort es muy fácil de entender y se basa en la idea que queremos hacer como poco trabajo como sea posible a nosotros mismos.

Nuestra primera pregunta es: ¿Qué es la matriz más sencilla para ordenar? En mi opinión, es uno con un solo elemento. Si me dan un número, yo puedo ordenar al instante. Vamos a trabajar con esta noción, escriba quick_sort.

Objetivo

Queremos romper el trabajo usando la función qs_partition para nunca tengas que hacer ningún trabajo real.

Pasos

1) primero a ver si podemos evitar trabajo en conjunto. Si nuestro límite izquierdo es menor que el límite derecho, tenemos trabajo que hacer, lamentablemente. Si nuestro límite izquierdo es lo mismo que el límite derecho, la sección que estamos clasificando es sólo un elemento. Si es superior a la derecha, nos encontramos en un estado de error.

2) nuestra próxima estrategia de la evitación del trabajo es decirle a otras personas a hacerlo. Nos a qs_partition y recibe el pivote Índice que se utiliza. Como sabéis desde el último paso, nada en la matriz antes de este índice es menor o igual al valor en el pivote. Después todo es mayor que el pivote.

3) ¿Qué significa eso? Significa que si clasificamos todo antes del pivote y todo después de la pivote, tenemos un arreglo ordenado, porque el pivote ya se encuentra en el lugar correcto. Así que eso haremos. ¿Sabemos que cualquier clasificación algoritmos? Tenemos quick_sort.

Informe

Parece que podemos llegar lejos con no hacer ningún trabajo real. Verás que si llamamos a quick_sort, resulta en dos más llamadas de quick_sort , uno a cada lado de nuestro pivote. Este comportamiento de ramificación continuará hasta que cada llamada se ejecuta en una matriz que es sólo un elemento. Puesto que se ordena un array de un elemento, se ordena toda nuestra matriz.

Artículos Relacionados

Volverse viejo cortacésped Walmart Briggs podadora camino bestial

Volverse viejo cortacésped Walmart Briggs podadora camino bestial

Video de la acción: http://youtu.be/y8TV1NaiLzM (lo siento por el proyecto de la zanja de Blair calidad video hahhaa. Tengo un montón de camino a cortar, así que hacer otro video, en luz del día y le permiten disfrutar de ella más adelante.)Acción ví
Comunicador de Star Trek de un ratón desechado

Comunicador de Star Trek de un ratón desechado

Imagine que es capaz, incluso como un niño, para construir su propio comunicador de Star Trek con chirp y hablar detrás funcionalidad. Impresionante!Y al mismo tiempo reciclar el cuerpo de un ratón de ordenador desechado y aprender lo que puedes hace
Construir una misión que resolver (o tres)

Construir una misión que resolver (o tres)

siempre he ha gustado la simplicidad de líneas y subestimado la elegancia de los muebles de los artes y oficios / Misión período de diseño de muebles (mayor parte de él, de todos modos).   Me di cuenta desde el principio sin embargo, que la única man
No se puede conectar a internet juego HACK

No se puede conectar a internet juego HACK

Apuesto a que casi todos ustedes que están leyendo esta página hemos visto que no se puede conectar a la página de internet con ese dinosaurio pequeño.Y tal vez cerca de la mitad de ustedes sabe sobre el juego que se esconde en esa página. En esa pág
Robot rastreador de objeto usando CV

Robot rastreador de objeto usando CV

Este es un proyecto que hemos realizado para nuestra clase de robótica. Utiliza OpenCV para rastrear la ubicación de objetos por color. A continuación información de ubicación se traduce en comandos que el robot a un destino verde a través de un micr
Cómo programar utilizando MSW Logo

Cómo programar utilizando MSW Logo

actualización: nuevo archivo caja impresionante. REVISIÓN V2.9Actualización julio 30.2009: impresionante caja archivo versión 3.0 agregadasActualización Agosto 16,2009: añadido captura de pantalla de impresionante caja V3.0Este instructable le mostra
Juego Sonic y Baby avaricia Vengadores GX la subida del caos fusión de ideas

Juego Sonic y Baby avaricia Vengadores GX la subida del caos fusión de ideas

Sonic y Baby avaricia Vengadores GX el aumento de la fusión de caosIncompletaSonic y Baby avaricia Vengadores GX el aumento de la fusión de caosPronunciado un juego en línea en todo el mundo y juego offline también se pronuncia Sonic y avaricia Venga
Detiene cualquier tipo de picazón rápido!

Detiene cualquier tipo de picazón rápido!

Aplicando calor con un secador de pelo común genera dolor que neutraliza cualquier picor al instante. Dolor se detiene tan pronto como se elimina el calor y el picor se ha ido. Trabaja dondequiera en el cuerpo, incluyendo áreas privadas.
TIPOGRAFÍA tipo del corte del LASER

TIPOGRAFÍA tipo del corte del LASER

Aquí es un tutorial rápido de las clases para alguien que tiene acceso a un cortador láser y quiere crear su propio tipo de madera de la prensa de copiar.Paso 1: Cortar el tipo En primer lugar no lo hago cada vez que escribo que es corte láser ellos
Cómo construir tu todo realmente muy rápido

Cómo construir tu todo realmente muy rápido

hace unos años escribí un breve documento sobre los métodos para fabricar rápidamente elementos de sistemas mecánicos titulado Cómo construir su Robot realmente muy rápido. Se atiende a estudiantes del MIT 2.007 introducción diseño y fabricación de c
Guía de revisión de WinXP: Cómo hacerlo como Vista, corre como rayo y estancia productiva, más rápido y suave

Guía de revisión de WinXP: Cómo hacerlo como Vista, corre como rayo y estancia productiva, más rápido y suave

esta guía (pero no el filepack) se ha actualizado a partir del 19/11/08. Planeo subir un filepack renovado esta semana que incluirá la información actualizada y los archivos más nuevos de la versión. Si usted miró esto cuando primero fue lanzado, pue
¿Al entrar en Forbes enseñar Me rápido concurso

¿Al entrar en Forbes enseñar Me rápido concurso

¿qué es la cosa más fresca y más interesante que puede explicar en un video de 30 segundos o menos? Queremos saber y averiguar Instructables es asociándose con Forbes por el enseñar Me rápido concurso!Para concursar es necesario presentar 30-segundo
Banco de trabajo de carpintería: Robusto, barato y rápido de construir

Banco de trabajo de carpintería: Robusto, barato y rápido de construir

Mi makerspace necesita un banco de trabajo adecuado para trabajar la madera por lo que se ofreció a construir uno. He construido un par de bancos en el pasado y tuve una idea de lo que podría trabajar en un taller comunal. Yo sabía que quería un banc
Rápido llenado cañón de patatas montado sobre tractor Kubota

Rápido llenado cañón de patatas montado sobre tractor Kubota

este cañón de patatas tiene un sistema único de válvula unidireccional que permite el combustible (propulsor) en la cámara de combustión y evita que los gases explosivos escape hacia fuera a través de la válvula.  El cañón puede ser reaprovisionado d