Video: Tillämpa Guds Ord - Simon Johansson 2024
Grym resonemang används ofta som en del av en optimeringsprocess. Algoritmen ser problemet ett steg åt gången och fokuserar precis på steget vid handen. Varje girig algoritm gör två antaganden:
- Du kan göra ett enda optimalt val vid ett givet steg.
- Genom att välja det optimala valet vid varje steg kan du hitta en optimal lösning för det övergripande problemet.
Du kan hitta många giriga algoritmer, som alla är optimerade för att utföra särskilda uppgifter. Här är några vanliga exempel på giriga algoritmer som används för grafanalys och datakomprimering och anledningen till att du kanske vill använda dem:
- Kruskals Minsta Spanning Tree (MST): Denna algoritm demonstrerar faktiskt en av principerna för giriga algoritmer som folk kanske inte tänker på omedelbart. I detta fall väljer algoritmen kanten mellan två noder med det minsta värdet, inte det största värdet som ordet giriga skulle kunna förmedla. Denna typ av algoritm kan hjälpa dig att hitta den kortaste vägen mellan två platser på en karta eller utföra andra grafrelaterade uppgifter.
- Prim's MST: Denna algoritm delar upp en oriktad graf (en i vilken riktning inte övervägas) i halv. Den väljer sedan kanten som förbinder de två halvorna så att den totala vikten av de två halvorna är den minsta som den kan vara. Du kan hitta den här algoritmen som används i ett labyrintspel för att hitta det kortaste avståndet mellan labyrintens start och slut.
- Huffman Encoding: Denna algoritm är ganska känd i datorer eftersom den utgör grunden för många datakomprimeringstekniker. Algoritmen tilldelar en kod till varje unik dataingång i en ström av poster, så att den vanligaste datainmatningen får den kortaste koden. Exempelvis kommer brevet E normalt att få den kortaste koden när du komprimerar engelsk text, eftersom du använder det oftare än något annat brev i alfabetet. Genom att ändra kodningstekniken kan du komprimera texten och göra den betydligt mindre vilket minskar överföringstiden.