Article View: be.comp.programming
Article #6533Re: Doorsnede maken van array's
From: Jack D
Date: Thu, 05 Dec 2002 16:33
Date: Thu, 05 Dec 2002 16:33
47 lines
3144 bytes
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-mailReferences:
<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