🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: chile.comp.programacion
Article #893

Re: Efectividad de Busqueda Binaria dentro de un archivo

#893
From: JotMeil
Date: Mon, 21 May 2007 14:55
44 lines
2406 bytes
Si el ID es correlativo

porque no multiplicas el ancho de la fila (si es fijo supongo) por el ID que 
buscas - Ancho de la fila (para quedar al principio de la linea)

Eso te da la posision dentro del archivo y usas un lseek o fseek

Pos = (Ancho * Id ) - Ancho

Suponiendo que comienza el ID desde 1


"Alberto Hormazabal" <tuto@antonia.lj.cl> escribi� en el mensaje 
news:464c8e0c@news.vcd.cl...
>
> Necesito hacer una funcion que busque una linea especifica dentro de un
> archivo en base a un id, el archivo es generalmente de gran tama�o.
>
> Cada linea tiene un id correlativo, el cual aumenta de tama�o en cada
> fila, lo que me permitiria implementar una busqueda binaria para ubicar
> una linea especifica dentro del archivo...
>
>
> Ahora, leyendo por ahi y por aca, surge la idea de que tal vez no es lo
> mas eficiente implementar esto con busqueda binaria, ya que su
> comportamiento aleatorio generaria mas busquedas en el disco y haciendo
> inutil el cache de lectura del S.O. lo que lo haria mas lento que una
> busqueda lineal.
>
>
> Espero comentarios al respecto.
>
>
> PD: no me vengan con que la solucion es "crear un indice del archivo"
> porque el archivo en cuestion ya es un indice. :P
>
>
> -- 
> El Tuto
> tuto@aalc.lj.cl
>
> Clothes make the man.  Naked people have little or no influence on 
> society.
> -- Mark Twain 
Technical Details
Message-ID: <f2sbsh$1o4$1@news.nivel5.cl>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!fu-berlin.de!news.nivel5.cl!not-for-mail
References: <464c8e0c@news.vcd.cl>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1593cb,d09191e198c14f86
X-Google-Attributes: gid1593cb,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!fu-berlin.de!news.nivel5.cl!not-for-mail
From: "JotMeil" <JotMeil@jotmail.com>
Newsgroups: chile.comp.programacion
Subject: Re: Efectividad de Busqueda Binaria dentro de un archivo
Date: Mon, 21 May 2007 10:55:13 -0400
Organization: Varios
Lines: 46
Message-ID: <f2sbsh$1o4$1@news.nivel5.cl>
References: <464c8e0c@news.vcd.cl>
NNTP-Posting-Host: pc-5-131-104-200.cm.vtr.net
X-Trace: news.nivel5.cl 1179759313 1796 200.104.131.5 (21 May 2007 14:55:13 GMT)
X-Complaints-To: news@news.nivel5.cl
NNTP-Posting-Date: Mon, 21 May 2007 14:55:13 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.3028
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3028
X-RFC2646: Format=Flowed; Original
X-Antivirus: avast! (VPS 000742-0, 21-05-2007), Outbound message
X-Antivirus-Status: Clean