---
title: "Omöjliga möjligt?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/87944-omöjliga-möjligt"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Dano"
published: "2003-10-08T00:55:37.000Z"
updated: "2004-02-20T16:38:50.000Z"
replies: 82
views: 3942
page: 1
pages: 5
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/programmering/87944-omöjliga-möjligt"
---

# Omöjliga möjligt?

_Sida 1 av 5._

## #1 — Dano, 2003-10-08T00:55Z

Hej.

Jag har kommit på 1 sätt att minimera söktiden i arrayer till 0.
jag provade och la upp 15000 arrayer med slumpvisa nummer i.
Och gjorde en sökmotor på dessa nummer.
Om man bara gör en "for loop" och scannar igenom tills man hittar det sökta numret så tar det cirkus 15 sek. Men med min metod är man nere i 0 sek. Och det kvittar också hur många arrayer det är, jag kan lägga upp 1 miljard arrayer och söktiden blir ändå 0. Visst är det fantastikt. Därför undrar jag om detta någonsin har gjorts tidigare?, eller är jag den förste , :e :e :e \*hoppas hoppas\* . Känner ni till någon metod att få 0 i söktid oavsett antal arayer?.
 :birp

Permalänk: https://www.webforum.nu/p/87944

## #2 — Jesper T, 2003-10-08T01:17Z

Det är bara att grattulera. :birp
Då slår du ju google...det luktar mygel.

Permalänk: https://www.webforum.nu/p/1179629

## #3 — Dano, 2003-10-08T01:37Z

Nej det är inget mygel, jag lovar!!!!!!.

AAhh, känns så skönt allltså, kanske man ska slå sig in på databasarean snart när jag fixat till allt och så. Tänk vilken snabbhett alltså!. Tyvärr är enda nackdelen är att metoden  tar väldigt mycket minne, men det är också enda nackdelen.

Permalänk: https://www.webforum.nu/p/1179630

## #4 — Phorpher, 2003-10-08T05:11Z

För det första förstår jag inte vad det har med webutveckling att göra och för det andra skulle jag gärna vilja se en O(0) algoritm...... :OO

Permalänk: https://www.webforum.nu/p/1179638

## #5 — Robban, 2003-10-08T15:47Z

Luktar nobellpris.  :stud 

Algoritmer för att snabba upp sökningar finns det gott om. Men någon som gör att det inte tar någon tid alls har jag aldrig sett (och tvivlar på att jag någonsin kommer att se heller). Skulle vilja påstå att det är teoretiskt omöjligt med den matematiska kunskap vi har idag. :)

Permalänk: https://www.webforum.nu/p/1180008

## #6 — Dano, 2003-10-08T16:11Z

Tackaaaarrrr :). Jepp det är lite matematik inblandat. men just hur jag gjort det kommer jag inte avslöja..... ännu. men jag skulle hemskt gärna vilja visa er ett exempel. men än är det på experiment stadiet, lyckades först i natt med det. men det kommer det kommer. men det får bli i kompilerad kod då i så fall så ni inte tjuvkikar ;) , eller jag kanske kan ha en presentation hemma hos mig. ja vi får se. än återstår det mycket arbete.

kanske nån kan lägga över detta i rätt forumtråd, jag vet, jag kollade inte så noga var jag postade det, var så uppspelt i natt :) :) :) :)

Permalänk: https://www.webforum.nu/p/1180021

## #7 — Web-Tor, 2003-10-08T16:12Z

> Tyvärr är enda nackdelen är att metoden tar väldigt mycket minne

Hur kan metoden uppta datorns minne när sökningen inte tar någon tid?
Alltså - när (under den ickeexisterande söktiden) kräver metoden minnesåtgång?

> kanske nån kan lägga över detta i rätt forumtråd

Vart tycker du att tråden ska flyttas?

Permalänk: https://www.webforum.nu/p/1180023

## #8 — Nickemannen, 2003-10-08T16:18Z

Låter intressant.

Fast vad skrev du.
Du la upp en massa arrayer 15000 stycken för att vara exakt.
Och sedan slumpade du ut nummer ? Och skulle sedan hitta dom numren eller ?

Permalänk: https://www.webforum.nu/p/1180028

## #9 — SPiN, 2003-10-08T16:19Z

Det låte ju \[för\] fantastiskt, men är det så bra som du påstår så skulle jag hålla koden någonstans och ta mycket betalt för den. ;)

Grattis! :)

Permalänk: https://www.webforum.nu/p/1180029

## #10 — Dano, 2003-10-08T16:23Z

om jag förklarar så avslöjar jag hur jag gjort. :(
Det kanske låter underligt. Det är en paradox. Men det funkar.
Ni får lugna er lite, jag berättar i sinom tid. hur snabbt är det snabbaste man kan söka i arrayer hittintills?, i jämförelse då?.
Vet ni?. Jag har ingen koll alls.

Permalänk: https://www.webforum.nu/p/1180031

## #11 — Dano, 2003-10-08T16:26Z

Jepp jag tillverkade 15000 arrayer, eller struct-array för att vara exakt, eftersom varje array har 2 värden, ett med ett slumpvis nummer och ett med lite text som meddelar att den hittat rätt. Och gjorde en sökmotor på dessa nummer. Och så slår man in ett nummer så letar den upp vilken array det är som har det matchande numret. Och i normala fall när man gör använder en "for loop" och en "if sats" för att söka igenom alla 15000 arrayerna så tar det flera sekunder, men med min metod så är man nere i noll.

Permalänk: https://www.webforum.nu/p/1180034

## #12 — Phorpher, 2003-10-08T16:37Z

Du är medveten om att det strider mot... Öhh.. Ja.. Matematiken, naturlagarna.. 

Vi tar det lugnt från början nu.

Du har skapat 15 000 arrayer som har ett antal strukturer som i sin tur innehåller två värden: ett heltal och en sträng?

Dvs:
Array 1: \[(42, "paraply"), (54, "lingonskog"), (743, "foo")\]
Array 2: \[(23, "väderleksrapport"), (754, "hatahaskell")\]

.
.
.

Array 15 000: \[ ... \]

Du kan nu söka efter ett tal i dessa 15 000 arrayer och på 0 sekunder ( :OO ) hitta rätt? Utveckla gärna. Det ska bli mycket intressant. ;)

Permalänk: https://www.webforum.nu/p/1180041

## #13 — Dano, 2003-10-08T16:44Z

:) , helt korrekt, det är precis så det ser ut.
såhär tex:

struct test{
	int nummer;
	string text;
};

test structen\[15000\];

structen\[0\].nummer=234342;
structen\[0\].text="slabbeduska";

structen\[1\].nummer=5765;
structen\[1\].text="toalett";

osv osv osv 15000........

 :birp

Permalänk: https://www.webforum.nu/p/1180045

## #14 — niko, 2003-10-08T17:14Z

Behandlar du din slumparray på nåt sätt innan du börjar din sökning? Typ sorterar den eller lägger över hela klabbet i nån Hashtable? 

Om ja: Är tiden *det* tar inräknat i de 0 sekunderna?

Permalänk: https://www.webforum.nu/p/1180063

## #15 — spango, 2003-10-08T18:43Z

Måste nog erkänna att även jag är aningens skeptisk...

> **Dano skrev:**
>
> Tyvärr är enda nackdelen är att metoden  tar väldigt mycket minne, men det är också enda nackdelen.

Någon uppskattning på hur denna minnesmängd förhåller sig till hur mycket data du söker genom? Om minnesmängden växer exponentiellt eller liknande är det fullkomligt meningslöst att använda algoritmen, även om den så skulle ta mindre än -1 sekund.

> **Dano skrev:**
>
> men jag skulle hemskt gärna vilja visa er ett exempel. men än är det på experiment stadiet, lyckades först i natt med det. men det kommer det kommer. men det får bli i kompilerad kod då i så fall så ni inte tjuvkikar

Gör det, och utforma programmet så att vi kan förse det med våra egna listor på ord/heltal. Förresten, måste talen vara unika?

> **Web-Tor skrev:**
>
> Vart tycker du att tråden ska flyttas?

 
Åt "Programmering - Övrigt" till låter väl lämpligt?

Permalänk: https://www.webforum.nu/p/1180138

## #16 — Palle, 2003-10-08T20:04Z

Flyttas från Webbutveckling - Övrigt

mvh Palle
Moderator webForum

Permalänk: https://www.webforum.nu/p/1180208

## #17 — Dano, 2003-10-08T20:06Z

Någon uppskattning på hur denna minnesmängd förhåller sig till hur mycket data du söker genom? Om minnesmängden växer exponentiellt eller liknande är det fullkomligt meningslöst att använda algoritmen, även om den så skulle ta mindre än -1 sekund. 

minnesmängden är konstant hela tiden hela vägen från det man startar och till man avslutar, den ökar inte vid sökning.

Permalänk: https://www.webforum.nu/p/1180213

## #18 — PeW, 2003-10-08T20:45Z

Det enda du gör är ju att du parar ihop en text med ett tal. Du kan ju omöjligt låta algoritmen **leta** efter en sträng utan att det åtgår nån form av tid. För i begreppet 'leta' ingår det att du jämför strängen med söksträngen, eller menar du att man vet med sig att nummer 555 motsvarar 'haskell\_är_roligt_om_man_ger_fan_i_grafik'. Isf är det ingen maskinell 'sökning' överhuvudtaget och alla dina jämförelser med etablerade metoder faller pladask  ;)

Vidare kan du omöjligt få plats med alla dessa adresser i cacheminnet för cpu:n, så det lär bli en del tidsåtgång för denna att leta rätt på rätt minnesblock, dock under 1 sekund. Däremot kan det i det fallet ändå bli över en sekund iom att operativsystemet knappast låter ditt program köra ostört hela tiden det tar att ladda in rätt block. Men det beror ju isf mer på operativet än din ihop-parning av värden med strängar.

Permalänk: https://www.webforum.nu/p/1180249

## #19 — spango, 2003-10-08T20:57Z

> **Dano skrev:**
>
> minnesmängden är konstant hela tiden hela vägen från det man startar och till man avslutar, den ökar inte vid sökning.

Vad är det då som kräver en massa minne, om jag får fråga?

Fram med en kompilerad version, alt. en serverbaserad version som kan ta emot en godtycklig indatafil, sen övertygar du mig.

Permalänk: https://www.webforum.nu/p/1180264

## #20 — Gein, 2003-10-08T21:01Z

Även jag är väldigt skeptisk till detta. Konstant söktid?
Säger som föregående talare, fram med en kompilerad version :)

Permalänk: https://www.webforum.nu/p/1180267

---

Tråden på webben: https://www.webforum.nu/amne/programmering/87944-omöjliga-möjligt  
Nästa sida: https://www.webforum.nu/amne/programmering/87944-omöjliga-möjligt/page2.md
