ALGORITMOS BÁSICOS


¿Qué es un algoritmo?

Se llaman algoritmos al conjunto de instrucciones sistemáticas y previamente definidas que se
utilizan para realizar una determinada tarea. Estas instrucciones están ordenadas y acotadas a
manera de pasos a seguir para alcanzar un objetivo.
Algunos ejemplos de esto en la vida cotidiana pueden ser:
Los procesos para realizar alguna multiplicación, o el decidir entre 2 opciones sobre algo.

¿Qué es la eficiencia algorítmica?

La eficiencia algorítmica hace referencia al tiempo y espacio requerido para la ejecución de un
algoritmo, cuantos menos elementos necesite un algoritmo para poder ser ejecutado correctamente,
es más eficiente.



Algoritmos de ordenamiento

1 - Método de Ordenamiento de la Burbuja (BubbleSort)
El Ordenamiento de burbuja (BubbleSort) es un algoritmo de ordenamiento simple. El mismo
funciona revisando cada elemento de la lista a ordenar con el que le sigue, cambiándolos de posición
si están en un orden incorrecto (n>n+1). Es necesario repetir este proceso varias veces hasta que no
se necesiten más cambios, lo que significa que la lista quedó ordenada.

2 - Método de Ordenamiento de Selección (SelectionSort)
El Método de ordenamiento por selección consiste en buscar el menor entre todos los elementos no
ordenados y colocarlo al principio, luego se debe repetir lo mismo con los restantes (no se tienen en
cuenta los ya ordenados). 

3 - Método de Ordenamiento de Inserción (InsertionSort)
El método de ordenamiento de inserción actua recorriendo la lista a ordenar, tomando el elemento
actual e insertándolo donde debería comparandoló entre los que ya ha recorrido.

4 - Método de Ordenamiento Shell
El Método de ordenamiento Shell es una mejora del Método de Ordenamiento por inserción ya que el
Método de inserción es eficiente si la lista está casi ordenada, para ello el Método Shell compara
elementos separados por un espacio de varias posiciones, esto permite que un elemento haga
“pasos más grandes” hacia su posición esperada, el mismo finaliza con un Ordenamiento por
inserción simple. 

5 - Método de Ordenamiento por mezcla (MergeSort)
El Método de ordenamiento por mezcla tiene un funcionamiento muy particular, primero debemos
saber que si la longitud de la lista es 0 ó 1 ya está ordenada, En otro caso: el algoritmo deberá dividir
la lista desordenada en dos sublistas de aproximadamente la mitad del tamaño, luego ordenará cada
sublista recursivamente aplicando el ordenamiento por mezcla y por ultimo mezcla las dos sublistas
en una sola lista ordenada. 

6 - Método de ordenamiento rápido (QuickSort)
Al igual que el ordenamiento por mezcla, el ordenamiento rápido es un algoritmo divide y ganarás, el
mismo funciona seleccionando un elemento como pivot y dividiendo la matriz dada alrededor del
pivot elegido. Hay muchas versiones diferentes de ordenamiento rápido que eligen pivotar de
diferentes maneras.

1. Elegir siempre el primer elemento como pivot.
2. Elegir siempre el último elemento como pivot.
3. Elegir un elemento aleatorio como pivot.
4. Elegir la mitad como pivot.


El proceso llevado a cabo en el ordenamiento rápido es la partición, el objetivo de las mismas es,
dado una matriz A y un elemento x de la matriz como pivot, poner x en su posición correcta en la
matriz ordenada y poner todos los elementos menores que x antes de x, y poner todos los elementos
mayores que x después de x.

7 - Método de ordenamiento del montón (HeapSort)
El Método de Ordenamiento del montón es similar a la clasificación por selección donde primero
encontramos el elemento máximo y lo colocamos al final. Repetimos el mismo proceso para el resto
de elementos. Pero en el Método del montón debemos realizar previamente montones que son los
que irán acomodandose con el algoritmo según cual es más grande de un lado o del otro del montón
y al mismo tiempo, se irán eliminando y acomodando los elementos mayores en la lista. 

8 - Método de Ordenamiento del peine (CombSort)
El Método de ordenamiento del peine es una mejora del Método de ordenamiento de la burbuja, ya
que en el Método de la burbuja siempre se comparan valores consecutivos, entonces todos los
cambios se realizan uno por uno. El Método del peine (CombSort) mejora al BubbleSort usando un
espacio de tamaño superior a 1. El espacio comienza con un valor grande y se reduce en un factor x
en cada iteración hasta que alcanza el valor 1. Por lo tanto este elimina más de una inversión con un
intercambio y funciona mejor que el Método de la burbuja. 

9 - Método de Ordenamiento de la burbuja Bidireccional (CocktailSort)
El Método de ordenamiento CocktailSort es una reforma del Método de ordenamiento de la burbuja,
con la diferencia que en este el ordenamiento se realiza en ambas direcciones, comprobando que el
primero sin ordenar sea el menor y el ultimo sin ordenar sea el mayor y acomodando así en su
respectivo lugar cada uno de los elementos. 

Algoritmos de búsqueda

1.-Búsqueda lineal
La búsqueda secuencial consiste en recorrer secuencialmente un array desde el primer elemento
hasta el último y comprobar si alguno de los elementos del array contiene el vector buscado, es
decir, comparar cada elemento del array con el valor buscado. Dado que el array no está en ningún
orden particular, existe la misma probabilidad de que el valor se encuentre, ya sea en el primer
elemento como en el último. Por tanto, en promedio, el programa tendrá que comparar el valor
buscado con la mitad de los elementos del arreglo.
Por ejemplo:





2.-Busqueda binaria
La búsqueda binaria es un algoritmo eficiente para encontrar un elemento en una lista ordenada de
elementos. Funciona al dividir repetidamente a la mitad la porción de la lista que podría contener al
elemento buscado, reduciendo las ubicaciones posibles hasta que quede una.





Uso de algoritmos

¿Cómo podemos aplicar un algoritmo?

Un algoritmo nos ayuda a resolver un problema de forma sistemática e inequívoca. Por
ejemplo, cada vez que tenemos que hacer la colada, basta con introducir la ropa en la
lavadora (más el detergente y el suavizante) y el algoritmo de esta ya se ocupa él solito de
dejarla como nueva
Los algoritmos son una serie de instrucciones que permiten hacer y resolver diferentes
operaciones. Aunque están ampliamente asociados al ámbito de la tecnología, la
construcción de una secuencia de pasos para realizar una tarea, no es ajena
Los tipos de algoritmos en programación se pueden clasificar en cuatro diferentes:








Podemos expresar un algoritmo de muchas maneras, incluyendo lenguaje natural,
diagramas de flujo, pseudocódigo y, por supuesto, en lenguajes de programación reales. El
lenguaje natural es popular, pues se nos da naturalmente y puede comunicar los pasos de
un algoritmo a una audiencia general.
Los algoritmos son muy importantes en el mundo de la programación ya que permiten al
programador resolver el problema antes de escribirlo en un lenguaje de programación que
entienda la máquina u ordenador. Antes de escribir el código de un programa hay que
resolver con un algoritmo el problema que se nos plantea



Comentarios

  1. Holaa considero que los algoritmos básicos son fundamentales para la programación, ya que establecen la base para resolver problemas. Aunque son esenciales para comprender la lógica de programación, es necesario considerar la complejidad de los problemas y no depender exclusivamente de algoritmos simples al abordar desafíos más sofisticados en el desarrollo de un software.





    ResponderEliminar
  2. En resumen, los algoritmos son esenciales en la programación, y la eficiencia algorítmica es crucial para garantizar un rendimiento óptimo en términos de tiempo y espacio.

    ResponderEliminar
  3. Los algoritmos básicos son fundamentales para entrar al mundo de la programación. Se desarrollan habilidades lógicas de resolución de problemas.

    ResponderEliminar
  4. Los algoritmos básicos son esenciales para el mundo de la programación, ya que son las bases para después desenvolvernos es un entorno mas complejo.

    ResponderEliminar
  5. Los algoritmos son la columna vertebral de la programación, ya que son conjuntos de instrucciones paso a paso que permiten resolver problemas y realizar tareas de manera eficiente. Son fundamentales porque definen cómo se estructuran y ejecutan las acciones dentro de un programa, determinando su eficacia y rendimiento. Los buenos algoritmos pueden optimizar el uso de recursos y mejorar la experiencia del usuario, mientras que los algoritmos deficientes pueden provocar errores, ineficiencia y mal funcionamiento del software. En resumen, comprender y aplicar algoritmos eficaces es esencial para desarrollar software de calidad y resolver problemas de manera efectiva en el mundo de la programación.

    ResponderEliminar
  6. Este blog explica de manera clara qué son los algoritmos y cómo funcionan algunos de los más comunes, como el BubbleSort y la búsqueda binaria. Me gusta cómo utiliza ejemplos cotidianos para ilustrar conceptos técnicos, lo hace más fácil de entender. Además, resalta la importancia de los algoritmos en la programación y cómo nos ayudan a resolver problemas de manera ordenada y eficiente.

    ResponderEliminar
  7. Este blog nos habla sobre los algoritmos que son y como funcionan, sus tipos y son fundamentales para el mundo de la programación como ayudan a resolver un problema..

    ResponderEliminar
  8. Este blog nos habla sobre que son los algoritmos, un conjunto de instrucciones , como funcionan, sus tipos y lo fundamentales que son para enteder como funciona la programacion y como implementarlas por que es la base de la programación.

    ResponderEliminar
  9. Nos habla de los algoritmos de la programacion de como funciona, los tipos y en que situacion emplearlo ya que son basicos en programacion y se puede emplear en muchas cosas

    ResponderEliminar
  10. El texto proporciona una descripción clara y concisa de las principales estructuras de control que se utilizan en Pseint. Estas estructuras son esenciales para organizar y controlar el flujo de un programa, permitiendo tomar decisiones y ejecutar acciones de forma condicional o repetitiva.

    ResponderEliminar
  11. me parece que este blog es muy útil para comprender los algoritmos básicos que son fundamentales para poder resolver pequeños problemas al empezar en el mundo de la programación, nos explica detalladamente como se ejecutan para hacer el entendimiento aún mejor.

    ResponderEliminar
  12. Opino que los algoritmos básicos son fundamentalmente importantes y desempeñan un papel crucial y nos ayuda a entender y dominar estos algoritmos ,además en este blog nos explica como funciona y como emplearlo y también nos muestran estructuras para poder entender mejor este tema .

    ResponderEliminar
  13. Creo que vi un poco acerca de esto en alguna clase de mi escuela, pero este contenido lo abarca mas y explora de manera mas especifica cada termino, conceptos que tal vezz yo creia conocer, parecen ser mas de lo que pensaba, como lo son los algoritmos.

    ResponderEliminar
  14. Los algoritmos son básicamente procedimientos paso a paso para resolver problemas de manera eficiente y sistemática. Aunque simples, son esenciales para crear programas más complejos. Aprender y dominar los algoritmos básicos es esencial para cualquier aspirante a programador, ya que sienta las bases para comprender conceptos más avanzados y resolver muchos problemas informáticos.

    ResponderEliminar
  15. A mi punto de vista, los algoritmos básicos son un pilar fundamental dentro de la programación, ya que con la ausencia de estos, estaría incompleto todo lo que realizamos. Además, considero que es de suma importancia tener conocimiento de ello para poder entender conceptos básicos de programación.

    ResponderEliminar
  16. Siento que este blog me puede ayudar para estudiar más sobre los algoritmos, ya que todavía sigo estudiando sobre ellos, para saber cómo aplicar uno o que es lo que hace otro

    ResponderEliminar
  17. Este blog habla sobre los algoritmos, y básicamente son instrucciones sistemáticas para realizar una tarea, pero también hay que tener en cuenta que los algoritmos se ven e cualquier tipo de lenguaje, y es importante entender la lógica de estos algoritmos para la resolución de problemas.

    ResponderEliminar
  18. En este blog nos habla de lo básico de los algoritmos, es muy practico esté curso ya que si tienes alguna duda es muy fácil de resolverlo con la información que contiene

    ResponderEliminar
  19. Los algoritmos son un concepto importante en la programación, pues será lo que vamos a realizar y/o crear en el lenguaje en el que estamos programando, los algoritmos son la solución al problema que tenemos planteado y es fundamental comprender su lógica para su uso.

    ResponderEliminar
  20. Es bueno saber sobre los algoritmos, ya que en la programación tienen un papel muy importante y es bueno saber de ellos

    ResponderEliminar

  21. Los algoritmos son la esencia de la programación y constituyen la base de cualquier aplicación o sistema de software.

    ResponderEliminar
  22. Los algoritmos en programación son un conjunto de reglas que le indican al ordenador que es lo que va a ejecutar y como lo va a realizar. Además de que se utiliza para solucionar un problema, hacer algun calculo o llevar a cabo una tarea

    ResponderEliminar
  23. Los algoritmos son herramientas muy poderosas que nos ayudan a resolver problemas y tomar decisiones de manera eficiente.

    ResponderEliminar
  24. El equipo horchata nos explica de manera simple qué son los algoritmos y su importancia en la resolución de problemas, también proporciona ejemplos prácticos de algoritmos de ordenamiento y búsqueda, usando descripciones comprensibles, muestran la aplicación cotidiana de los algoritmos, como lavar la ropa, para ilustrar su utilidad en la vida diaria. En conclusión, ofrece una visión general accesible de los conceptos básicos de los algoritmos.

    ResponderEliminar
  25. En pocas palabras el algoritmo es la secuencia de instruccciones para realizar algo, sin embargo, no conocia los diferentes metodos de ordenamiento lo que lo hace interesante, al igual que las diferentes formas de realizar un algoritmo.

    ResponderEliminar
  26. Dominar estos algoritmos básicos no solo proporciona una comprensión sólida de los principios fundamentales de la programación, sino que también sienta las bases para abordar desafíos más complejos en el desarrollo de software. Además, conocer estos algoritmos permite a los programadores optimizar sus soluciones, mejorar la eficiencia de sus programas y crear sistemas más robustos y escalables.

    ResponderEliminar
  27. los algoritmos son instrucciones sistemáticas que son muy importantes en el lenguaje de la programación, por ello considero que es muy importante saber más sobre ellos y por supuesto este blog sería una buena elección para profundizar más sobre lo que es un algoritmo y para que sirve en la programación

    ResponderEliminar
  28. Es un tema interesante ya que hablan sobre los algoritmos básicos en el lenguaje de programación cosa que ocuparemos más adelante

    ResponderEliminar
  29. Comprender la eficiencia algorítmica es fundamental para seleccionar el algoritmo adecuado para una tarea específica, ya que puede influir en el rendimiento y la velocidad de ejecución de un programa.

    ResponderEliminar
  30. este blog me gusto ya que tiene una manera clara y precisa de explicar y ayudar a comprender las instrucciones que son muy importantes en la programación, por lo cual yo considero que la información que brinda es perfecta en especial para aquellas personas que recién van comenzando

    ResponderEliminar
  31. Me gustó mucho este blog ya que era algo que se me dificultaba aprender y está información es sumamente importante por los conceptos básicos que nos dan

    ResponderEliminar

Publicar un comentario