Video: The astounding athletic power of quadcopters | Raffaello D'Andrea 2025
En del af Algorithms For Dummies Cheat Sheet
I nedenstående tabel beskrives algoritmer og algoritme typer, som du måske finder nyttige til forskellige typer dataanalyse. (Du kan finde diskussioner af alle disse algoritmer i algoritmer til dummier.)
Algoritme | Beskrivelse | Nyttige link |
A * Søgning | Algoritmen sporer omkostningerne til noder, da den udforsker dem ved hjælp af ligning: f (n) = g (n) + h (n), hvor:
n er knudepunktsidentifikatoren g (n) kostprisen ved at nå knuden indtil nu h (n) er den anslåede pris for at nå frem til Målet fra knuden f (n) er den anslåede pris for stien fra n til målet Ideen er at søge de mest lovende stier først og undgå dyre stier. |
Standford. edu |
Balanced Tree | En slags træ, der opretholder en afbalanceret struktur gennem omorganisering, så den kan give reducerede adgangstider. Antallet af elementer på venstre side adskiller sig fra tallet på højre side af højst. | Webdocs |
Tovejsøgning | Denne teknik søger samtidigt fra rodknuden og målnoden, indtil de to søgestier møder i midten. En fordel ved denne tilgang er, at den er tidseffektiv, fordi den finder løsningen hurtigere end mange andre brute-force løsninger. Derudover bruger hukommelsen mere effektivt end andre tilgange og finder altid en løsning. Den største ulempe er implementeringens kompleksitet. | Planlægning. cs |
Binærtræ | Dette er en type træ, der indeholder knuder, der forbinder til nul (bladknudepunkter), en eller to (grenknudepunkter) andre knuder. Hver node definerer de tre elementer, som den skal indeholde for at give forbindelse og gemme data: datalagring, venstre tilslutning og højre forbindelse. | cs. CMU. edu |
Breadth-First Search | Denne teknik begynder ved rodnoden, undersøger hver af børnelyderne først og går først ned til næste niveau. Den skrider frem efter niveau, indtil den finder en løsning. Ulempen ved denne algoritme er, at den skal lagre hver node i hukommelsen, hvilket betyder at den bruger en betydelig mængde hukommelse til et stort antal noder. Denne teknik kan tjekke for dubletter, hvilket sparer tid, og det kommer altid op med en løsning. | Khan Academcy |
Brute Force | Dette er en teknik til problemløsning, hvor nogen forsøger enhver mulig løsning og søger den bedste problemløsning. Brute-force teknikker garanterer en bedst egnet løsning, når man eksisterer, men er så tidskrævende at implementere, at de fleste mennesker undgår dem. | IgM. univ |
Dybde-første søgning | Denne teknik begynder ved rodknuden og udforsker et sæt tilsluttede børne noder, indtil det når et bladknude. Det skrider frem til filialen, indtil den finder en løsning. Ulempen ved denne algoritme er, at den ikke kan tjekke for dubletter, hvilket betyder, at den kan krydse de samme nodeveje mere end én gang. Faktisk kan denne algoritme slet ikke finde en løsning, hvilket betyder at du skal definere et cutoff-punkt for at holde algoritmen fra at søge uendeligt. En fordel ved denne tilgang er, at den er hukommelseseffektiv. | Hacker Earth |
Divide and Conquer | Dette er en problemløsningsproces, hvor problemet er opdelt i de mindste mulige stykker og løst ved hjælp af den enkleste tilgang. Denne teknik sparer betydelig tid og ressourcer i forhold til andre tilgange, såsom brute force. Det garanterer dog ikke altid et bedst egnet resultat. | Khan Academy |
Dijikstra | Dette er en algoritme, der bruges til at finde den korteste vej i en rettet vægtet grafik (med positiv vægt). | Geeks for Geeks |
Graf | En graf er en slags træforlængelse. Som med træer har du noder, der forbinder hinanden for at skabe relationer. I modsætning til binære træer kan en graf imidlertid have mere end en eller to forbindelser. Faktisk har grafnoder ofte en lang række forbindelser. Du kan se grafer, der bruges på steder som kort til GPS og alle andre steder, hvor top-down-tilgangen til et træ ikke virker. | Tutorials |
Greedy Algorithms | Thistechnique af en af problemløsning, hvor løsningen er afhængig af det bedste svar for hvert trin i problemløsningsprocessen. Greedy algoritmer gør generelt to antagelser:
Det er muligt at foretage et enkelt optimalt valg ved et givet trin. Ved at vælge det optimale valg ved hvert trin, er det muligt at finde en optimal løsning til det samlede problem. |
Tutorials |
Greedy Best-First Search (BFS) | Algoritmen vælger altid den sti, der er tættest på målet ved hjælp af ligningen: f (n) = h n). Denne særlige algoritme kan finde løsninger ret hurtigt, men det kan også sidde fast i sløjfer, så mange anser det ikke for en optimal tilgang til at finde en løsning. | Centurion2 |
Hashing | Dette er en metode til at forudsige placeringen af et bestemt datapunkt i datastrukturen (uanset hvilken struktur der måtte være), før du faktisk leder efter det. Denne fremgangsmåde afhænger af brugen af nøgler, der er placeret i et indeks. En hash-funktion gør nøglen til en numerisk værdi, som algoritmen placeres i et hashbord. Et hashbord giver midlerne til at oprette et indeks, der peger på elementer i en datastruktur, således at en algoritme nemt kan forudsige placeringen af dataene. | Tutorials |
Heap | Dette er et sofistikeret træ, der tillader dataindsættelse i træstrukturen. Anvendelsen af dataindsættelse gør sorteringen hurtigere. Du kan yderligere klassificere disse træer som maxhøje og minhopper afhængigt af træets evne til straks at give den maksimale eller minimale værdi i træet. | Tutorials |
Heuristics | Dette er en problemløsningsproces, der er afhængig af selvopdagelse og producerer tilstrækkeligt nyttige resultater (ikke nødvendigvis optimalt, men godt nok) til at løse et problem godt nok, at en bedre løsning ikke er ' t nødvendigt. Selvopdagelse er processen med at lade algoritmen vise dig en potentielt nyttig vej til en løsning (men du skal stadig regne med menneskets intuition og forståelse for at vide, om løsningen er den rigtige). | Northwest. edu |
MapReduce | Dette er en ramme for, at algoritmer kan arbejde ved hjælp af beregninger parallelt (ved hjælp af flere computere, der er tilsluttet sammen i et netværk), hvilket gør det muligt for algoritmer at færdiggøre deres løsninger hurtigere. | Hadoop Apache |
Mergesort | Mergesort er en generelle sammenligningsbaseret metode til sortering af data. Det afhænger af en divide-and-conquer tilgang til at udføre sin opgave. | Geeks for Geeks |
Nash Equilibrium | Dette er en spilteori, hvor de andre spillere kender ligevægtsstrategien for de andre spillere, så ingen har noget at vinde ved at ændre sin personlige strategi. Denne teori ser anvendelse i enhver fjendtlig situation, hvor spilleren skal tage højde for de beslutninger, som alle andre spillere har truffet for at vinde spillet. | Khan Academy |
PageRank | PageRank er en algoritme til måling af vigtigheden af en node i en graf. Denne algoritme er kernen i Googles kernealgoritmer til at drive relevante søgninger til brugere. | Princeton. edu |
Pure Heuristic Search | Denne algoritme udvider knuder i rækkefølge af deres omkostninger. Den opretholder to lister. Den lukkede liste indeholder de noder, den allerede har udforsket, og den åbne liste indeholder de noder, den endnu må undersøge. I hver iteration udvider algoritmen knuden med den lavest mulige pris. Alle dens børne noder er placeret i den lukkede liste, og de individuelle barneknutekostnader beregnes. Algoritmen sender barnetoderne med en lav pris tilbage til den åbne liste og sletter børnelodene med en høj pris. Algoritmen udfører derfor en intelligent, omkostningsbaseret søgning efter løsningen. | Verden af computing |
Quicksort | Dette er en generel sorteringsstrategi baseret på partitionering af data i mindre arrays. Det afhænger af en divide-and-conquer tilgang til at udføre sin opgave. | Tutorials |
Ubalanceret træ | Dette er et træ, der placerer nye dataelementer, hvor det er nødvendigt i træet uden hensyntagen til balance. Denne metode til at tilføje elementer gør bygningen hurtigere, men reducerer adgangshastigheden, når du søger eller sorterer. | Quora |