Huis Persoonlijke financiën Omgaan met Algorithm Complexity - dummies

Omgaan met Algorithm Complexity - dummies

Video: Yves Morieux: As work gets more complex, 6 rules to simplify 2024

Video: Yves Morieux: As work gets more complex, 6 rules to simplify 2024
Anonim

Deel van Algorithms For Dummies Cheat Sheet

U weet al dat algoritmen complex zijn. U moet echter weten hoe ingewikkeld een algoritme is, want hoe ingewikkelder een algoritme is, hoe langer het duurt om het uit te voeren. De volgende tabel helpt u de verschillende complexiteitsniveaus te begrijpen die worden gepresenteerd in volgorde van looptijd (van snelste tot langzaamste).

Complexiteit Beschrijving
Constante complexiteit O (1) Biedt een onveranderlijke uitvoeringstijd, ongeacht de hoeveelheid invoer die u levert. Elke ingang vereist een enkele uitvoeringstermijn.
Logaritmische complexiteit O (log n) Het aantal bewerkingen groeit langzamer dan de invoer, waardoor het algoritme minder efficiënt is met kleine invoer en efficiënter met grotere. Een typisch algoritme van deze klasse is de binaire zoekopdracht.
Lineaire complexiteit O (n) De bewerkingen nemen toe met de invoer in een verhouding van 1: 1. Een typisch algoritme is iteratie, wanneer u de invoer eenmaal scant en een bewerking toepast op elk element ervan.
Lineairithmische complexiteit O (n log n) Complexiteit is een mix tussen logaritmische en lineaire complexiteit. Het is typerend voor enkele slimme algoritmen die worden gebruikt om gegevens te ordenen, zoals Mergesort, Heapsort en Quicksort.
Kwadratische complexiteit O (n 2 ) Bewerkingen groeien als een vierkant van het aantal ingangen. Wanneer je één iteratie hebt binnen een andere iteratie (geneste iteraties in de informatica genoemd), heb je een kwadratische complexiteit. U hebt bijvoorbeeld een lijst met namen en om de meest vergelijkbare te vinden, vergelijkt u elke naam met alle andere namen. Sommige minder efficiënte ordeningsalgoritmen vertonen een dergelijke complexiteit: bubbelsortering, selectiesortering en invoegtypen. Dit niveau van complexiteit betekent dat uw algoritmen uren of zelfs dagen kunnen duren voordat ze een oplossing bereiken.
Kubieke complexiteit O (n 3 ) Bewerkingen groeien zelfs sneller dan kwadratische complexiteit omdat u nu meerdere geneste iteraties hebt. Wanneer een algoritme deze volgorde van complexiteit heeft en u een bescheiden hoeveelheid gegevens (100, 000 elementen) moet verwerken, kan uw algoritme jaren duren. Wanneer u een aantal bewerkingen hebt die de input zijn, is het gebruikelijk om te verwijzen naar het algoritme dat wordt uitgevoerd in polynomiale tijd.
Exponentiële complexiteit O (2 n ) Het algoritme neemt tweemaal het aantal vorige bewerkingen voor elk toegevoegd nieuw element. Wanneer een algoritme deze complexiteit heeft, kunnen zelfs kleine problemen voor altijd duren. Veel algoritmen die uitputtend zoeken, hebben een exponentiële complexiteit. Het klassieke voorbeeld voor dit niveau van complexiteit is echter de berekening van Fibonacci-getallen.
Factorische complexiteit O (n!) Dit algoritme biedt een echte nachtmerrie van complexiteit vanwege het grote aantal mogelijke combinaties tussen de elementen. Stelt u zich eens voor: als uw invoer 100 objecten is en een bewerking op uw computer 10 -6 seconden kost (een redelijke snelheid voor elke computer tegenwoordig), heeft u ongeveer 10 140 jaar nodig om de taak met succes te voltooien (een onmogelijke hoeveelheid tijd omdat de ouderdom van het universum wordt geschat op 10 14 jaar). Een beroemd facetcomplexiteitsprobleem is het reizende verkoopprobleem, waarbij een verkoper de kortste route moet vinden om vele steden te bezoeken en terug te komen naar de startstad.
Omgaan met Algorithm Complexity - dummies

Bewerkers keuze

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Hoe u uw LinkedIn-profiel kunt vermarkten voor de markt - dummies

Wanneer het komt om het voordeel dat u van LinkedIn krijgt te maximaliseren, bent u uw grootste pleitbezorger. Hoewel je netwerk van connecties je helpt te groeien, gebeurt veel van je marketing zonder dat je erbij betrokken bent. Nadat je je profiel hebt aangemaakt, worden die en andere LinkedIn-activiteit van je gelezen en beoordeeld door de ...

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Hoe u uw LinkedIn-netwerk kunt bouwen voordat u naar een nieuwe stad gaat - dummies

Deze dagen, wanneer u naar een nieuwe stad moet verhuizen, kunt u er veel plannen voor maken op LinkedIn en op internet. Je kunt de buurten onderzoeken, de schoolsystemen bekijken en online naar huizen gaan. Je kunt een stap verder gaan als je van plan bent om naar een andere ...

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

Hoe u uw LinkedIn-contactinstellingen controleert - dummies

U zeker wilt dat u de juiste instellingen selecteert contactinstellingen voor uw LinkedIn-profiel. Als u bijvoorbeeld op zoek bent naar een nieuwe baan, wilt u er zeker van zijn dat de optie voor Carrièremogelijkheden is gecontroleerd. Wanneer u klaar bent om uw contactinstellingen te controleren, volgt u deze stappen: Ga naar ...

Bewerkers keuze

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Canon EOS Rebel XS / 1000D voor Dummy's Cheat Sheet - dummies

Uw Canon EOS Rebel XS / 1000D heeft alle functies die u kunt gebruiken om fantastische foto's te maken. Je moet de beeldmodus instellen op het onderwerp van je foto en de Canon EOS Rebel XS / 1000D laat je volledig of gedeeltelijk automatisch gaan met de belichtingsinstellingen.

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Canon Rebel T3-serie camera's: Live-modus Autofocus in Live View - dummies

Live-modus Met autofocus kunt u de focus instellen op uw Canon EOS Rebel T3 of T3i zonder tijdelijk het voorbeeld van de monitor te verliezen. Bovendien, in plaats van het selecteren van negen autofocuspunten, verplaatst u eenvoudig een enkel scherpstelpunt over uw onderwerp. Aan de andere kant is de autofocus van de Live-modus merkbaar langzamer dan in de Quick-modus, en ...

Bewerkers keuze

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Wijzigt Hoe tekstgrootte te wijzigen in Word 2016 - dummies

Tekstgrootte wordt ingesteld in uw Word 2016 document gebaseerd over de meting van de oude letterzetter, ook wel punten genoemd. Hier zijn enkele aandachtspunten waarmee u rekening moet houden bij het opmaken van tekst in Word: hoe groter de puntgrootte, hoe groter de tekst. De meeste gedrukte tekst is 10 of 12 punten lang. Koppen zijn meestal 14 ...

Grammatica controleren in Word 2007 - dummies

Grammatica controleren in Word 2007 - dummies

Naast het controleren op correcte spelling, kunt u met Word 2007 ook om uw documenten te bewijzen om grammaticale fouten te voorkomen. U kunt de grammaticasuggesties van Word bekijken terwijl u door het document bladert, of u kunt een traditionele spellingcontrole uitvoeren. Word biedt u zelfs de kans om de gemarkeerde fout te onderzoeken en meer te leren van ...

Spelling controleren terwijl u typt in Word 2013 - dummies

Spelling controleren terwijl u typt in Word 2013 - dummies

Woord 2013 heeft een interne bibliotheek vol met ontelbare woorden, allemaal correct gespeld. Telkens wanneer u een woord typt, wordt het vergeleken met dat woordenboek. Wanneer het woord niet wordt gevonden, wordt dit als verdacht gemarkeerd in uw document. Het merk is een rode zigzaglijn. Mijn advies: blijf typen. Laat de "rode zigzag van een ...