Video: Encriptacion en Java (Algoritmo Personalizado) - Parte 5 - Final @JoseCodFacilito 2025
En del av Algorithms For Dummies Cheat Sheet
Følgende tabell beskriver algoritmer og algoritmetyper som du kan finne nyttige for ulike typer dataanalyse. (Du finner diskusjoner av alle disse algoritmer i Algoritmer for Dummies.)
Algoritme | Beskrivelse | Nyttig link |
A * Søk | Algoritmen sporer kostnadene for noder da den utforsker dem ved hjelp av ligning: f (n) = g (n) + h (n), hvor:
n er nodenavneren g (n) er kostnaden for å nå noden så langt h (n) er den anslåtte kostnaden for å nå Målet fra noden f (n) er den anslåtte kostnaden for banen fra n til målet Tanken er å søke de mest lovende stiene først og unngå dyre stier. |
Standford. edu |
Balanced Tree | En slags tre som opprettholder en balansert struktur gjennom omorganisering slik at den kan gi reduserte tilgangstider. Antallet elementer på venstre side avviger fra tallet på høyre side av en på de fleste. | Webdocs |
Toveiset søk | Denne teknikken søker samtidig fra rotnoden og målnoden til de to søkebanene møtes i midten. En fordel ved denne tilnærmingen er at det er tidseffektivt fordi det finner løsningen raskere enn mange andre brute-force løsninger. I tillegg bruker det minne mer effektivt enn andre tilnærminger, og finner alltid en løsning. Den største ulempen er implementeringens kompleksitet. | Planning. cs |
Binær Tree | Dette er en type tre som inneholder noder som knytter seg til null (blad noder), en eller to (gren noder) andre noder. Hver node definerer de tre elementene som den må inkludere for å gi tilkobling og lagre data: datalagring, venstre tilkobling og riktig tilkobling. | cs. CMU. edu |
Bredde-første søk | Denne teknikken begynner ved rotnoden, undersøker hver av barnnoderne først, og beveger seg bare ned til neste nivå. Den utvikler seg nivå etter nivå til det finner en løsning. Ulempen med denne algoritmen er at den må lagre hver node i minnet, noe som betyr at den bruker en betydelig mengde minne for et stort antall noder. Denne teknikken kan sjekke for dupliserte noder, noe som sparer tid, og det kommer alltid opp med en løsning. | Khan Academcy |
Brute Force | Dette er en teknikk for problemløsing der noen prøver alle mulige løsninger, på jakt etter den beste problemløsningen. Brute-force teknikker garanterer en best egnet løsning når man eksisterer, men er så tidkrevende å implementere at de fleste mennesker unngår dem. | IgM. univ |
Dybde-første søk | Denne teknikken begynner på rotnoden og utforsker et sett med tilkoblede barnnoder til det når et bladknutepunkt. Den utvikler grenen etter grenen til den finner en løsning. Ulempen med denne algoritmen er at den ikke kan se etter dupliserte noder, noe som betyr at den kan krysse de samme nodebanene mer enn en gang. Faktisk kan denne algoritmen kanskje ikke finne en løsning i det hele tatt, noe som betyr at du må definere et cutoff-punkt for å holde algoritmen fra å søke uendelig. En fordel ved denne tilnærmingen er at den er minneeffektiv. | Hacker Earth |
Divide and Conquer | Dette er en teknikk for problemløsing der problemet brytes inn i de minste mulige bitene og løses ved hjelp av den enkleste tilnærmingen som er mulig. Denne teknikken sparer betydelig tid og ressurser i forhold til andre tilnærminger, som brute force. Det garanterer imidlertid ikke alltid et best egnet resultat. | Khan Academy |
Dijikstra | Dette er en algoritme som brukes til å finne den korteste banen i en rettet vektet grafikk (med positive vekter). | Geeks for Geeks |
Graf | En graf er en slags treforlengelse. Som med trær, har du noder som kobler til hverandre for å skape relasjoner. I motsetning til binære trær kan en graf imidlertid ha mer enn en eller to tilkoblinger. Faktisk har grafnoder ofte en rekke tilkoblinger. Du ser grafer som brukes på steder som kart for GPS og alle andre steder som topp-ned-tilnærmingen til et tre ikke vil fungere. | Tutorials |
Greedy Algorithms | Thistechnique av en av problemløsning der løsningen er avhengig av det beste svaret for hvert trinn i problemløsingsprosessen. Greedy algoritmer gjør vanligvis to forutsetninger:
Det er mulig å foreta et enkelt, optimalt valg ved et gitt trinn. Ved å velge det optimale valget i hvert trinn, er det mulig å finne en optimal løsning for det totale problemet. |
Tutorials |
Greedy Best-First Search (BFS) | Algoritmen velger alltid banen som er nærmest målet ved å bruke ligningen: f (n) = h n). Denne spesielle algoritmen kan finne løsninger ganske raskt, men det kan også bli sittende fast i sløyfer, så mange anser det ikke som en optimal tilnærming til å finne en løsning. | Centurion2 |
Hashing | Dette er en metode for å forutsi plasseringen av et bestemt datapunkt i datastrukturen (hva den strukturen kan være) før du faktisk ser etter den. Denne tilnærmingen er avhengig av bruk av nøkler plassert i en indeks. En hashfunksjon gjør nøkkelen til en numerisk verdi som algoritmen plasserer i et hashbord. Et hashbord gir midler til å opprette en indeks som peker på elementer i en datastruktur, slik at en algoritme lett kan forutsi at dataene er plassert. | Tutorials |
Heap | Dette er et sofistikert tre som gjør det mulig å sette inn data i trestrukturen. Bruken av datainnsetting gjør sorteringen raskere. Du kan videre klassifisere disse trærne som makshøyder og minhunder, avhengig av treets evne til umiddelbart å gi den maksimale eller minsteverdien som er tilstede i treet. | Tutorials |
Heuristics | Dette er en teknikk for problemløsing som bygger på selvoppdagelse og gir tilstrekkelig nyttige resultater (ikke nødvendigvis optimal, men god nok) for å løse et problem godt nok at en bedre løsning ikke er " t nødvendig. Selvoppdagelse er prosessen med å la algoritmen vise deg en potensielt nyttig vei til en løsning (men du må fortsatt stole på menneskelig intuisjon og forståelse for å vite om løsningen er den rette). | Northwest. edu |
MapReduce | Dette er et rammeverk for å lage algoritmer som arbeider ved å bruke beregninger parallelt (ved hjelp av flere datamaskiner koblet sammen i et nettverk), slik at algoritmer kan fullføre sine løsninger raskere. | Hadoop Apache |
Mergesort | Mergesort er en allsidig, sammenligningsbasert metode for sortering av data. Det avhenger av en splittelse og erobre tilnærming til å utføre sin oppgave. | Geeks for Geeks |
Nash Equilibrium | Dette er en spillteori hvor de andre spillerne kjenner likevektsstrategien for de andre spillerne, så ingen har noe å vinne ved å endre sin personlige strategi. Denne teorien ser bruk i en hvilken som helst fiendtlig situasjon der spilleren må ta hensyn til de beslutningene som er tatt av alle de andre spillerne for å vinne spillet. | Khan Academy |
PageRank | PageRank er en algoritme for å måle viktigheten av en node i en graf. Denne algoritmen er grunnen til Googles kjernealgoritmer for å drive relevante søk til brukere. | Princeton. edu |
Pure Heuristic Search | Denne algoritmen utvider nodene i rekkefølge av kostnadene. Den opprettholder to lister. Den lukkede listen inneholder noder som den allerede har utforsket, og den åpne listen inneholder noder som den ennå må utforske. I hver iterasjon utvider algoritmen node med lavest mulig pris. Alle dens barnnoder er plassert i den lukkede listen, og de individuelle barneknutekostnadene beregnes. Algoritmen sender barnnoder med lav pris tilbake til den åpne listen og sletter barnnoder med høy pris. Algoritmen utfører derfor en intelligent, kostnadsbasert søk etter løsningen. | World of Computing |
Quicksort | Dette er en generell sorteringsstrategi basert på partisjoneringsarrayer av data til mindre arrays. Det avhenger av en splittelse og erobre tilnærming til å utføre sin oppgave. | Tutorials |
Ubalansert Tree | Dette er et tre som plasserer nye dataelementer hvor det er nødvendig i treet uten hensyn til balanse. Denne metoden for å legge til elementer gjør det mulig å bygge treet raskere, men reduserer tilgangshastigheten når du søker eller sorterer. | Quora |
