FAGPORTALEN

Søgealgoritmer — lineær O(n), binær O(log n)

Kommunikation og IT A · HTX · A-niveau · Datastrukturer og algoritmer

💻 Søgealgoritmer

Lineær søgning — gennemgår listen element for element:

```python

def lineær_søgning(liste, mål):

for i, x in enumerate(liste):

if x == mål:

return i

return -1 # ikke fundet

```

Kompleksitet: O(n). Virker på usorteret data.

Binær søgning — halverer søgerum ved hvert trin:

```python

def binær_søgning(liste, mål):

venstre, højre = 0, len(liste) - 1

while venstre <= højre:

midt = (venstre + højre) // 2

if liste[midt] == mål:

return midt

elif liste[midt] < mål:

venstre = midt + 1

else:

højre = midt - 1

return -1

```

Kompleksitet: O(log n). Kræver sorteret data.

Eksempel: Søg i 1.000.000 elementer → lineær: 500.000 sammenligninger. Binær: 20 sammenligninger.

Python: bisect-modulet har binær søgning built-in.

Læringsmål

Sådan kan du arbejde med emnet

Træningsforslag

Ø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.