🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #27121

Re: B-drzewo w Pythonie

#27121
From: wodzik
Date: Sun, 03 Jan 2010 03:27
38 lines
2561 bytes
On 2010-01-03 03:34, Łukasz Rekucki wrote:

> Najłatwiej to sprawdzić debuggerem. Twój błąd (możliwe, że nie jedyny)
> znajduję się w tu:
>
> brat.wskazniki = tmp.wskazniki[self.MAX + 1:]
> tmp.wskazniki = tmp.wskazniki[:self.MAX + 1]
>
> Węzły które były na liście "wskazniki" pamiętają rodzica swojego
> rodzica, więc oprócz przypisania bratu części wskaźników, powinieneś
> zrobić jeszcze, np.:
>
> for item in brat.wskazniki:
>      item.rodzic = brat

Niby banał, a sam bym chyba w życiu na to nie wpadł. Przeglądałem ten 
kod z 100 razy i za każdym razem wydawało mi się ok.

Dzięki wielkie.


> PS. Ogólnie twój kod nie jest zbyt pythoniczny (sposób użycia for ..
> in, nazwy metod), a miejscami dość nieoptymalny, np:
>
> self.tablica.append(liczba)
> self.tablica.sort()


Pewnie dlatego, że dopiero zaczynam kodowanie w Pythonie, ale będę 
wdzięczny za wszelkie sugestie.
Rozumiem, że lepiej używać for coś in coś? I jak zoptymalizować ten 
kawałek z append i sort? czy wyszukać miejsce gdzie ma się znaleźć 
liczba i użyć insert?

W sumie to podczas pisania nawet specjalnie się nie zastanawiałem nad 
wydajnością, tylko moją wygodą ;]

Pozdr wodzik
Technical Details
Message-ID: <hhp2v8$kps$1@atlantis.news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsfeed.freenet.de!ecngs!feeder2.ecngs.de!194.25.134.126.MISMATCH!newsfeed01.sul.t-online.de!t-online.de!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
References: <hhorn8$7ta$1@atlantis.news.neostrada.pl> <a99ed17d-e589-4ea7-87bd-7f551f284852@u41g2000yqe.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!feed.news.interia.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!newsfeed.freenet.de!ecngs!feeder2.ecngs.de!194.25.134.126.MISMATCH!newsfeed01.sul.t-online.de!t-online.de!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!atlantis.news.neostrada.pl!news.neostrada.pl!not-for-mail
From: wodzik <wodzik@noreply.com>
Newsgroups: pl.comp.lang.python
Subject: Re: B-drzewo w Pythonie
Date: Sun, 03 Jan 2010 04:27:14 +0100
Organization: TP - http://www.tp.pl/
Lines: 38
Message-ID: <hhp2v8$kps$1@atlantis.news.neostrada.pl>
References: <hhorn8$7ta$1@atlantis.news.neostrada.pl> <a99ed17d-e589-4ea7-87bd-7f551f284852@u41g2000yqe.googlegroups.com>
NNTP-Posting-Host: 80.50.125.22
Mime-Version: 1.0
X-Trace: atlantis.news.neostrada.pl 1262489384 21308 80.50.125.22 (3 Jan 2010 03:29:44 GMT)
X-Complaints-To: usenet@news.neostrada.pl
NNTP-Posting-Date: Sun, 3 Jan 2010 03:29:44 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0
In-Reply-To: <a99ed17d-e589-4ea7-87bd-7f551f284852@u41g2000yqe.googlegroups.com>
X-Antivirus: avast! (VPS 100102-1, 2010-01-02), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit