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

236
Vistas
Cómo escribir una función pop para una pila en Javascript/Typescript en O(1)

Estoy tratando de construir mi propia pila en TypeScript y tengo problemas para implementar una función pop() que puede ejecutarse en una complejidad de tiempo O(1) para imitar la función pop() nativa de Javascript. Puedo eliminar el elemento superior, pero Javascript mantiene el índice en la pila como undefined . Para combatir esto, filtro la pila para eliminar lo indefinido, lo que genera una complejidad de tiempo O(n). Cualquier otra idea para implementar esto en O(1) es apreciada. Código actual:

 public pop(): T { if (this.isEmpty()) { throw new Error('Empty Stack'); } const popped = this.storage[this.size() - 1]; this.stackSize--; delete (this.storage[this.size() - 1]); this.storage = this.storage.filter(x => x !== undefined); return popped; }
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

No es necesario que elimine el elemento de la matriz

si simplemente llamas

 this.stackSize--;

implícitamente dices que lo quitaste

la cuestión es que necesita cambiar todas sus otras funciones para trabajar con índice en lugar de funciones nativas

por lo que la parte superior () debería ser como

 top(){ return this.stack[this.stackSize-1] }

y así...

Esto logrará O (1)

about 4 years ago · Juan Pablo Isaza Denunciar

0

En JavaScript, puede acortar la matriz de esta manera:

 this.storage.length = this.storage.length-1
about 4 years ago · Juan Pablo Isaza 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