Article View: pl.comp.lang.python
Article #27121Re: B-drzewo w Pythonie
From: wodzik
Date: Sun, 03 Jan 2010 03:27
Date: Sun, 03 Jan 2010 03:27
38 lines
2561 bytes
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-mailReferences:
<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