🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #6533

Re: Doorsnede maken van array's

#6533
From: Jack D
Date: Thu, 05 Dec 2002 16:33
47 lines
3144 bytes
Jack D wrote on 05-12-2002 15:21:

> Toni Van Remortel wrote on 03-12-2002 09:30:
> 
>> keanu wrote:
>> 
>>> <knip>
>>> 
>>> waar zit de vraag ? :)
>> 
>> <quote>
>> Ik heb wel een idee hoe ik het kan oplossen, maar ik had graag ook nog een
>> andere kijk op het probleem gehad.
>> </quote>
>> 
>> OK, er staat geen ? tussen, maar ik had gehoopt dat er topch slimme mensen
>> tussen zaten ;-)
>> Onderwijl ga ik mijn eigen oplossing gebruiken (gewoon een lusje waain elk
>> voorkomen wordt geteld. kan ik nadien ook nog een % weergeven).
> 
> Als er een bovengrens zit op de getallen die je wilt gebruiken, kan je per
> array en bitmask opstellen van de (al dan niet) voorkomende waardes. Als je
> dan een bitwise & van de vier waardes doet, krijg je een bitmask waarin alle
> waardes die steeds voorkomen op 1 staan.
> 
> Als er geen voorkomt, zal je de verschillende combinaties van n-1 array
> moeten combineren met elkaar etc. Deze methode zal zeker sneller zijn als de
> lengte van de arrays groter is dan het aantal arrays.
> 
> Een andere mogelijke optimalisatie die ik zie, is om hetgeen te doen dat jij
> zegt, maar niet in arbitraire volgorde, ik zou beginnen met de elementen uit
> de kortste array. Als deze al overal voorkomen, ben je er, zoniet, dan pak
> je er de elementen uit de tweede kortste bij en tel je deze elementen ook,
> als er dan elementen n-1 keer voorkomen (n = aantal arrays) is dit de
> oplossing en zo verder.
> 
> Hopelijk helpt dit een beetje,
> Greetz,
> Jacko

Beuh, heb nog even zitten denken en de eerste methode heeft weinig zin, het
is interessant als je de data nog wil bijhouden om nog allerlei toestanden
mee uit te rekenenen, maar voor dit specifiek probleem is de complexiteit
van het opstellen van de bitmasks gelijk aan het tellen van alle elementen.

De tweede methode heeft wel zin (kwestie dannek toch nog iets deftig
geproduceerd heb ook :) ) op voorwaarde dat de arrays gesorteerd zijn.
Technical Details
Message-ID: <BA153E80.16879%jack_221NOSP@Mhotmail.com>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-04!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!news2.euro.net!postnews1.euro.net!news.versatel.net!not-for-mail
References: <AiKG9.31209$Ti2.5469@afrodite.telenet-ops.be> <pan.2002.12.02.16.43.41.242367@keanu.be> <PYZG9.32579$Ti2.5726@afrodite.telenet-ops.be> <BA151F5D.1660B%jack_221NOSP@Mhotmail.com>

Show Full Headers
Complete Article Headers
X-Google-Language: DUTCH,ASCII-7-bit
X-Google-Thread: fcea4,3e01af1bbcb1a7df
X-Google-Attributes: gidfcea4,public
X-Google-ArrivalTime: 2002-12-05 08:34:06 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!sn-xit-03!sn-xit-01!sn-xit-04!sn-xit-08!supernews.com!news.tele.dk!news.tele.dk!small.news.tele.dk!newsfeed.multikabel.nl!news2.euro.net!postnews1.euro.net!news.versatel.net!not-for-mail
User-Agent: Microsoft-Entourage/10.1.0.2006
Date: Thu, 05 Dec 2002 17:33:52 +0100
Subject: Re: Doorsnede maken van array's
From: Jack D <jack_221NOSP@Mhotmail.com>
Newsgroups: be.comp.programming
Message-ID: <BA153E80.16879%jack_221NOSP@Mhotmail.com>
References: <AiKG9.31209$Ti2.5469@afrodite.telenet-ops.be> <pan.2002.12.02.16.43.41.242367@keanu.be> <PYZG9.32579$Ti2.5726@afrodite.telenet-ops.be> <BA151F5D.1660B%jack_221NOSP@Mhotmail.com>
Mime-version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-transfer-encoding: 7bit
Lines: 48
Organization: Versatel
NNTP-Posting-Date: 05 Dec 2002 16:33:52 GMT
NNTP-Posting-Host: 62.58.106.42
X-Trace: 1039106032 news.versatel.net 152 62.58.106.42:49566
X-Complaints-To: abuse@versatel.net