Heu d’implementar una classe per a una "bossa d’enters" amb les operacions següents:
Descarregueu-vos el fitxer code.py i anomeneu-lo bag.py. Aquest ja conté la interfície de la classe i un programa principal de proves que la fa servir.
Doneu el cost asimptòtic de cadascuna de les operacions públiques en funció d’n on n és el nombre d’elements a la bossa; podeu suposar que k és un valor constant. Comproveu els possibles errors amb assercions. La vostra implementació ha de ser eficient: cap operació pot tenir cost superior a logarítmic. Documenteu el vostre codi adequadament (ni poc, ni massa).
Input
3 empty size items add 22 add 22 add 22 add 22 empty size items
Output
True 0 0 False 3 1
Input
3 add 1 add 1 add 1 add 1 add 2 add 2 add 2 add 2 add 3 add 3 add 3 add 3 add 4 add 4 add 4 add 4 size items minimum remove_minimum remove_minimum remove_minimum remove_minimum minimum size items add 1 add 1 add 1 add 1 minimum size items empty
Output
12 4 1 1 1 1 2 2 8 3 1 11 4 False