EEN algoritme het is een reeks instructies die zijn ontworpen om een specifieke taak uit te voeren. Dat wil zeggen, het is een systematische procedure die in een eindig aantal stappen het antwoord op een vraag of de oplossing van een probleem oplevert. Een voorbeeld van een algoritme is dat van de Google-zoekmachine, waarin het bij het invoegen van een woord meerdere resultaten oplevert in de vorm van webpagina's.
Het kan een complex proces zijn, zoals het afspelen van een muziekbestand, of een simpele handeling, zoals het optellen van twee getallen. Bij computerprogrammering worden algoritmen gemaakt als functies. Deze functies zijn kleine programma's waarnaar kan worden verwezen door een groter programma.
Een toepassing voor het bekijken van afbeeldingen kan een bibliotheek met functies bevatten, die elk een bepaald algoritme gebruiken om verschillende afbeeldingsbestandsindelingen weer te geven..
Een beeldbewerkingsprogramma kan algoritmen bevatten die zijn ontworpen om beeldgegevens te verwerken. Enkele voorbeelden zijn bijsnijden, vergroten / verkleinen, verscherpen, vervagen, rode ogen verminderen en kleurverbetering..
Artikel index
Het algoritme moet duidelijk en ondubbelzinnig zijn. Elk van uw stappen of acties moet nauwkeurig worden gedefinieerd, in alle opzichten strikt duidelijk en moet ondubbelzinnig maar één betekenis hebben..
Een algoritme heeft nul of meer invoer, afkomstig van een specifieke set objecten. Als het algoritme aangeeft dat invoergegevens moeten worden genomen, moeten deze invoergegevens goed worden gedefinieerd.
Het algoritme heeft altijd een of meer outputs, die een relatie hebben met de inputs. Het algoritme moet duidelijk definiëren welke outputinformatie zal worden geproduceerd en moet ook goed gedefinieerd zijn.
Het algoritme moet eindig zijn, dat wil zeggen, het moet altijd op een bepaald punt eindigen, na een eindig aantal stappen, en niet verslaafd raken aan oneindige lussen of iets dergelijks.
Het algoritme moet slim en eenvoudig zijn, zodanig dat het probleemloos kan worden uitgevoerd met de beschikbare middelen. Daarom mag het geen toekomstige technologie bevatten.
Het ontworpen algoritme moet onafhankelijk zijn van de taal, dat wil zeggen, het mag alleen bestaan uit eenvoudige instructies die in elke programmeertaal kunnen worden geïmplementeerd en het resultaat is echter altijd hetzelfde, zoals verwacht.
Er zijn altijd verschillende manieren om een specifieke bewerking binnen een programma uit te voeren. Daarom proberen programmeurs de meest efficiënte algoritmen te creëren..
Met het gebruik van zeer efficiënte algoritmen kan worden gegarandeerd dat de programma's op de hoogste snelheid werken, met een minimum aan systeembronnen.
Algoritmen worden echter niet altijd de eerste keer foutloos geproduceerd. Om deze reden proberen ontwikkelaars ze te verbeteren om ze op te nemen in toekomstige software-updates..
Dus als er een nieuwe versie van een applicatie met betere prestaties bekend is, betekent dit dat deze versie efficiëntere algoritmen bevat.
Het algoritme is een uitermate handig instrument om werkzaamheden uit te voeren. Bij computergebruik zorgt het kiezen van het beste algoritme ervoor dat de computer de gegeven taak op de best mogelijke manier uitvoert.
Daarom dient het om een computerprogramma te optimaliseren met de beschikbare middelen. Dat wil zeggen, wanneer u besluit een probleem op te lossen met de beste algoritmen, wilt u de beste combinatie van programmasnelheid en lager geheugengebruik.
De verschillende algoritmen die kunnen worden bestudeerd, zijn net zo gevarieerd als de problemen die ze oplossen. Het is echter zeer waarschijnlijk dat het probleem dat u probeert op te lossen in sommige opzichten vergelijkbaar is met een ander probleem..
Door een breed scala aan algoritmen te begrijpen, kunt u de meest geschikte kiezen voor een probleem en deze correct toepassen.
Deze algoritmen zijn specifiek afgestemd en geoptimaliseerd voor de soorten bestanden waarop ze zich richten. Elk audioformaat gebruikt bijvoorbeeld een andere manier om gegevens op te slaan. Wanneer het wordt gedecodeerd door de audiocodec, genereert het een geluidsbestand dat lijkt op de originele golfvorm.
Algoritmen worden ook gebruikt om gegevens of communicatielijnen te beschermen. In plaats van gecomprimeerde gegevens op te slaan zodat ze minder schijfruimte gebruiken, worden ze opgeslagen op een manier dat andere programma's ze niet kunnen detecteren. Als gegevens zijn versleuteld, ziet wat er wordt opgeslagen er niet uit als wat het is.
Om een computer iets te laten doen, moet je een computerprogramma schrijven. Om dit programma te schrijven, moet u de computer stap voor stap vertellen wat u wilt dat het doet.
De computer voert vervolgens het programma uit, waarbij elke instructie automatisch wordt uitgevoerd, om het uiteindelijke resultaat te bereiken. U kunt niet alleen aangeven wat u met de computer moet doen, maar u kunt ook kiezen hoe de computer het zal doen, via het algoritme, dat de basistechniek is die wordt gebruikt om het werk te doen..
Stel dat u een vriend heeft die op het vliegveld aankomt en van het vliegveld naar ons huis moet. Dit zijn vier verschillende algoritmen die kunnen worden gegeven om deze situatie op te lossen:
- Bel mijn mobiele telefoon als het vliegtuig arriveert.
- Ontmoet me buiten het bagageafhaalgebied.
- Ga naar de taxistandplaats.
- Stap in een taxi.
- Geef de chauffeur mijn adres.
- Verlaat de luchthaven en neem bus 70.
- Als je bij Main Street aankomt, neem je bus 14.
- Stap uit bij Elmo Street.
- Loop twee blokken naar het noorden naar mijn huis.
- Neem een shuttle naar de plaats waar ze auto's huren.
- Huur een auto.
- Volg de GPS-instructies om bij mijn huis te komen.
Alle vier de algoritmen bereiken exact hetzelfde doel, maar elk doet het anders. Elk algoritme heeft ook een andere kostprijs en reistijd. Daarom wordt het algoritme gekozen op basis van de omstandigheden.
Het algoritme moet over bepaalde bronnen beschikken om de waarden van een externe bron te kunnen lezen. De meeste algoritmen hebben enkele gegevenswaarden nodig om een specifiek probleem te definiëren. Bijvoorbeeld de coëfficiënten van een polynoom.
Het algoritme moet over bepaalde bronnen beschikken om rekenkundige berekeningen te kunnen uitvoeren, vergelijkingen te kunnen maken, logische voorwaarden te kunnen controleren, enz..
Het algoritme moet bepaalde middelen hebben om te kunnen kiezen tussen twee of meer mogelijke acties, gebaseerd op initiële gegevens, gebruikersinvoer en / of berekende resultaten..
Het algoritme moet over bepaalde middelen beschikken om een reeks instructies herhaaldelijk uit te voeren, hetzij voor een vast aantal keren, hetzij totdat aan een logische voorwaarde is voldaan.
Het algoritme moet over bepaalde middelen beschikken om de gebruiker te kunnen informeren over de resultaten die het heeft berekend, of om aanvullende gegevens van de gebruiker te kunnen opvragen.
Dit algoritme is erg interessant, omdat het zichzelf aanroept met een andere waarde als invoerparameter, die het kreeg na het oplossen van de vorige invoerparameter. Dat wil zeggen, het roept zichzelf herhaaldelijk op totdat het probleem is opgelost.
Problemen zoals de toren van Hanoi of het diep zoeken in een grafiek kunnen met dit soort algoritmen eenvoudig worden opgelost..
In deze algoritmen is het opgedeeld in twee delen. In het eerste deel wordt het betreffende probleem opgedeeld in kleinere deelproblemen van hetzelfde type. Evenzo worden in het tweede deel de subproblemen opgelost, waarna beide delen worden gecombineerd om de uiteindelijke oplossing van het probleem te produceren..
Met deze algoritmen kunt u bijvoorbeeld combinatiesorteringen en snelle sorteringen uitvoeren.
Deze algoritmen werken door de resultaten van de vorige run te onthouden en ze te gebruiken om nieuwe resultaten te vinden. Dat wil zeggen, ze lossen complexe problemen op door ze op te splitsen in meerdere eenvoudige subproblemen en ze vervolgens allemaal op te lossen en ze later op te slaan voor later gebruik..
Dit algoritme zoekt blindelings alle mogelijke oplossingen om een of meer oplossingen te vinden die een functie kunnen oplossen. U kunt brute kracht zien als het gebruik van alle mogelijke cijfercombinaties om een kluis te openen..
Dit algoritme lost problemen recursief op en probeert een probleem op te lossen door elk onderdeel ervan op te lossen. Als de oplossing mislukt, wordt deze verwijderd en teruggekeerd om een andere oplossing te vinden.
Dat wil zeggen, dit algoritme lost een subprobleem op, maar als dit het totale probleem niet oplost, maakt het de laatste stap ongedaan en begint het opnieuw om de oplossing voor het probleem te vinden..
Deze pseudocode vindt de faculteit van een niet-negatief geheel getal "N", met behulp van een recursie-algoritme:
De Fibonacci-reeks is een goed voorbeeld van een dynamisch programmeeralgoritme. Je kunt het zien in deze pseudocode:
- Als (N = 0 of N = 1), Fibonacci (N) = 0
- Zo niet, dan is Fibonacci (N) = Fibonacci (N-1) + Fibonacci (N-2)
Het schaakprobleem met 8 koninginnen is een goed voorbeeld. Dit probleem stelt vast dat er 8 damestukken op een schaakbord staan en dat ze zo moeten worden geplaatst dat geen van de vrouwen in de positie is om een ander aan te vallen nadat ze zijn georganiseerd..
- Algoritme voor hiv-diagnose.
- Zoekmachines op internet gebruiken eigen algoritmen om de meest relevante resultaten uit hun zoekindex voor specifieke zoekopdrachten weer te geven..
- Recepten zijn, net als wiskundige vergelijkingen, algoritmen.
- E-mail weet waar hij naartoe moet dankzij algoritmen.
- De inhoud die op sociale netwerken wordt gezien, komt via algoritmen. In feite is alles wat op internet wordt gedaan, het product van algoritmen.
- Videogames zijn algoritmische verhalen.
- Smartphone-apps zijn slechts algoritmen.
- De meeste financiële transacties worden uitgevoerd met behulp van algoritmen.
- Elke keer dat een kolom in een spreadsheet wordt gesorteerd, grijpen algoritmen in.
Niemand heeft nog op dit artikel gereageerd.