Video: Developing for Android: the Naughty Bits (Android Dev Summit 2015) 2024
Greedy resonnement blir ofte brukt som en del av en optimaliseringsprosess. Algoritmen ser problemet et steg om gangen og fokuserer bare på trinnet. Hver grådig algoritme gjør to forutsetninger:
- Du kan lage et enkelt optimalt valg i et gitt trinn.
- Ved å velge det optimale valget i hvert trinn, kan du finne en optimal løsning for det totale problemet.
Du finner mange grådige algoritmer, hver optimalisert for å utføre bestemte oppgaver. Her er noen vanlige eksempler på grådige algoritmer som brukes til grafanalyse og datakomprimering, og årsaken til at du kanskje vil bruke dem:
- Kruskals Minimum Spanning Tree (MST): Denne algoritmen demonstrerer faktisk et av prinsippene om grådige algoritmer som folk kanskje ikke tenker på umiddelbart. I dette tilfellet velger algoritmen kanten mellom to noder med den minste verdien, ikke den største verdien som ordet grådig kan i første omgang formidle. Denne typen algoritme kan hjelpe deg med å finne den korteste banen mellom to steder på et kart eller utføre andre grafrelaterte oppgaver.
- Prim's MST: Denne algoritmen deler en ukjent graf (en i hvilken retning ikke vurderes) i halvparten. Den velger deretter kanten som forbinder de to halvdelene slik at totalvekten til de to halvdelene er den minste som den kan være. Du kan finne denne algoritmen som brukes i et labyrintspill for å finne den korteste avstanden mellom start og slutt på labyrinten.
- Huffman Encoding: Denne algoritmen er ganske kjent i datamaskiner fordi den danner grunnlag for mange datakomprimeringsteknikker. Algoritmen tilordner en kode til hver unik dataoppføring i en strøm av oppføringer, slik at den mest brukte dataregistreringen mottar den korteste koden. For eksempel vil brevet E normalt motta den korteste koden når du komprimerer engelsk tekst, fordi du bruker det oftere enn noen annen bokstav i alfabetet. Ved å endre kodingsteknikken kan du komprimere teksten og gjøre den betydelig mindre, noe som reduserer overføringstiden.