{"id":407,"date":"2024-03-11T05:38:31","date_gmt":"2024-03-11T05:38:31","guid":{"rendered":"https:\/\/devayuda.com\/como-hacer-una-busqueda-binaria-en-python-resuelto\/"},"modified":"2024-03-11T05:38:31","modified_gmt":"2024-03-11T05:38:31","slug":"como-hacer-una-busqueda-binaria-en-python-resuelto","status":"publish","type":"post","link":"https:\/\/devayuda.com\/como-hacer-una-busqueda-binaria-en-python-resuelto\/","title":{"rendered":"C\u00f3mo hacer una b\u00fasqueda binaria en Python – Resuelto"},"content":{"rendered":"

\u00bfQu\u00e9 es la b\u00fasqueda binaria?<\/h2>\n

La b\u00fasqueda binaria es un algoritmo de b\u00fasqueda eficiente que se utiliza para encontrar un elemento en una lista ordenada. En lugar de buscar secuencialmente cada elemento en la lista, la b\u00fasqueda binaria divide repetidamente la lista por la mitad y determina en qu\u00e9 mitad se encuentra el elemento buscado. Este proceso se repite hasta que se encuentra el elemento o se determina que no est\u00e1 en la lista.<\/p>\n

C\u00f3mo implementar una b\u00fasqueda binaria en Python<\/h2>\n

Para implementar una b\u00fasqueda binaria en Python, primero necesitamos una lista ordenada en la que buscar el elemento. A continuaci\u00f3n, definimos una funci\u00f3n que tomar\u00e1 la lista y el elemento que queremos buscar como argumentos. Aqu\u00ed hay un ejemplo de c\u00f3mo hacer una b\u00fasqueda binaria en Python:<\/p>\n

<\/p>\n

def busqueda_binaria(lista, elemento):<\/p>\n

inicio = 0<\/p>\n

fin = len(lista) - 1<\/p>\n

while inicio <= fin:\n\n\n medio = (inicio + fin) \/\/ 2\n\n\n if lista[medio] == elemento:\n\n\n return medio\n\n\n elif lista[medio] < elemento:\n\n\n inicio = medio + 1\n\n\n else:\n\n\n fin = medio - 1\n\n\n\n\n\n return -1\n\n\n<\/code><\/p>\n

En este ejemplo, la funci\u00f3n `busqueda_binaria` toma una lista ordenada `lista` y un elemento `elemento` como argumentos. Luego, se inicializan las variables `inicio` y `fin` para representar los \u00edndices extremos de la lista. Dentro del bucle while, se calcula el \u00edndice medio y se compara el elemento en ese \u00edndice con el elemento que estamos buscando. Si el elemento se encuentra en el \u00edndice medio, se devuelve ese \u00edndice. Si el elemento es mayor que el elemento en el \u00edndice medio, se ajusta el \u00edndice de inicio para buscar en la mitad derecha de la lista. Si el elemento es menor, se ajusta el \u00edndice de fin para buscar en la mitad izquierda de la lista. Este proceso se repite hasta que se encuentra el elemento o se determina que no est\u00e1 en la lista.<\/p>\n

Ejemplo de uso de la b\u00fasqueda binaria<\/h2>\n

Veamos un ejemplo de c\u00f3mo usar la funci\u00f3n `busqueda_binaria` con una lista ordenada:<\/p>\n

<\/p>\n

lista = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]<\/p>\n

elemento = 5<\/p>\n

resultado = busqueda_binaria(lista, elemento)<\/p>\n

if resultado != -1:<\/p>\n

print(f\"El elemento {elemento} est\u00e1 en la posici\u00f3n {resultado}\")<\/p>\n

else:<\/p>\n

print(f\"El elemento {elemento} no est\u00e1 en la lista\")<\/p>\n

<\/code><\/p>\n

En este ejemplo, tenemos una lista ordenada del 1 al 10 y queremos buscar el elemento 5. Llamamos a la funci\u00f3n `busqueda_binaria` con la lista y el elemento como argumentos y almacenamos el resultado en la variable `resultado`. Luego, comprobamos si el resultado es diferente de -1 (indicando que se encontr\u00f3 el elemento) y mostramos el mensaje correspondiente.<\/p>\n

Con este ejemplo, ahora sabes c\u00f3mo implementar y utilizar una b\u00fasqueda binaria en Python para encontrar elementos de manera eficiente en listas ordenadas. \u00a1Espero que este art\u00edculo te haya sido \u00fatil!<\/p>\n","protected":false},"excerpt":{"rendered":"

\u00bfQu\u00e9 es la b\u00fasqueda binaria? La b\u00fasqueda binaria es un algoritmo de b\u00fasqueda eficiente que se utiliza para encontrar un elemento en una lista ordenada. En lugar de buscar secuencialmente cada elemento en la lista, la b\u00fasqueda binaria divide repetidamente la lista por la mitad y determina en qu\u00e9 mitad se encuentra el elemento buscado. […]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[20],"tags":[],"blocksy_meta":[],"_links":{"self":[{"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/posts\/407"}],"collection":[{"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/comments?post=407"}],"version-history":[{"count":0,"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/posts\/407\/revisions"}],"wp:attachment":[{"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/media?parent=407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/categories?post=407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devayuda.com\/wp-json\/wp\/v2\/tags?post=407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}