Medianator

Implementeu una classe Medianator que mantinguin una col·lecció de naturals i ofereixi operacions per afegir un natural (amb possibles repetits) i consultar la mediana dels naturals afegits fins al moment.

Recordeu que la mediana d’nn elements és aquell que es trobaria a la posició (n+1)/2\lfloor (n + 1)/2 \rfloor (començant per 1) si estiguessin ordenats. Així, la mediana de cinc elements és el tercer més petit i la mediana de sis elements també és el tercer més petit.

Descarregueu-vos el fitxer code.py. Aquest ja conté la interfície de la classe i un programa principal de proves que la fa servir.

Les vostres operacions han de tenir cost logarítmic. Comproveu els possibles errors amb assercions. Documenteu i especifiqueu el vostre codi adequadament.

Pista: Penseu a classificar els elements en dos grups, fent servir estructures de dades que permetin traslladar elements particulars entre els dos grups amb cost logarítmic.

Informació del problema

Autoria: Jordi Petit

Generació: 2026-01-25T11:58:31.741Z

© Jutge.org, 2006–2026.
https://jutge.org