FAGPORTALEN

Lineær og binær søgning

Informatik C · STX · C-niveau · Computational thinking

💻 Lineær og binær søgning

Lineær søgning (sequential search): tjek hvert element i listen til match findes.

Tidskompleksitet: O(n).

Pseudokode: ``\nFOR hver element i liste:\n IF element == mål: RETURN index\nRETURN -1\n`` Virker på enhver liste — sorteret eller ej.

Binær søgning (binary search): kun for sorterede lister! Tjek midten, halvdelen kasseres hver gang.

Tidskompleksitet: O(log n) — meget hurtigere.

Pseudokode: ``\nlav, høj = 0, n-1\nWHILE lav <= høj:\n mid = (lav+høj)//2\n IF liste[mid] == mål: RETURN mid\n ELIF liste[mid] < mål: lav = mid+1\n ELSE: høj = mid-1\nRETURN -1\n`` Eksempel: søge i ordbog med 100.000 ord. Lineær: op til 100.000 sammenligninger. Binær: max 17 (log₂ 100000 ≈ 16,6).

Forudsætning: sorteret liste — hvis usorteret, koster sorteringen O(n log n) — kun værd hvis flere søgninger.

Anvendelser: datalager-indekser, telefonbog, autocomplete, IP-routing. Hash-baseret søgning O(1) i hash-tabel — endnu hurtigere men kræver ekstra hukommelse.

Læringsmål

Sådan kan du arbejde med emnet

Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.