SlideShare una empresa de Scribd logo
Algoritmos
Realizado por: Omar Azuaje
Universidad de
Margarita
Alma Mater del
Caribe
Vicerrectorado de
Extensión
Algebra Discreta
¿Qué son algoritmos?
• En matemáticas, lógica, ciencias de la
computación y disciplinas relacionadas,
un algoritmo es un conjunto de
instrucciones o reglas definidas y no-
ambiguas, ordenadas y finitas que
permite, típicamente, solucionar un
problema, realizar un cómputo, procesar
datos y llevar a cabo otras tareas o
actividades. Dados un estado inicial y
una entrada, siguiendo los pasos
sucesivos se llega a un estado final y se
obtiene una solución. Los algoritmos
son el objeto de estudio de la
algoritmia.
Diseño de un algoritmo
• el diseño de algoritmos es un
método específico para poder
crear un modelo matemático
ajustado a un problema
específico para resolverlo. El
diseño de algoritmos o
algorítmica es un área central de
las ciencias de la computación,
también muy importante para la
investigación de operaciones
Existen varias técnicas de diseño
de algoritmos que permiten
desarrollar la solución al
problema planteado, algunas de
ellas son
Algoritmo divide y vencerás: El método está basado en la
resolución recursiva de un problema dividiéndolo en dos o
más subproblemas de igual tipo o similar.
Algoritmos voraces (greedy): seleccionan los elementos más
prometedores del conjunto de candidatos hasta encontrar
una solución. En la mayoría de los casos la solución no es
óptima.
Algoritmos paralelos: permiten la división de un
problema en subproblemas de forma que se puedan ejecutar
de forma simultánea en varios procesadores.
Algoritmos probabilísticos: algunos de los pasos de
este tipo de algoritmos están en función de valores
pseudoaleatorios
Algoritmos determinísticos: El comportamiento del
algoritmo es lineal: cada paso del algoritmo tiene
únicamente un paso sucesor y otro antecesor.
Diseño de algoritmos
• Metaheurísticas: encuentran soluciones
aproximadas (no óptimas) a problemas basándose
en un conocimiento anterior (a veces llamado
experiencia) de los mismos.
• Programación dinámica: intenta resolver
problemas disminuyendo su coste computacional
aumentando el coste espacial.
• Ramificación y acotación: se basa en la
construcción de las soluciones al problema mediante
un árbol implícito que se recorre de forma
controlada encontrando las mejores soluciones.
• Vuelta Atrás (Backtracking): se construye el
espacio de soluciones del problema en un árbol que
se examina completamente, almacenando las
soluciones menos costosas.
Pseudocódigo
• es una descripción de alto nivel de un
algoritmo que emplea una mezcla de
lenguaje natural con algunas convenciones
sintácticas propias de lenguajes de
programación, como asignaciones, ciclos y
condicionales, aunque no está regido por
ningún estándar. Es utilizado para describir
algoritmos en libros y publicaciones
científicas, y como producto intermedio
durante el desarrollo de un algoritmo,
como los diagramas de flujo, aunque
presentan una ventaja importante sobre
estos, y es que los algoritmos descritos en
pseudocódigo requieren menos espacio
para representar instrucciones complejas
Diagramas de flujo
• El diagrama de flujo es la representación
gráfica de un algoritmo; para ello se utiliza
un conjunto de símbolos estándares
mundialmente utilizados y desarrollados
por organizaciones tales como ANSI
(American National Institute) e ISO
(International Standard Organization para
la elaboración de diagramas de flujo. En el
diagrama cada símbolo representa una
acción en concreto; y cada instrucción del
algoritmo se visualiza dentro del símbolo
adecuado. Los símbolos se conectan con
flechas para indicar el orden en que se
ejecutan las instrucciones.
Variables
Constantes
Una constante es un dato cuyo valor
no puede cambiar durante la ejecución del
programa. Recibe un valor en el momento de
la compilación y este permanece inalterado
durante todo el programa.
Procesos
Es un conjunto de actividades,
debidamente ordenadas, que tienen por
objetivo obtener una circunstancia u acto
específico.
Un proceso se puede aplicar a
infinidad de ciencias y circunstancias.
Son elementos que toman
valores específicos de un tipo
de datos concreto. La
declaración de una variable
puede realizarse
comenzando con var.
Principalmente, existen dos
maneras de otorgar valores
iníciales a variables:
• Mediante una
sentencia de asignación.
• Mediante un
procedimiento de entrada de
datos
Estructura Selectiva
Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí
que también se conocen como estructuras de decisión o alternativas.
En las estructuras selectivas se evalúa una condición, y en función del
resultado de la misma se toma un camino u otro.
Estructura iterativa
• También conocidas
como estructuras de
repetición (bucles o
ciclos) se utilizan
para realizar varias
veces el mismo
conjunto de
operaciones.
Bucle mientras bucle repetir
Un bucle while permite repetir la ejecución de un
grupo de instrucciones mientras se cumpla una condición
(es decir, mientras la condición tenga el valor True).
Bucle hacer bucle para:
Se utiliza generalmente cuando no sabemos cuántas
veces se habrá de ejecutar el bucle, igual que el bucle WHILE,
con la diferencia de que sabemos seguro que el bucle por lo
menos se ejecutará una vez.
Bucle para cada
Se utiliza para recorrer estructuras repetitivas de datos de
forma más simple y ágil.
Un algoritmo de búsqueda es un conjunto de instrucciones que
están diseñadas para localizar un elemento con ciertas
propiedades dentro de una estructura de datos; por ejemplo,
ubicar el registro correspondiente a cierta persona en una base
de datos, o el mejor movimiento en una partida de ajedrez.
La variante más simple del problema es la búsqueda de un
número en un vector.
Algoritmo de Búsqueda
Algoritmo de Ordenación
En computación y matemáticas un algoritmo de ordenamiento es un algoritmo
que pone elementos de una lista o un vector en una secuencia dada por una
relación de orden, es decir, el resultado de salida ha de ser una permutación —
o reordenamiento— de la entrada que satisfaga la relación de orden dada. Las
relaciones de orden más usadas son el orden numérico y el orden lexicográfico.
Ordenamientos eficientes son importantes para optimizar el uso de otros
algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas
para una ejecución rápida. También es útil para poner datos en forma canónica
y para generar resultados legibles por humanos.

Más contenido relacionado

DOCX
Analisis de algoritmo ii
PPTX
Algoritmo Matematicas
PPTX
Elvin omar moreno
PPTX
Algebra diapositivas jose zabala
PPTX
Algoritmos
PPTX
Algoritmo
PPTX
Algoritmos, Pseudocódigos y Diagramas de flujo
PDF
Pseudocodigos y diagrama de flujo
Analisis de algoritmo ii
Algoritmo Matematicas
Elvin omar moreno
Algebra diapositivas jose zabala
Algoritmos
Algoritmo
Algoritmos, Pseudocódigos y Diagramas de flujo
Pseudocodigos y diagrama de flujo

La actualidad más candente (20)

PPTX
Algoritmos y programas
PPTX
Algoritmo
PPTX
Tecnica de algoritmos sair
DOCX
Algoritmo 2
PPT
Algoritmos
PDF
Algoritmos+y+solucion+de+problemas
PPTX
Presentacion algoritmo
DOCX
PPTX
PPTX
Algebra morelys lugo2
PPTX
PPTX
Algoritmos
PPSX
Algoritmos
PPTX
Introducción a la Programación
PPTX
Algoritmo
PPTX
Yaritza columba
PPTX
Diseño Estructurado de Algoritmos
PPT
Algoritmo
PPTX
ALGORITMOS
Algoritmos y programas
Algoritmo
Tecnica de algoritmos sair
Algoritmo 2
Algoritmos
Algoritmos+y+solucion+de+problemas
Presentacion algoritmo
Algebra morelys lugo2
Algoritmos
Algoritmos
Introducción a la Programación
Algoritmo
Yaritza columba
Diseño Estructurado de Algoritmos
Algoritmo
ALGORITMOS
Publicidad

Similar a Algoritmos por-omor-azuaje2 (20)

PPTX
algoritmos y fundamentos de programacion
PDF
Resumen de algoritmos por-luis-salazar
PPT
Fundamentos programación
PPTX
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
PPT
Presentación desiree vegas
PPTX
Definición Algoritmos y diagramas de flujo.pptx
PPT
Algoritmos
PPTX
Algoritmos, especificación y pseudocódigos.pptx
PDF
Unidad2 compu luis jimenez
PPTX
Ana sanmartin 6b
PPTX
Elvin omar moreno
PPT
Diagrama de flujo y algoritmo
PDF
Unidad i-guia1
PPTX
Algebra junior rico2
PPT
Algoritmos
PPTX
Algoritmo
PPT
Técnicas de Diseño Detallado.
DOCX
Algoritmo
PPTX
Algoritsmos unefa
PPT
Diego ochoaguerrero nelsondavidluna
algoritmos y fundamentos de programacion
Resumen de algoritmos por-luis-salazar
Fundamentos programación
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Presentación desiree vegas
Definición Algoritmos y diagramas de flujo.pptx
Algoritmos
Algoritmos, especificación y pseudocódigos.pptx
Unidad2 compu luis jimenez
Ana sanmartin 6b
Elvin omar moreno
Diagrama de flujo y algoritmo
Unidad i-guia1
Algebra junior rico2
Algoritmos
Algoritmo
Técnicas de Diseño Detallado.
Algoritmo
Algoritsmos unefa
Diego ochoaguerrero nelsondavidluna
Publicidad

Último (20)

PPTX
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
PPTX
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
PDF
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
PPTX
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
PDF
1132-2018 espectrofotometro uv visible.pdf
PPTX
Introduccion quimica del fuego.ffffffffffpptx
PDF
Durabilidad del concreto en zonas costeras
PPTX
Logging While Drilling Ingenieria Petrolera.pptx
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PDF
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
PPTX
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
PPTX
GEOLOGIA, principios , fundamentos y conceptos
PDF
Curso Introductorio de Cristales Liquidos
PDF
Módulo-de Alcance-proyectos - Definición.pdf
PPTX
LEVANTAMIENTOS TOPOGRAFICOS - DIAPOSITIVAS
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PPTX
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPTX
Software para la educación instituciones superiores
PPTX
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION
A8B08CED-D3D9-415C-B4A3-2A6CA6409A48.1.1Presentación Dirección 2022 unidade...
ARQUITECTURA INTEGRAL EN OBRA, PRINCIPIOS BASICOS Y TERMINOS
SISTEMAS DE PUESTA A TIERRA: Una introducción a los fundamentos de los sistem...
MODULO 2. METODOLOGIAS PARA ANALISIS DE RIESGOS 2da Parte.pptx
1132-2018 espectrofotometro uv visible.pdf
Introduccion quimica del fuego.ffffffffffpptx
Durabilidad del concreto en zonas costeras
Logging While Drilling Ingenieria Petrolera.pptx
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
LIBRO UNIVERSITARIO SOFTWARE PARA INGENIERIA BN.pdf
CAPACITACIÓN DE USO ADECUADO DE EPP.pptx
GEOLOGIA, principios , fundamentos y conceptos
Curso Introductorio de Cristales Liquidos
Módulo-de Alcance-proyectos - Definición.pdf
LEVANTAMIENTOS TOPOGRAFICOS - DIAPOSITIVAS
357161027-seguridad-industrial-diapositivas-ppt.ppt
1 CONTAMINACION AMBIENTAL EN EL PLANETA.pptx
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
Software para la educación instituciones superiores
Riesgo eléctrico 5 REGLAS DE ORO PARA TRABAJOS CON TENSION

Algoritmos por-omor-azuaje2

  • 1. Algoritmos Realizado por: Omar Azuaje Universidad de Margarita Alma Mater del Caribe Vicerrectorado de Extensión Algebra Discreta
  • 2. ¿Qué son algoritmos? • En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo es un conjunto de instrucciones o reglas definidas y no- ambiguas, ordenadas y finitas que permite, típicamente, solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.
  • 3. Diseño de un algoritmo • el diseño de algoritmos es un método específico para poder crear un modelo matemático ajustado a un problema específico para resolverlo. El diseño de algoritmos o algorítmica es un área central de las ciencias de la computación, también muy importante para la investigación de operaciones Existen varias técnicas de diseño de algoritmos que permiten desarrollar la solución al problema planteado, algunas de ellas son Algoritmo divide y vencerás: El método está basado en la resolución recursiva de un problema dividiéndolo en dos o más subproblemas de igual tipo o similar. Algoritmos voraces (greedy): seleccionan los elementos más prometedores del conjunto de candidatos hasta encontrar una solución. En la mayoría de los casos la solución no es óptima. Algoritmos paralelos: permiten la división de un problema en subproblemas de forma que se puedan ejecutar de forma simultánea en varios procesadores. Algoritmos probabilísticos: algunos de los pasos de este tipo de algoritmos están en función de valores pseudoaleatorios Algoritmos determinísticos: El comportamiento del algoritmo es lineal: cada paso del algoritmo tiene únicamente un paso sucesor y otro antecesor.
  • 4. Diseño de algoritmos • Metaheurísticas: encuentran soluciones aproximadas (no óptimas) a problemas basándose en un conocimiento anterior (a veces llamado experiencia) de los mismos. • Programación dinámica: intenta resolver problemas disminuyendo su coste computacional aumentando el coste espacial. • Ramificación y acotación: se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones. • Vuelta Atrás (Backtracking): se construye el espacio de soluciones del problema en un árbol que se examina completamente, almacenando las soluciones menos costosas.
  • 5. Pseudocódigo • es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas
  • 6. Diagramas de flujo • El diagrama de flujo es la representación gráfica de un algoritmo; para ello se utiliza un conjunto de símbolos estándares mundialmente utilizados y desarrollados por organizaciones tales como ANSI (American National Institute) e ISO (International Standard Organization para la elaboración de diagramas de flujo. En el diagrama cada símbolo representa una acción en concreto; y cada instrucción del algoritmo se visualiza dentro del símbolo adecuado. Los símbolos se conectan con flechas para indicar el orden en que se ejecutan las instrucciones.
  • 7. Variables Constantes Una constante es un dato cuyo valor no puede cambiar durante la ejecución del programa. Recibe un valor en el momento de la compilación y este permanece inalterado durante todo el programa. Procesos Es un conjunto de actividades, debidamente ordenadas, que tienen por objetivo obtener una circunstancia u acto específico. Un proceso se puede aplicar a infinidad de ciencias y circunstancias. Son elementos que toman valores específicos de un tipo de datos concreto. La declaración de una variable puede realizarse comenzando con var. Principalmente, existen dos maneras de otorgar valores iníciales a variables: • Mediante una sentencia de asignación. • Mediante un procedimiento de entrada de datos
  • 8. Estructura Selectiva Las estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que también se conocen como estructuras de decisión o alternativas. En las estructuras selectivas se evalúa una condición, y en función del resultado de la misma se toma un camino u otro.
  • 9. Estructura iterativa • También conocidas como estructuras de repetición (bucles o ciclos) se utilizan para realizar varias veces el mismo conjunto de operaciones. Bucle mientras bucle repetir Un bucle while permite repetir la ejecución de un grupo de instrucciones mientras se cumpla una condición (es decir, mientras la condición tenga el valor True). Bucle hacer bucle para: Se utiliza generalmente cuando no sabemos cuántas veces se habrá de ejecutar el bucle, igual que el bucle WHILE, con la diferencia de que sabemos seguro que el bucle por lo menos se ejecutará una vez. Bucle para cada Se utiliza para recorrer estructuras repetitivas de datos de forma más simple y ágil.
  • 10. Un algoritmo de búsqueda es un conjunto de instrucciones que están diseñadas para localizar un elemento con ciertas propiedades dentro de una estructura de datos; por ejemplo, ubicar el registro correspondiente a cierta persona en una base de datos, o el mejor movimiento en una partida de ajedrez. La variante más simple del problema es la búsqueda de un número en un vector. Algoritmo de Búsqueda
  • 11. Algoritmo de Ordenación En computación y matemáticas un algoritmo de ordenamiento es un algoritmo que pone elementos de una lista o un vector en una secuencia dada por una relación de orden, es decir, el resultado de salida ha de ser una permutación — o reordenamiento— de la entrada que satisfaga la relación de orden dada. Las relaciones de orden más usadas son el orden numérico y el orden lexicográfico. Ordenamientos eficientes son importantes para optimizar el uso de otros algoritmos (como los de búsqueda y fusión) que requieren listas ordenadas para una ejecución rápida. También es útil para poner datos en forma canónica y para generar resultados legibles por humanos.