Article View: pl.comp.lang.c
Article #178Re: potrzebuje posortowac
From: Jacek Szpyrka
Date: Sat, 01 Nov 1997 12:30
Date: Sat, 01 Nov 1997 12:30
43 lines
2419 bytes
2419 bytes
Gracjan Ziółek napisał(a) w artykule <345A351B.26F4@celebris.bdk.lublin.pl>... >Robert Maron wrote: >> >> Jacek: [pl.comp.lang.c: Thu, 30 Oct 1997 23:00:57 +0100] >> : Proponowalbym uzyc do tego B-drzewa. Jest to o ile wiem najszybsza znana >> [...] >> >> w zasadzie racja... ale po co sie tak meczyc; >> wystarczy: >> - podzielic plik na czesci tak duze, jak duze porcje mozemy sortowac >> w pamieci, >> - posortowac kazda >> - potem parami merdzowac >> - wyniki znowu parami merdzowac, itd. >> >> to bedzie bardzo szybkie, a w unixie da sie zaimplementowac kilkulinijkowym >> skryptem, pod dosem/winda kilkunastolinijkowym programem... > >W takich przypadkach merging to jedyne sensowne rozwiazanie :). Ale zeby >tak rekordy skryptem?... Ja to bym wolal C :) Zapomnieliście (R.M. i G.Z.) że w przypadku "mergowania" trzeba się trochę tych danych "naprzerzucać" co powoduje że już nie jest tak szybko jakbyście chcieli. I mój algorytm (b-drzewa) i wasz (mergowanie) ma złożoność O(n log n) ze względu na liczbę dostępów do dysku. Jednakże mój operuje tylko na "kluczach" służących do indeksowania a wasz na całych rekordach. Jeżeli te rekordy to na int'y to rzeczywiście wasz jest lepszy, jeżeli jednak mają one po np 1000 bajtów to wasza metoda "wysiada". W "mojej" metodzie każdy rekord jest dokładnie dwa razy czytany z dysku i raz zapisywany. pozdrawiam Porkis porkis@kki.net.pl - jeśli nie działa spróbuj: @bbs.chip.pl, @polbox.com, @tempus.ii.uni.wroc.pl http://polbox.com/p/porkis, http://www.kki.net.pl/porkis
Technical Details
Message-ID:
<63fadr$r2p$3@okapi.ict.pwr.wroc.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!ict.pwr.wroc.pl!not-for-mailReferences:
<Pine.GSO.3.96.971029151748.27850B-100000@geolog.geol.agh.edu.pl> <63c7h8$bfs$2@okapi.ict.pwr.wroc.pl> <63c9v9$122$1@domek.slodki.domek> <345A351B.26F4@celebris.bdk.lublin.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!uw.edu.pl!ict.pwr.wroc.pl!not-for-mail From: "Jacek Szpyrka" <porkis@kki.net.pl> Newsgroups: pl.comp.lang.c Subject: Re: potrzebuje posortowac Date: Sat, 1 Nov 1997 13:30:10 +0100 Organization: Technical University of Wroclaw, Poland Lines: 47 Message-ID: <63fadr$r2p$3@okapi.ict.pwr.wroc.pl> References: <Pine.GSO.3.96.971029151748.27850B-100000@geolog.geol.agh.edu.pl> <63c7h8$bfs$2@okapi.ict.pwr.wroc.pl> <63c9v9$122$1@domek.slodki.domek> <345A351B.26F4@celebris.bdk.lublin.pl> NNTP-Posting-Host: wro-rap20.wroclaw.tpnet.pl Mime-Version: 1.0 X-Newsreader: Microsoft Outlook Express 4.71.1008.3 X-MimeOLE: Produced By Microsoft MimeOLE Engine V4.71.1008.3 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit