Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

186
Vistas
¿Cómo es una declaración de cambio más eficiente que otras declaraciones condicionales cuando se verifican múltiples valores posibles?

Sé que usar un switch-case es más eficiente que vincular declaraciones else-if cuando se verifican múltiples valores de variables posibles. Pero lo que no sé es cómo "salta" al valor correcto tan rápido. ¿Qué tipo de función o protocolo utiliza generalmente?

Gracias.

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Fíjate en esto, ahí está bastante bien explicado:

Cuando el compilador compila una declaración de cambio, inspeccionará cada una de las constantes del caso y creará una "tabla de salto" que usará para seleccionar la ruta de ejecución según el valor de la expresión.

https://www.geeksforgeeks.org/switch-vs-else/#:~:text=A%20switch%20statement%20is%20generalmente,a%20set%20of%20nested%20ifs.&text=The%20compiler%20can% 20hacer%20esto,el compilador%20tiene%20ningún%20tal%20conocimiento .

over 4 years ago · Santiago Trujillo Denunciar

0

Para un pequeño número de condiciones, la diferencia es bastante pequeña, pero para muchas condiciones es mejor usar un interruptor. La razón es que cuando hay muchos valores y condiciones, usa un hashtable/hashmap (un diccionario), es una estructura de datos con una complejidad O(1) de acceso a los elementos, para asegurar que todos los valores tengan el mismo tiempo de acceso. Esta es la razón por la cual los interruptores son mejores que los ifs cuando hay muchas condiciones para verificar.

over 4 years ago · Santiago Trujillo Denunciar

0

Para publicar preguntas como How is <A> more efficient than <B> ?, debe estar bastante seguro de que, de hecho, es cierto.

Apuesto a que puedo encontrar algunos ejemplos para los cuales if...else if... funcionarán mejor. Por ejemplo, beneficiándose de la predicción de ramas.

Además, la complejidad O(1) puede llevar más tiempo que O(n) , dependiendo del costo constante. Y n , por supuesto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda