[python] vnitřní implementace python listu
Jan Matejka
matejka na cat.cz
Pondělí Leden 8 18:55:00 CET 2007
> Ono jde o to, že si můžete vybrat - některé operace pomalejší
> a některé rychlejší. Souvislý seznam má extrémně rychlé
> append, přístup přes indexy, čtení a zápis prvku. Zase
> pomalejší vkládání doprostřed seznamu.
Ano, souhlasím, do určité velikosti seznamu je souvislý blok nejlepší
reprezentace.
Zkusil jsem testík vložení 100000 záznamů na konec a na začátek seznamu.
Rozdíl je v tomto případě o 2 řády, zjevně je ukládání na začátek seznamu
(pole) pro tuto velikost daleko za limitem efektivity.
for i in xrange(n):
l.append(i)
0.0310001373291
for i in xrange(n):
l.insert(0,n)
5.01599979401
Naštěstí python poskytuje prostředky pro vytvoření vlastních kontejnerů,
takže v připadě potřeby si člověk může udělat svůj specifický i když
přiloženou baterii tohoto druhu bych docela čekal.
Jan Matějka
Další informace o konferenci Python