Video: NKUL 2019 Sesjon 1G: Algoritmisk tenkning og programmering i fagfornyelsen 2024
Struktur er et vigtigt element i algoritmernes arbejde. Et væsentligt behov for at mødes som en del af arbejdet med data er at forstå dataindholdet. En søgealgoritme fungerer kun, når du forstår datasættet, så du ved, hvad du skal søge efter ved hjælp af algoritmen.
Leder efter ord, når datasættet indeholder tal, er en umulig opgave, der altid resulterer i fejl. Dog er søgfejl på grund af manglende forståelse af datasætindhold en almindelig forekomst, selv med de bedste søgemaskiner.
Mennesker gør antagelser om datasætindhold, der får algoritmer til at mislykkes. Derfor er det bedre, at du kan se og forstå indholdet gennem struktureret formatering, jo lettere bliver det til at udføre algoritmebaserede opgaver med succes.
Selv om man kigger på indholdet, er det dog ofte en fejl, når man beskæftiger sig med mennesker og computere. Hvis du for eksempel forsøger at søge efter et tal formateret som en streng, når datasættet indeholder tallene formateret som heltal, fejler søgningen.
Computere oversætter ikke automatisk mellem strenge og heltal, som mennesker gør. Faktisk ser computere alt som tal, og strenge er kun en fortolkning pålagt af en programmør. Når du søger efter "1" (strengen), ser computeren derfor som en anmodning om nummer 49, når du bruger ASCII-tegn. For at finde den numeriske værdi 1 skal du søge efter en 1 som en heltalværdi.
Structure gør det også muligt at opdage nylige data detaljer. For eksempel kan et telefonnummer vises i formularen (555) 555-1212. Hvis du udfører en søgning eller anden algoritmeopgave ved hjælp af formular 1 (555) 555-1212, kan søgningen mislykkes på grund af tilføjelsen af en 1 i begyndelsen af søgeordet. Disse slags problemer forårsager betydelige problemer, fordi de fleste mennesker ser de to former lige, men computeren gør det ikke. Computeren ser to helt forskellige former og ser endda dem som to forskellige længder. Forsøg på at pålægge form på mennesker virker sjældent og resulterer generelt i frustration, der gør algoritmen endnu vanskeligere, så strukturen, der pålægges gennem data manipulation, bliver endnu vigtigere.