Skip to main content

Wat is een algoritme?

Wat is een algoritme? (Juni- 2026)

Wat is een algoritme? (Juni- 2026)
Anonim

Een algoritme is een verzameling instructies. De definitie is echt zo simpel. Een algoritme kan net zo eenvoudig zijn als het geven van instructies zoals deze:

  1. Volg de straat.
  2. De eerste rechts nemen.
  3. Zoek het tweede huis aan de linkerkant.
  4. Op de deur kloppen.
  5. Lever het pakket af.

Maar hoewel de definitie van algoritme eenvoudig is, kan de werkelijke betekenis en hoe deze ons leven beïnvloedt vrij complex zijn.

Een voorbeeld van een algoritme

Een bekend voorbeeld van een algoritme dat we in ons dagelijks leven gebruiken, is een recept. Deze instructies geven ons alle ingrediënten die we nodig zullen hebben en aanwijzingen over wat we met die ingrediënten moeten doen. Klinkt eenvoudig, toch?

Maar wat als u niet weet waar de maatbeker wordt bewaard? Je hebt een algoritme nodig om het te vinden. U hebt mogelijk zelfs een algoritme nodig over het gebruik van een maatbeker.

Dus hoewel een algoritme een verzameling instructies is, moet het ook rekening houden met wie of wat deze instructies gaat interpreteren. Als u bijvoorbeeld een routebeschrijving geeft aan een vriend over hoe u van uw huis naar de dichtstbijzijnde supermarkt kunt gaan, weet uw vriend alleen hoe hij naar die winkel moet gaan als hij weet waar uw huis zich bevindt. Ze zijn (nog) niet in staat om die bepaalde supermarkt te vinden van het huis van een andere vriend.

Dit is hoe een algoritme zowel eenvoudig als complex kan zijn. En wanneer we praten in termen van computeralgoritmen, is het begrijpen van wat een computer kan doen een fundamenteel onderdeel van het formuleren van algoritmen.

Hoe sorteeralgoritmen evolueerden

Een van de eerste ontwikkelde algoritmen was de bubbelsorteerroutine. Belsortering is een methode voor het sorteren van getallen, letters of woorden door een gegevensset door te lussen, elke reeks waarden naast elkaar te vergelijken en ze indien nodig te verwisselen.

Deze lus wordt herhaald totdat het algoritme de hele lijst kan doorlopen zonder iets te hoeven wisselen, wat betekent dat de waarden correct zijn gesorteerd. Dit type algoritme wordt vaak een recursief algoritme genoemd omdat het zichzelf herhaaldelijk herhaalt totdat het de taak voltooit.

Dat type algoritme ziet er misschien zo simpel uit als:

  1. Ga naar de eerste waarde.
  2. Controleer die waarde tegen de volgende waarde en wissel posities indien nodig.
  3. Ga naar de volgende waarde en herhaal de vergelijking.
  4. Als we aan het einde van de lijst staan, gaat u terug naar de top als er tijdens de lus een waarde is geruild.

Maar bellen sorteren bleek niet het meest doeltreffend manier om waarden te sorteren. Naarmate de tijd voortduurde en computers sneller in staat werden om complexe taken uit te voeren, kwamen er nieuwe sorteringsalgoritmen tevoorschijn.

Een dergelijk algoritme scant door de eerste lijst en maakt een tweede lijst met gesorteerde waarden. Deze methode maakt slechts één enkele passage door de originele lijst en met elke waarde doorloopt het de tweede lijst totdat het de juiste plaats vindt om de waarde te plaatsen. Meestal is het efficiënter dan het gebruik van de methode voor het sorteren van bellen.

Dit is waar algoritmen echt gek kunnen worden. Of echt interessant, afhankelijk van hoe je ernaar kijkt.

Hoewel de methode voor het sorteren van bellen wordt beschouwd als een van de meest inefficiënte methoden voor het sorteren van waarden op verschillende manieren, is het sorteren van bellen een van de beste als de oorspronkelijke lijst correct wordt voorgesorteerd. meest efficiënt. Dat komt omdat in dat geval het algoritme voor het sorteren van bellen één keer door de lijst gaat en bepaalt dat het correct is gesorteerd.

Helaas weten we niet altijd of onze lijst is voorgesorteerd, dus moeten we een algoritme kiezen dat het meest efficiënt is om gemiddeld over een groot aantal lijsten te gebruiken.

Wat we leren van het bellen-sorteeralgoritme

  • Algoritmen evolueren in de loop van de tijd omdat we efficiëntere manieren vinden om dingen te doen en / of computers in staat worden om complexe taken uit te voeren.
  • Algoritmen worden soms gekozen omdat ze "meest" van de tijd "efficiënter" zijn.
  • Alleen al omdat een algoritme efficiënter is, betekent niet altijd dat het altijd het beste is in elk individueel geval.

Facebook-algoritmen en meer in het dagelijks leven

Algoritmen zijn op het werk om mensen elke dag te helpen. Wanneer u op het web zoekt, is er een algoritme aan het werken om de beste zoekresultaten te vinden. Vraag uw smartphone om een ​​routebeschrijving en een algoritme bepaalt de beste route die u moet nemen. En wanneer u op Facebook bladert, bepaalt een algoritme welke van de Facebook-berichten van onze vriend het belangrijkst voor ons zijn. (Laten we hopen dat onze vrienden niet weten welke Facebook ons ​​het meest vindt!)

Maar algoritmisch denken kan ons ver buiten ons computerleven helpen. Het kan ons zelfs helpen om een ​​betere sandwich te maken.

Laten we zeggen dat ik begin met twee sneetjes brood, mosterd op één plak en mayonaise op een andere plak. Ik leg een plakje kaas op het brood met de mayonaise, een beetje ham erbovenop, een beetje sla, twee plakjes tomaat en dek het dan af met dat plakje met de mosterd erop. Goede sandwich, toch?

Zeker als ik het meteen eet. Maar als ik het een tijdje op tafel laat liggen, kan dat bovenste deel van het brood vochtig worden door wat van die tomaat op te zuigen. Het was een probleem waar ik niet helemaal op had geanticipeerd, en ik zou jarenlang broodjes kunnen maken voordat ik het merk, maar als ik dat eenmaal doe, kan ik gaan nadenken over manieren om mijn algoritme te veranderen om een ​​betere boterham te maken.

Ik zou bijvoorbeeld van de tomaat af kunnen komen. Maar ik wil die tomatensmaak niet verliezen. Dus in plaats daarvan kan ik de tomaat op de boterham leggen na het brood en de sla. Hierdoor kan de sla een beschermende barrière vormen tussen de tomaat en het brood.

Dit is hoe een algoritme evolueert. En een algoritme hoeft niet door een computer te worden uitgevoerd als een algoritme.Een algoritme is een proces en processen zijn overal om ons heen.