Este documento describe y compara varios algoritmos de ordenamiento comunes, incluidos Bubble Sort, Selection Sort, Insertion Sort, Shell Sort, Merge Sort y Quick Sort. Explica cómo funciona cada uno a nivel conceptual y muestra ejemplos de su implementación. También realiza pruebas de rendimiento para comparar cuánto tiempo tarda cada algoritmo en ordenar listas grandes de números aleatorios.
Este documento explica varias funciones básicas de Excel como CONTAR, CONTARA, SUMAR.SI, CONTAR.SI y SI. CONTAR cuenta el número de celdas que contienen números, CONTARA cuenta celdas no vacías, SUMAR.SI suma valores que cumplen una condición, CONTAR.SI cuenta celdas que cumplen una condición y SI realiza preguntas lógicas y devuelve un resultado según si es verdadero o falso. También explica cómo insertar, mover, eliminar, ocultar y mostrar hojas en Excel
Este documento describe varias funciones lógicas en Excel, incluyendo SI, O, Y, y BUSCARV. La función SI evalúa si una condición es verdadera o falsa. La función O devuelve verdadero si algún argumento es verdadero. La función Y devuelve verdadero solo si todas las expresiones son verdaderas. La función BUSCARV busca un valor dentro de un rango de celdas y devuelve el resultado correspondiente.
Este documento explica los conjuntos (sets) en Python. Los conjuntos son colecciones no ordenadas de elementos únicos. Se definen usando llaves y permiten operaciones como agregar, eliminar, verificar la pertenencia de elementos e intersecciones y uniones con otros conjuntos.
Este documento explica las funciones CONTAR, CONTARA, SUMAR.SI, CONTAR.SI y SI en Excel, así como cómo insertar, mover, eliminar y ocultar hojas. La función CONTAR cuenta el número de celdas que contienen números, CONTARA cuenta celdas no vacías, SUMAR.SI suma celdas que cumplen una condición, y CONTAR.SI cuenta celdas que cumplen una condición. La función SI realiza preguntas lógicas y devuelve un resultado dependiendo de si es verdadero o falso. El documento
El documento habla sobre las estructuras de control IF-ELSE en Java. Explica que las sentencias IF se usan para tomar decisiones dependiendo de si una expresión lógica es verdadera o falsa, y ELSE se usa para especificar código alternativo si la expresión IF es falsa. También cubre IF anidados, ELSE IF, y el problema del ELSE suelto y cómo evitarlo usando llaves. Finalmente, presenta un ejemplo de código que ilustra el uso de estas estructuras de control condicionales.
Este documento explica cómo despejar una variable en una fórmula algebraica. Hay varios métodos, pero la regla principal es que al pasar un término de un lado a otro, se debe hacer la operación contraria. Por ejemplo, si un término está sumando en un lado, al pasarlo debe restarse; si está multiplicando, debe dividirse. Luego, se resuelven ejemplos como despejar la variable en las fórmulas PV=nRT, C=5(F-32)/9 y 3x+2y=12.
Este documento explica las funciones lógicas Y y O en Excel. La función Y devuelve VERDADERO solo si todas las condiciones son verdaderas, mientras que la función O devuelve VERDADERO si al menos una condición es verdadera. El documento proporciona ejemplos de cómo usar estas funciones junto con la función SI para realizar varias comprobaciones condicionales.
El documento describe el algoritmo de ordenamiento por inserción. Funciona insertando elementos uno por uno en una lista ordenada. Compara cada nuevo elemento con los elementos anteriores y los mueve hacia atrás si es necesario para insertarlo en la posición correcta. El proceso se repite hasta que la lista esté completamente ordenada.
Este documento explica varias funciones básicas de Excel como CONTAR, CONTARA, SUMAR.SI, CONTAR.SI y SI. CONTAR cuenta el número de celdas que contienen números, CONTARA cuenta celdas no vacías, SUMAR.SI suma valores que cumplen una condición, CONTAR.SI cuenta celdas que cumplen una condición y SI realiza preguntas lógicas y devuelve un resultado según si es verdadero o falso. También explica cómo insertar, mover, eliminar, ocultar y mostrar hojas en Excel
Este documento describe varias funciones lógicas en Excel, incluyendo SI, O, Y, y BUSCARV. La función SI evalúa si una condición es verdadera o falsa. La función O devuelve verdadero si algún argumento es verdadero. La función Y devuelve verdadero solo si todas las expresiones son verdaderas. La función BUSCARV busca un valor dentro de un rango de celdas y devuelve el resultado correspondiente.
Este documento explica los conjuntos (sets) en Python. Los conjuntos son colecciones no ordenadas de elementos únicos. Se definen usando llaves y permiten operaciones como agregar, eliminar, verificar la pertenencia de elementos e intersecciones y uniones con otros conjuntos.
Este documento explica las funciones CONTAR, CONTARA, SUMAR.SI, CONTAR.SI y SI en Excel, así como cómo insertar, mover, eliminar y ocultar hojas. La función CONTAR cuenta el número de celdas que contienen números, CONTARA cuenta celdas no vacías, SUMAR.SI suma celdas que cumplen una condición, y CONTAR.SI cuenta celdas que cumplen una condición. La función SI realiza preguntas lógicas y devuelve un resultado dependiendo de si es verdadero o falso. El documento
El documento habla sobre las estructuras de control IF-ELSE en Java. Explica que las sentencias IF se usan para tomar decisiones dependiendo de si una expresión lógica es verdadera o falsa, y ELSE se usa para especificar código alternativo si la expresión IF es falsa. También cubre IF anidados, ELSE IF, y el problema del ELSE suelto y cómo evitarlo usando llaves. Finalmente, presenta un ejemplo de código que ilustra el uso de estas estructuras de control condicionales.
Este documento explica cómo despejar una variable en una fórmula algebraica. Hay varios métodos, pero la regla principal es que al pasar un término de un lado a otro, se debe hacer la operación contraria. Por ejemplo, si un término está sumando en un lado, al pasarlo debe restarse; si está multiplicando, debe dividirse. Luego, se resuelven ejemplos como despejar la variable en las fórmulas PV=nRT, C=5(F-32)/9 y 3x+2y=12.
Este documento explica las funciones lógicas Y y O en Excel. La función Y devuelve VERDADERO solo si todas las condiciones son verdaderas, mientras que la función O devuelve VERDADERO si al menos una condición es verdadera. El documento proporciona ejemplos de cómo usar estas funciones junto con la función SI para realizar varias comprobaciones condicionales.
El documento describe el algoritmo de ordenamiento por inserción. Funciona insertando elementos uno por uno en una lista ordenada. Compara cada nuevo elemento con los elementos anteriores y los mueve hacia atrás si es necesario para insertarlo en la posición correcta. El proceso se repite hasta que la lista esté completamente ordenada.
Presentacion programacion dinamica luis silva LuisFeSilva
Este documento describe el problema de la mochila, un método de optimización que busca maximizar el valor total de los objetos que pueden caber en una mochila dada sus pesos y la capacidad máxima de la mochila. Presenta un ejemplo de una empresa que tiene tres proyectos entre los que debe elegir para maximizar sus beneficios sin exceder su presupuesto de un millón de bolívares. El resumen concluye que los proyectos 2 y 3 son la mejor opción para un beneficio total de 3,500,000.
Este documento describe el algoritmo de ordenamiento de burbuja. Funciona revisando cada par de elementos adyacentes en una lista y intercambiándolos si están en orden incorrecto. Esto continúa hasta que no se requieran más intercambios, momento en el cual la lista estará ordenada. A pesar de su simplicidad, tiene un rendimiento cuadrático en el peor caso y por lo tanto no es eficiente para listas grandes.
Este documento describe diferentes algoritmos de ordenamiento y búsqueda de datos. Explica conceptos clave como ordenamiento, clave, criterio de ordenamiento y registro. Luego describe varios algoritmos de ordenamiento comunes como ordenamiento por selección, inserción, burbuja y quicksort. También cubre el análisis de estos algoritmos y sus ventajas y desventajas. Por último, introduce conceptos de búsqueda secuencial y binaria.
El documento describe varios métodos de ordenamiento de vectores en C++, incluyendo ordenamiento por selección, inserción directa, inserción binaria, Shell y quicksort. Explica las características, ventajas y desventajas de cada método, así como ejemplos de código C++ para implementarlos.
El documento describe diferentes métodos de ordenamiento de vectores en C++, incluyendo ordenamiento por selección, ordenamiento por inserción directa, ordenamiento por inserción binaria, ordenamiento por el método de Shell y ordenamiento quicksort. Explica las características, ventajas y desventajas de cada método, así como su implementación en C++ a través de ejemplos de código.
Este documento presenta diferentes algoritmos de ordenamiento como el método de la burbuja, selección, inserción, intercambio y Shell. Explica cada método con ejemplos detallados y también cubre métodos de búsqueda como la búsqueda secuencial y binaria. El objetivo es analizar los métodos más populares de ordenamiento y búsqueda para ordenar vectores y matrices con valores asignados aleatoriamente de manera eficiente.
Método de ordenación por inserción directatavo_3315_
El documento describe el algoritmo de ordenación por inserción directa. El algoritmo ordena un arreglo insertando cada elemento en su posición correcta mediante comparaciones. En cada pasada, se analiza un elemento y se desplaza por la parte ordenada del arreglo hasta encontrar su lugar. Cuando todos los elementos han sido analizados, el arreglo está completamente ordenado. El algoritmo es estable y tiene una complejidad de O(n^2) en el peor caso y O(n) en el mejor caso.
Este documento trata sobre algoritmos y estructuras de control. Explica que un algoritmo es una secuencia de pasos lógicos para resolver un problema y que existen diferentes estructuras como la secuencial, alternativa y repetitiva para controlar el flujo de los algoritmos. También describe métodos comunes de ordenación como la burbuja e inserción y técnicas de búsqueda binaria.
Este documento describe y compara tres algoritmos de ordenamiento: ordenamiento burbuja, ordenamiento por inserción y quicksort. El ordenamiento burbuja ordena una lista revisando cada par de elementos adyacentes y cambiándolos de lugar si están en el orden incorrecto. El ordenamiento por inserción toma los elementos uno por uno e inserta cada uno en su posición correcta. El quicksort divide la lista en sublistas, ordena los elementos de cada sublista recursivamente, y luego combina las sublistas ordenadas.
Este documento describe diferentes algoritmos de ordenamiento, incluyendo burbuja, inserción, selección, shellsort, ordenamiento por mezcla y quicksort. Explica cómo funciona cada algoritmo de forma iterativa o recursiva, y compara su complejidad computacional y tiempo de ejecución para diferentes cantidades de datos. El algoritmo más rápido es generalmente quicksort, mientras que burbuja es el más lento.
El documento describe el método de ordenamiento por inserción. Explica que este método ordena una lista insertando elementos de la parte desordenada en la parte ordenada de forma iterativa. Primero se asume ordenado el primer elemento y luego se comparan y insertan los siguientes elementos uno a uno. Como ejemplo, ordena una lista de números de menor a mayor usando este método en 4 iteraciones. Luego define el método de ordenamiento por selección, que ordena una lista buscando en cada paso el elemento mínimo y colocándolo en su posición.
Este documento describe estructuras de datos dinámicas como pilas, colas, listas y árboles. Explica que las estructuras dinámicas cambian a lo largo del tiempo a diferencia de las estáticas. Define pilas como estructuras donde los elementos se agregan y eliminan solo por un extremo siguiendo el principio LIFO. Define colas como estructuras donde los elementos se agregan por un extremo y eliminan por el otro siguiendo el principio FIFO. Finalmente describe listas enlazadas y diferentes tipos como listas ordenadas y doblemente en
Este documento resume diferentes algoritmos sobre arrays, incluyendo algoritmos de búsqueda (secuencial y binaria), inserción (en arrays ordenados y no ordenados), y ordenación (burbuja, inserción directa, selección directa, quicksort, heapsort). Explica los pasos de cada algoritmo de manera concisa.
Este documento describe los algoritmos de ordenación, que son algoritmos que permiten cambiar el orden de los elementos de una estructura de datos como un vector o array. Explica que ordenar datos es útil para trabajar con ellos de forma más eficiente y encontrar información específica de manera más sencilla. Además, detalla diferentes tipos de algoritmos de ordenación como la inserción, selección y burbuja, e ilustra el funcionamiento de este último con un ejemplo paso a paso.
La pila es una estructura de datos que sigue el principio LIFO (último en entrar primero en salir). Se usa para evaluar expresiones aritméticas mediante la inserción y extracción de operadores y valores de acuerdo a su prioridad. Las pilas también se pueden usar para implementar el control de flujo en programas mediante la llamada recursiva de subprogramas. Al evaluar una expresión, los paréntesis y operadores se agregan a la pila y se extraen para formar el resultado según su prioridad. Revisar paso a paso la evaluación ayuda a
El documento describe dos algoritmos de búsqueda: la búsqueda lineal y la búsqueda binaria. La búsqueda lineal es el método más simple que revisa cada elemento de manera secuencial hasta encontrar una coincidencia. La búsqueda binaria es más eficiente ya que divide el conjunto de datos a la mitad en cada paso para descartar secciones y enfocarse sólo en una porción de los datos.
Este documento describe diferentes algoritmos de búsqueda como la búsqueda lineal, binaria y el método hashing. Explica cada método con detalle y compara sus ventajas e inconvenientes. También analiza técnicas para resolver colisiones como el encadenamiento directo. El objetivo es analizar formas eficientes de buscar datos almacenados.
El ordenamiento de burbuja es un sencillo algoritmo de ordenamiento que funciona revisando cada par de elementos adyacentes en una lista y intercambiándolos de posición si están en orden incorrecto. Este proceso se repite varias veces hasta que la lista queda completamente ordenada. A pesar de su simplicidad, es uno de los algoritmos menos eficientes debido a su complejidad cuadrática O(n2).
Este documento describe y compara varios algoritmos de ordenamiento comúnmente usados, incluyendo el ordenamiento por burbuja, por inserción y quicksort. Explica cómo funciona cada algoritmo a través de pseudocódigo y código en C++, y analiza su complejidad computacional, siendo quicksort el más eficiente en promedio al ordenar datos en tiempo proporcional a n log n.
El quicksort es un algoritmo de ordenamiento que divide una lista en sublista menores de forma recursiva. Funciona seleccionando un pivote y reorganizando la lista para que los elementos menores que el pivote estén a la izquierda y los mayores a la derecha. Tiene un caso mejor de O(n log n) cuando el pivote divide la lista en mitades iguales y un caso peor de O(n2) cuando el pivote está al final.
Este documento presenta un resumen de los gráficos. Explica que un gráfico tiene una estructura más general que un árbol y puede representar relaciones del mundo real como sistemas de autopistas o redes de computadoras. También define conceptos clave como vértices, aristas y peso, y métodos para representar gráficos como listas de adyacencia y matrices de adyacencia.
El documento describe diferentes métodos de hashing para almacenar datos en una tabla hash de manera eficiente. Explica cómo funcionan las funciones hash para mapear los datos a posiciones de almacenamiento, y cómo se pueden resolver las colisiones que ocurren cuando múltiples datos intentan mapearse a la misma posición mediante métodos como open addressing, chaining y rehashing. También proporciona ejemplos de cómo implementar estas técnicas de hashing en Python.
Presentacion programacion dinamica luis silva LuisFeSilva
Este documento describe el problema de la mochila, un método de optimización que busca maximizar el valor total de los objetos que pueden caber en una mochila dada sus pesos y la capacidad máxima de la mochila. Presenta un ejemplo de una empresa que tiene tres proyectos entre los que debe elegir para maximizar sus beneficios sin exceder su presupuesto de un millón de bolívares. El resumen concluye que los proyectos 2 y 3 son la mejor opción para un beneficio total de 3,500,000.
Este documento describe el algoritmo de ordenamiento de burbuja. Funciona revisando cada par de elementos adyacentes en una lista y intercambiándolos si están en orden incorrecto. Esto continúa hasta que no se requieran más intercambios, momento en el cual la lista estará ordenada. A pesar de su simplicidad, tiene un rendimiento cuadrático en el peor caso y por lo tanto no es eficiente para listas grandes.
Este documento describe diferentes algoritmos de ordenamiento y búsqueda de datos. Explica conceptos clave como ordenamiento, clave, criterio de ordenamiento y registro. Luego describe varios algoritmos de ordenamiento comunes como ordenamiento por selección, inserción, burbuja y quicksort. También cubre el análisis de estos algoritmos y sus ventajas y desventajas. Por último, introduce conceptos de búsqueda secuencial y binaria.
El documento describe varios métodos de ordenamiento de vectores en C++, incluyendo ordenamiento por selección, inserción directa, inserción binaria, Shell y quicksort. Explica las características, ventajas y desventajas de cada método, así como ejemplos de código C++ para implementarlos.
El documento describe diferentes métodos de ordenamiento de vectores en C++, incluyendo ordenamiento por selección, ordenamiento por inserción directa, ordenamiento por inserción binaria, ordenamiento por el método de Shell y ordenamiento quicksort. Explica las características, ventajas y desventajas de cada método, así como su implementación en C++ a través de ejemplos de código.
Este documento presenta diferentes algoritmos de ordenamiento como el método de la burbuja, selección, inserción, intercambio y Shell. Explica cada método con ejemplos detallados y también cubre métodos de búsqueda como la búsqueda secuencial y binaria. El objetivo es analizar los métodos más populares de ordenamiento y búsqueda para ordenar vectores y matrices con valores asignados aleatoriamente de manera eficiente.
Método de ordenación por inserción directatavo_3315_
El documento describe el algoritmo de ordenación por inserción directa. El algoritmo ordena un arreglo insertando cada elemento en su posición correcta mediante comparaciones. En cada pasada, se analiza un elemento y se desplaza por la parte ordenada del arreglo hasta encontrar su lugar. Cuando todos los elementos han sido analizados, el arreglo está completamente ordenado. El algoritmo es estable y tiene una complejidad de O(n^2) en el peor caso y O(n) en el mejor caso.
Este documento trata sobre algoritmos y estructuras de control. Explica que un algoritmo es una secuencia de pasos lógicos para resolver un problema y que existen diferentes estructuras como la secuencial, alternativa y repetitiva para controlar el flujo de los algoritmos. También describe métodos comunes de ordenación como la burbuja e inserción y técnicas de búsqueda binaria.
Este documento describe y compara tres algoritmos de ordenamiento: ordenamiento burbuja, ordenamiento por inserción y quicksort. El ordenamiento burbuja ordena una lista revisando cada par de elementos adyacentes y cambiándolos de lugar si están en el orden incorrecto. El ordenamiento por inserción toma los elementos uno por uno e inserta cada uno en su posición correcta. El quicksort divide la lista en sublistas, ordena los elementos de cada sublista recursivamente, y luego combina las sublistas ordenadas.
Este documento describe diferentes algoritmos de ordenamiento, incluyendo burbuja, inserción, selección, shellsort, ordenamiento por mezcla y quicksort. Explica cómo funciona cada algoritmo de forma iterativa o recursiva, y compara su complejidad computacional y tiempo de ejecución para diferentes cantidades de datos. El algoritmo más rápido es generalmente quicksort, mientras que burbuja es el más lento.
El documento describe el método de ordenamiento por inserción. Explica que este método ordena una lista insertando elementos de la parte desordenada en la parte ordenada de forma iterativa. Primero se asume ordenado el primer elemento y luego se comparan y insertan los siguientes elementos uno a uno. Como ejemplo, ordena una lista de números de menor a mayor usando este método en 4 iteraciones. Luego define el método de ordenamiento por selección, que ordena una lista buscando en cada paso el elemento mínimo y colocándolo en su posición.
Este documento describe estructuras de datos dinámicas como pilas, colas, listas y árboles. Explica que las estructuras dinámicas cambian a lo largo del tiempo a diferencia de las estáticas. Define pilas como estructuras donde los elementos se agregan y eliminan solo por un extremo siguiendo el principio LIFO. Define colas como estructuras donde los elementos se agregan por un extremo y eliminan por el otro siguiendo el principio FIFO. Finalmente describe listas enlazadas y diferentes tipos como listas ordenadas y doblemente en
Este documento resume diferentes algoritmos sobre arrays, incluyendo algoritmos de búsqueda (secuencial y binaria), inserción (en arrays ordenados y no ordenados), y ordenación (burbuja, inserción directa, selección directa, quicksort, heapsort). Explica los pasos de cada algoritmo de manera concisa.
Este documento describe los algoritmos de ordenación, que son algoritmos que permiten cambiar el orden de los elementos de una estructura de datos como un vector o array. Explica que ordenar datos es útil para trabajar con ellos de forma más eficiente y encontrar información específica de manera más sencilla. Además, detalla diferentes tipos de algoritmos de ordenación como la inserción, selección y burbuja, e ilustra el funcionamiento de este último con un ejemplo paso a paso.
La pila es una estructura de datos que sigue el principio LIFO (último en entrar primero en salir). Se usa para evaluar expresiones aritméticas mediante la inserción y extracción de operadores y valores de acuerdo a su prioridad. Las pilas también se pueden usar para implementar el control de flujo en programas mediante la llamada recursiva de subprogramas. Al evaluar una expresión, los paréntesis y operadores se agregan a la pila y se extraen para formar el resultado según su prioridad. Revisar paso a paso la evaluación ayuda a
El documento describe dos algoritmos de búsqueda: la búsqueda lineal y la búsqueda binaria. La búsqueda lineal es el método más simple que revisa cada elemento de manera secuencial hasta encontrar una coincidencia. La búsqueda binaria es más eficiente ya que divide el conjunto de datos a la mitad en cada paso para descartar secciones y enfocarse sólo en una porción de los datos.
Este documento describe diferentes algoritmos de búsqueda como la búsqueda lineal, binaria y el método hashing. Explica cada método con detalle y compara sus ventajas e inconvenientes. También analiza técnicas para resolver colisiones como el encadenamiento directo. El objetivo es analizar formas eficientes de buscar datos almacenados.
El ordenamiento de burbuja es un sencillo algoritmo de ordenamiento que funciona revisando cada par de elementos adyacentes en una lista y intercambiándolos de posición si están en orden incorrecto. Este proceso se repite varias veces hasta que la lista queda completamente ordenada. A pesar de su simplicidad, es uno de los algoritmos menos eficientes debido a su complejidad cuadrática O(n2).
Este documento describe y compara varios algoritmos de ordenamiento comúnmente usados, incluyendo el ordenamiento por burbuja, por inserción y quicksort. Explica cómo funciona cada algoritmo a través de pseudocódigo y código en C++, y analiza su complejidad computacional, siendo quicksort el más eficiente en promedio al ordenar datos en tiempo proporcional a n log n.
El quicksort es un algoritmo de ordenamiento que divide una lista en sublista menores de forma recursiva. Funciona seleccionando un pivote y reorganizando la lista para que los elementos menores que el pivote estén a la izquierda y los mayores a la derecha. Tiene un caso mejor de O(n log n) cuando el pivote divide la lista en mitades iguales y un caso peor de O(n2) cuando el pivote está al final.
Este documento presenta un resumen de los gráficos. Explica que un gráfico tiene una estructura más general que un árbol y puede representar relaciones del mundo real como sistemas de autopistas o redes de computadoras. También define conceptos clave como vértices, aristas y peso, y métodos para representar gráficos como listas de adyacencia y matrices de adyacencia.
El documento describe diferentes métodos de hashing para almacenar datos en una tabla hash de manera eficiente. Explica cómo funcionan las funciones hash para mapear los datos a posiciones de almacenamiento, y cómo se pueden resolver las colisiones que ocurren cuando múltiples datos intentan mapearse a la misma posición mediante métodos como open addressing, chaining y rehashing. También proporciona ejemplos de cómo implementar estas técnicas de hashing en Python.
1. El documento describe los árboles como estructuras de datos jerárquicas utilizadas para organizar objetos. 2. Los árboles tienen nodos, raíces y hojas que conectan los nodos de manera recursiva. 3. El documento explica conceptos clave de los árboles como nodos, ramas, hojas, subárboles y recorridos de árboles.
Este documento describe las colas (queues) en Python. Explica que una cola es una colección ordenada donde los elementos se procesan en orden de llegada (FIFO). Luego presenta un ejemplo de implementación de una cola en Python y una simulación de impresión de tareas en una cola de impresión.
El documento explica los números factoriales y cómo se calculan recursivamente. Define los números factoriales como el producto de todos los enteros positivos desde 1 hasta n. Luego presenta una función recursiva para calcular factoriales que devuelve 1 si el número es 0, o devuelve el número multiplicado por el factorial del número menos 1 de lo contrario. Finalmente, ilustra cómo esta función recursiva opera apilando llamadas a la función.
RSA es un algoritmo de encriptación de clave pública y privada creado por Ron Rivest, Adi Shamir y Leonard Adleman. Se generan las llaves mediante la elección de dos números primos y realizando operaciones matemáticas con ellos. Esto produce una llave pública que se usa para encriptar mensajes y una llave privada para desencriptarlos. El documento explica detalladamente el proceso de generación de llaves, encriptación de mensajes, y desencriptación usando códigos Python como ejemplo.
La torre de Hanoi consiste en mover discos de un palo a otro siguiendo dos reglas: solo se puede mover un disco a la vez y los discos siempre deben estar ordenados por tamaño de mayor a menor. El documento presenta un algoritmo recursivo en Python para resolver este problema moviendo los discos de un palo inicial a uno final a través de un palo intermedio. La función moveTower recursiva mueve los discos y moveDisk imprime los movimientos.
Uso de las Tics en la vida cotidiana.pptx231485414
Las Tecnologías de la Información y las Comunicaciones (TIC), son el conjunto de recursos, herramientas, equipos, programas informáticos, aplicaciones, redes y medios.
Todo sobre la tarjeta de video (Bienvenidos a mi blog personal)AbrahamCastillo42
Power point, diseñado por estudiantes de ciclo 1 arquitectura de plataformas, esta con la finalidad de dar a conocer el componente hardware llamado tarjeta de video..
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Infografia TCP/IP (Transmission Control Protocol/Internet Protocol)codesiret
Los protocolos son conjuntos de
normas para formatos de mensaje y
procedimientos que permiten a las
máquinas y los programas de aplicación
intercambiar información.
2. Sorting
Python
Sorting u ordenar en español, es el proceso por el cual un colección
o listado es ordenado de alguna forma.
Por ejemplo, el listado de estudiantes ordenado por apellido
paterno en forma ascendente o descendente.
Apellido Paterno
Alvarez
Apellido Materno
Contreras
Nombre(s)
Carmina
Angeles
Guadarrama
Zapatero
Santiago
Reyes
Jimenez
Omar
Juan
Yanet
3. Sorting
Python
En programación es necesario comparar dos valores y verificar
cual es el menor y cual es el mayor y si estos valores no están en
posición correcta habrá que ponerlos en posición correcta.
En Python veremos algunos algoritmos para poder resolver este
problema.
4. Sorting
Python
The Bubble Sort
Este algoritmo hará varias pasadas por el listado verificando uno
cual es el mayor y lo mueve al espacio hacia adelante si es necesario.
Después verifica el próximo valor y hará lo mismo, si es mayor
cambiará de posición con el valor menor. Esto lo podemos ver en
el siguiente ejemplo.
5. Sorting
Python
The Bubble Sort
Al terminar la primera pasada en el listado el valor mayor quedará
en la posición última de la lista.
Volverá a empezar desde el principio haciendo el mismo proceso
y pondrá el segundo número mayor en el penúltimo lugar de la lista.
6. Sorting
Python
The Short Bubble Sort
Short Bubble Sort hace una pequeña mejora al Bubble Sort. Realiza el
mismo proceso de leer n veces el listado ordenando de menor a mayor
solo que añade la opción de que si la lista ya está originalmente ordenada
hará solo una lectura completa del listado y si la encuentra ordenada no
realiza ninguna modificación y sale del proceso.
7. Sorting
Python
The Selection Sort
Este algoritmo realiza un proceso similiar al de
Bubble Sort con la diferencia que, al encontrar un
número mayor en la comparación de a con b, no
hace el cambio de menor por mayor al momento
sino que lo mantiene en memoria y sigue
comparando, si no encuentra otro mayor realiza el
cambio en la última posición. Aquí un ejemplo.
9. Sorting
Python
The Insertion Sort
The Insertion Sort trabaja de una manera
similar al Selection Sort solo
Que ahora en lugar de llevar el mayor número
al final lo posiciona inmediatamente en la
siguiente posición y sigue comparando en la
lista. Todos los números menores al mayor
encontrado es insertado en las
posiciones de atrás y el mayor siempre va
quedando en el frente del
Bloque. Veamos el ejemplo.
10. Sorting
Python
Al crear una sublista con números ya
ordenados y siguiendo avanzando
comparando los valores que hay
hacia adelante, va insertando los
menores hacía atrás.
The Insertion Sort
11. Sorting
Python
The Shell Sort
Algoritmo también conocido como “ordenamiento disminuyendo e
incrementando”. Utiliza el método de Insertion Sort pero dividiendo el
listado en pequeños sublistados y en esos sublistados aplica el
Insertion Sort. Veamos la siguiente imagen.
El primer sublistado tendrá el 54, 17, 44 el cual, por el algoritmo de
Insertion Sort, ordenará quedando así 17,44,54.
13. Sorting
Python
The Shell Sort
Como vemos el resultado de el orden de las tres sublistas todavía no
está ordenado. Se aplica nuevamente el Insertion Sort para hacer
cambio de los números que nos queda por ordenar.
14. Sorting
Python
The Merge Sort
The Merge Sort es una función recursiva que dividirá constantemente
el listado a la mitad, lo ordenará y finalmente haré el “merge” la unión
de las partes divididas en una sola.
Primeramente dividirá la lista en dos y lo continuará haciendo hasta
que cada valor quede individual.
15. Sorting
Python
The Merge Sort
Los valores individuales será comparados uno a otro y puestos en
orden correcto, menor primero mayor después, y volverá a unirlos
nuevamente hasta crear el listado ordenado completo.
16. Sorting
Python
The Quick Sort
The Quick Sort utiliza las ventajas del Merge Sort pero si almacenar los
valores en listados o sublistados adicionales.
Primeramente utiliza un “pivot value” o un valor eje que puede ser el
primer valor de la lista y apartir de la siguiente posición comenzará a
dividir la lista comparándolo con el pivot value.
17. Sorting
Python
The Quick Sort
Para esto se necesitarán dos posiciones a las que llamaremos marca
izquierda y marca derecha (leftmark, rightmark) donde el leftmark será
la posición inmediata del valor pivot y el rightmark será la posición final
de la lista. Ambas marcas convergerán en un punto intermedio. Lo
importante aquí es que si el valor pivot, el valor eje es mayor que el
valor de leftmark simplemente se moverá un posición, si el valor pivot
no es mayor hará un pare, un stop y verificará si el valor rightmark es
menor que el valor pivot y si lo es cambiará el valor del leftmark por el
de rightmark y viceversa. Lo podemos ver en la siguiente imagen.
19. Sorting
Python
The Quick Sort
Finalmente cuando el rightmark llega a ser menor que el leftmark hace
un stop. La posición del rightmark llega a ser el punto de división y
donde entrará nuestro valor pivot. Apartir de ahí se dividirá el listado
entre dos y se ordenarán para después unirse nuevamente.
20. Sorting
Python
Veamos estos algoritmos en acción. Pondremos el mismo ejemplo para
todos los algoritmos, crearemos un listado con 1,000 números (del 1 al
1,000) en forma desordenada y veremos que método es el más
eficiente para ordenarlos. Primero se presenta cuanto tiempo tarda en
generar el listado y después cuanto tiempo pasa en ordenarlos.