- 1
Introducción a Python: Instalación y Conceptos Básicos
07:16 - 2
Desarrollo de CRUD con Python 3
00:18 - 3
Configuración de Ubuntu en Windows 10 para Ejecutar Comandos Linux
01:00 - 4

Curso Avanzado de Python: Actualización y Creación de Aplicaciones CLI
06:28 - 5

Programación gráfica básica con Python y Turtle
10:09 - 6

Operadores y Valores en Programación Python
10:04 - 7

Variables y Expresiones en Python: Tipos, Asignación y Reglas Básicas
12:33 - 8

Creación de Aplicación CLI para Gestión de Ventas y Clientes en Python
06:54 - 9

Funciones en Python: Declaración y Uso Básico
09:31 - 10

Funciones y Variables Globales en Python: Crear y Listar Clientes
06:18 - 11

Estructuras Condicionales y Booleanas en Programación
11:01 - 12

Personalización de Programas con Funciones y Condicionales en Python
08:08
Búsqueda Binaria en Python: Implementación Recursiva y Iterativa
Clase 31 de 49 • Curso Práctico de Python: Creación de un CRUD
Contenido del curso
- 13

Manipulación de Cadenas en Python: Índices y Memoria
09:42 - 14

Operaciones y métodos útiles para manipular strings en Python
06:16 - 15

Actualización de Clientes en Python: Implementación de Funciones
09:11 - 16

Implementación del Comando Delete en CRUD de Clientes
05:57 - 17

Manipulación de secuencias en Python con slices
09:45 - 18

Iteraciones en Python: Uso de For y While Loops
13:02 - 19

Bucles While en Python: Uso y Manejo de Errores Comunes
14:05 - 20
Iteradores y Generadores en Python: Creación y Uso Práctico
01:14
- 21

Uso de listas
11:51 - 22

Operadores y Métodos para Manipular Listas en Python
15:28 - 23

Manipulación de Listas en Programación Python
08:46 - 24

Diccionarios en Python: Uso y Métodos Básicos
09:16 - 25

Diccionarios en Python para Gestión de Clientes
12:26 - 26

Tuplas y Conjuntos en Python: Características y Usos Prácticos
07:18 - 27

Tuplas y Sets en Python: Conceptos y Usos Básicos
08:49 - 28
Colecciones Avanzadas en Python: UserDict, namedtuple y más
01:35 - 29

Comprehensions en Python: Listas, Diccionarios y Sets
11:12 - 30

Algoritmos de Búsqueda: BruteForce vs. Búsqueda Binaria en Python
07:06 - 31

Búsqueda Binaria en Python: Implementación Recursiva y Iterativa
10:00 - 32

Manipulación de archivos en Python 3
00:15
- 33

Introducción a Decoradores en Python: Modifica Funciones Eficazmente
03:29 - 34

Decoradores en Python: Creación y Uso Efectivo
13:37 - 35

Programación Orientada a Objetos: Principios y Aplicaciones
06:11 - 36

Conceptos Básicos de Programación Orientada a Objetos en Python
08:04 - 37
Names y Namespaces en Python: Conceptos Fundamentales
01:58 - 38

Uso de Click para Aplicaciones de Línea de Comandos en Python
03:15 - 39

Estructura y Comandos Básicos para Aplicaciones CLI en Python
14:36 - 40

Modelado de Clientes y Servicios en Python OOP
10:17 - 41

Recopilación de datos del usuario con CLI en Python
06:57 - 42

Implementación de List Clients en Client Services
07:49 - 43

Actualización de Clientes en Python: Implementación y Guardado en Disco
06:14 - 44

Actualización de Clientes en Interfaz de Comando
07:44 - 45

Manejo de Errores en Python: Try, Except, Else y Finally
07:47 - 46
Gestión de Contextos en Python: Clases y Generadores
01:30
¿Cómo implementar una búsqueda binaria en Python?
La implementación de algoritmos en Python, como la búsqueda binaria, no solo optimiza procesos, sino que también desafía tus habilidades de programación. Aquí te guiaré a través de la implementación de la búsqueda binaria desde cero, utilizando Python y técnicas sofisticadas como la recursión. Prepárate para expandir tu arsenal de técnicas algorítmicas.
¿Cómo configurar el entorno inicial?
Para comenzar, crea un archivo nuevo en Python para tu algoritmo de búsqueda. La estructura de tu programa empieza con un punto de entrada, definido por el bloque if __name__ == "__main__":. A continuación, te guiaré en los pasos para establecer inicialmente tu entorno:
-
Generar una lista de números aleatorios: Utiliza el módulo
randompara obtener una lista de números enteros aleatorios.import random data = [random.randint(0, 100) for _ in range(10)] -
Ordenar la lista: La búsqueda binaria requiere una lista ordenada. Usa el método
sort()para modificar la lista en lugar desorted(), que devuelve una nueva lista.data.sort() print(data)
¿Cómo diseñar la interfaz de la función de búsqueda binaria?
Antes de escribir la lógica interna de nuestra función, debemos definir su estructura externa. La interfaz de nuestra función es crucial para que sea clara y funcional:
- Nombre de la función:
binary_search. - Parámetros requeridos:
data(lista ordenada),target(número a buscar),low(índice bajo),high(índice alto).
Ejemplo de llamada a la función:
result = binary_search(data, target, 0, len(data) - 1)
¿Cómo implementar la búsqueda binaria usando recursión?
La recursión es clave para implementar una búsqueda binaria de manera eficiente. Te mostraré cómo hacerlo paso a paso:
-
Condición de parada: Si
lowes mayor quehigh, el elemento no está en la lista.if low > high: return False -
Calcular el índice medio: Esto se hace sumando
lowyhighy dividiendo por dos.mid = (low + high) // 2 -
Casos de búsqueda:
- Si
targetes igual al elemento en el índice medio, regresaTrue. - Si
targetes menor, busca en la mitad izquierda. - Si
targetes mayor, busca en la mitad derecha.
if target == data[mid]: return True elif target < data[mid]: return binary_search(data, target, low, mid - 1) else: return binary_search(data, target, mid + 1, high) - Si
¿Cómo mejorar tus habilidades con el algoritmo?
Finalizar una implementación no es el fin del aprendizaje. Te animo a que profundices:
- Reto práctico: Implementa la búsqueda binaria sin recursión usando bucles. Observa cómo difiere la lógica y cómo manipular los índices.
- Prueba y depuración: Genera diferentes listas, prueba con números variopintos y depura problemas lógicos o errores de sintaxis.
¿Qué se espera al probar el algoritmo?
Prueba tu implementación ejecutando el script. A medida que generas listas aleatorias y buscas elementos específicos, obtendrás práctica invaluable. Por ejemplo:
$ python binary_search.py
[2, 5, 10, 12, 17, 24, 31, 41, 56, 72]
¿Qué número te gustaría encontrar? 10
True
Al practicar y resolver retos adicionales, como eliminar la recursión, te perfeccionarás en el arte de la búsqueda binaria. Sigue explorando, ajustando y aprendiendo. ¡El mundo de la programación está lleno de posibilidades y está al alcance de tus habilidades!