Este día solo vengo de rapido para postear algunos programas que he estado haciendo de tareas en la escuela. Y pues lo hago de rápido ya que mañana tengo examen de desarrollo de proyectos y sinceramente no he estudiado nada :S jeje así que pues aquí esta algo rápido.

Este es el ordenamiento Quick Sort (en español ordenamiento rápido) y como su nombre lo indica, es el ordenamiento más eficiente y eficaz de todos, y por obviedad el más rápido. Este es un algoritmo algo sencillo, una vez que entiendes el tema de recursividad, se te hará fácil entender su funcionamiento.

Vamos con la explicación rápida:

  1. El vector desordenado es enviado a la función “quicksort()”
  2. Al llegarle el vector a la función, se toma el primer elemento del vector (o cualquiera; Nota: en nuestro caso tomamos el primero) y se considera ese elemento como “pivote” o “comodín”.
  3. Después se recorre todo el vector; durante el recorrido, se va buscando los numeros menores que el pivote, sí el elemento del vector en una vuelta es menor que el pivote, entonces se manda a la izquierda del pivote, de lo contrario no se hace nada. Esto provocará que después de recorrer todo el vector, todos los elementos menores que el pivote quedarán a la izquierda de este y los mayores al pivote a la derecha.
  4. Se envía recursivamente la mitad izquierda del vector (números menores que el pivote sin tomar en cuenta el mismo pivote) a la función quicksort
  5. Se envía recursivamente la mitad derecha del vector (números mayores que el pivote sin tomar en cuenta el mismo pivote) a la función quicksort

Pero una imagen dice más que mil palabras:

Y este es el código:
Leer articulo completo »

Que onda.

Continuando con los métodos de ordenamiento (y aprovechando que me los están dejando de tarea jaja) aquí les traigo el Ordenamiento Shell.

Este es una “version mejorada” del ordenamiento por burbuja, ya que también compara dos valores del vector y dependiendo de si uno es mayor que el otro, se intercambian. En si lo que hace el método Shell es, primeramente semiordenar el vector, para despues ordenarlo de bien a bien.

Veamos su funcionamiento:

  1. Únicamente al inicio se obtiene el numero de salto (largo del vector/2). Nota: la división es redondeada al entero próximo inferior.
  2. Un ciclo externo girará mientras el Salto sea diferente de 0
  3. Un ciclo interno irá pasando por cada posición del vector iniciando en 0 hasta que el contador del ciclo interno + el Salto sea igual al tamaño del vector.
  4. Dentro del ciclo interno se irán comparando la posición del vector actual con la posición del vector actual + Salto. Si vec[contador] > vec[contador + salto] entonces se intercambian los números, y de esta manera van quedando los numero de menor valor a la izquierda y los de mayor valor a la derecha del vector.
  5. Al final se checa si hubo algún intercambio, si sí entonces se vuelve a repetir el proceso con el mismo salto, de lo contrario el salto se decrementa y se repite el proceso nuevamente.

Gráficamente sería algo como esto:
Ordenamiento Shell

y el codigo es el siguiente:
Leer articulo completo »

Que onda a todos.

De nuevo he estado con muchos trabajos, tareas, y demás cosas y por lo mismo no he podido publicar muchas cosas… espero y ya lleguen las vacaciones para poder mejorar el servicio del blog :P

Bueno pues hoy publico esta tarea que me acaban de dejar y que ya había visto antes en Pascal jaja pero me da flojera publicar el código en pascal, y pues mejor lo publico en Visual Basic .net pero pues si alguien desea el código en Pascal, solo pídanlo y lo pongo :p

Bueno este es otro método de selección también de los mas utilizados para enseñar métodos de ordenamiento, pero por lo mismo que es muy fácil, no es muy práctico usarlo cuando uno desea ordenar datos a gran escala. Para eso mejor utiliza el Quick Sort, pero ese lo publicaré a ver si el martes ya que me dejen la tarea jaja ya que por ahorita tengo otras cosas que hacer ;)

Bueno veamos como funciona el algoritmo de Selección:

  1. Necesitamos recorrer cada uno de los elementos del vector (si tenemos 10 elementos, nuestro ciclo girará 10 veces) y por cada vuelta necesitamos hacer lo siguiente:
    • Buscamos el menor numero, comenzando en la posición actual del ciclo exterior + 1 hasta terminar el vector.
    • Una vez que encontramos el numero menor, lo intercambiamos con el numero que este dentro del vector en la posición de la vuelta externa (es decir, que si por ejemplo es la vuelta #3, entonces intercambiaremos vector[3] por la variable “minimo” )
    • Si no se encontró un numero menor, entonces no sucede nada
  2. Hacemos esto hasta que el ciclo externo recorra todas las posiciones del vector

Y bueno aquí esta una imagen para que te des idea visual de como funciona:

Y también te dejo el algoritmo “codificado” para que veas más o menos lo que necesitas hacer:

para i=1 hasta n-1
    minimo = i;
    para j=i+1 hasta n
        si lista[j] < lista[minimo] entonces
            minimo = j /* (!) */
        fin si
    fin para
    intercambiar(lista[i], lista[minimo])
fin para

Leer articulo completo »

Hola amigos.

Ya tengo tiempo sin publicar post, :S lo que sucede es que ya entré a clases y pues siempre las primeras semanas son donde tienes un poco mas de labores que hacer jeje… Además estoy terminando de programar una nueva red social que espero y les guste.. pronto revelaré su identidad :P

Bueno pues este programa me lo acaban de dejar de tarea y pues en si ya lo había visto en el bachillerato pero lo tenía en Pascal y me daba flojera pasarlo a un lenguaje mas nuevo… Y pues aprovechando que lo tuve que hacer de tarea pues aquí les dejo una comparativa de funcionalidad de los métodos de ordenamiento mas fácil para iniciarse en esto de la programación: el ordenamiento burbuja, burbuja mejorada y burbuja con bandera (flag) y pues está escrito en Visual Basic .NET espero y les agrade…

En lo personal siento que este es el método de ordenamiento ideal para aprender y entender como funcionan los algoritmos de ordenamiento…
Al correr el programa luce así:
Ordenamiento burbuja

Aquí les dejo el algoritmo y más abajo el código fuente:
Algoritmo ordenamiento burbuja

y este es el código fuente:
Leer articulo completo »

Hola amigos pues aquí les traigo una recopilación de iconos que me puse a buscar por Google.. Me encontré con una que otra página que ofrece iconos de este estilo pero la mejor que encontré fué ajaxload.info que la verdad está muy bueno :P y aquí te dejo la colección que yo encontré por ahi… Abajo está el link para descargarlos todos ;) saludos

Leer articulo completo »

Acerca de este blog

Este blog tiene la intensión de facilitarle al lector el gran contenido existente en internet en sus amplias y variadas temáticas como el ocio, los videojuegos, peliculas, series, autos, recetas, descargas, recomendaciones, programaciones y cualquier cosa que se me valla ocurriendo con el tiempo. Tengo la intensión de estar actualizando el blog constantemente y así proporcionarle la mejor información al lector.
Cualquier duda, comentario o sugerencia por favor escríbelo aquí en los comentarios

Flickr PhotoStream

    TAKE A BREAK - DANCE ON MY BIKE - TILL THE EVE IS FALLINGDense Fog across BedfordshireGreat FallsEarthy Blessingsmonsoon magichouse_20100727_D_056946

Recomendado

Calendario

September 2010
M T W T F S S
« Apr    
 12345
6789101112
13141516171819
20212223242526
27282930  

Chat - Comentarios


Recomendados

Categorias