Beste antwoord
Naar mijn mening de beste manier om algoritmen te begrijpen is om ontleden één algoritme per keer.
Het doel is hier om een groter probleem op te lossen door het op te splitsen in kleinere, beter beheersbare problemen. Hoe meer algoritmen u begrijpt door ze te ontleden, hoe beter u wordt.
Hier is de ruwe definitie van een algoritme :
Een algoritme is een set van instructies ontworpen om een specifieke taak uit te voeren.
Er zijn letterlijk duizenden algoritmen in veel velden, zoals computationele wiskunde die zowel de vakken wiskunde als informatica, astronomie, bio-informatica, geowetenschappen, taalkunde, geneeskunde, natuurkunde, statistiek en nog veel meer omvat !!
Hier zijn een paar algoritmen die tot op heden buitengewoon nuttig zijn:
- Sorteeralgoritme voor invoegen
- Sorteeralgoritme voor selectie
- Sorteeralgoritme voor bellen
- Sorteeralgoritme samenvoegen
- Quicksort algoritme
- Binair zoekalgoritme
- Breadth First Search (BFS) -algoritme
- Depth First Search (DFS) alg oritme
- Langst toenemende opeenvolging
- Bellman – Ford-algoritme
- Inorder, Preorder, Postorder Tree Traversals Algorithms
- Heap Sort-algoritme
- Algoritme van Kruskal voor het vinden van Minimum Spanning Tree
- Algoritme van Dijkstra
- Algoritme van Prim
- Algoritme van Floyd-Warshall
- Johnson-algoritme
- Hopcroft-Karp-algoritme
- Edmonds-Karp-algoritme
- Ford-Fulkerson-algoritme
- Karger-algoritme
- Euclidisch kortste pad-algoritme
- Reverse-delete-algoritme
- A * zoekalgoritme
- Backtracking-algoritme
- Beam-zoekopdracht algoritme
- D * -algoritme
- Brute-force zoekalgoritme
- SSS * -algoritme
- F * -algoritme
- Iteratieve verdieping van het Depth First Search-algoritme
- Bron – Kerbosch-algoritme
- MaxCliqueDyn maximum clique-algoritme
- Tarjans sterk verbonden componentenalgoritme
- Kosaraju “s algoritme
- Hamming algoritme voor afstandsberekening
- Schaars algoritme voor het berekenen van gedistribueerd geheugen dat een doorbraak was voor het oplossen van KNN- of postkantoorprobleem, wat een probleem was voor het optimaliseren van de dichtstbijzijnde buurman.
Ik kan gaan maar, je snapt het wel. Al deze dingen lijken misschien een beetje intimiderend, maar als je er eerst een kiest en ervoor kiest om tijd te besteden aan het begrijpen ervan. door een algoritme van uw keuze in kleinere secties te verdelen om het te begrijpen, geeft het u een motivatie met een kracht waarmee u ook een probleem kunt oplossen dat het algoritme oplost. Je geest vult met vreugde van intelligentie. En je vraagt je af welk probleem in het echte leven je kunt oplossen door toe te passen wat je hebt geleerd. Ik denk dat ik hiervan afwijk.
Nou, om sommige ervan beter te begrijpen, moet je jezelf voorbereiden om te denken alsof jij degene bent die de taken uitvoert.
Als de toekomst van het vakgebied van de informatica een oneindig geweven stuk stof is, met talloze kleuren en andere kenmerken zoals versieringen en kralen en dergelijke, dan algoritmen zijn de draden die alles met elkaar verbinden.
Hier is een citaat van Donald Knuth,
Er gebeurt iets magisch moois wanneer een reeks opdrachten en beslissingen een verzameling gegevens kan bundelen in georganiseerde patronen of om verborgen structuur te ontdekken.
Heb je ooit geprobeerd een recept te volgen? Als u algoritmen kent, dan is het nu uw tijd om de computer ze ook te laten begrijpen!
De meeste problemen van computerwetenschappen zijn wiskundige problemen. U moet dus inzicht hebben in het oplossen van wiskundige problemen, als u wilt innoveren in de wereld van computerwetenschappen.
Er zijn een paar eigenschappen van elk algoritme waarmee u te maken krijgt, deze zijn als volgt:
- Eindigheid: een algoritme KAN onbeperkt zijn, maar de stappen moeten eindigen, dwz het aantal stappen in een algoritme is altijd eindig.
- Definitie: Definititeit betekent: Elke stap moet correct en precies gedefinieerd. ”
- Invoer of invoer: deze spreekt voor zich. Zelfs als een algoritme geen invoer accepteert, kunnen we het zeggen 0 invoer.
- Output of Outputs: net als het aantal inputs, behalve dat een algoritme minstens één output moet hebben.
- Effectiviteit: De bewerkingen die bij een algoritme betrokken zijn, moeten meetbaar zijn om de effectiviteit of de efficiëntie van de vergeleken algoritmen te kunnen vergelijken. Over het algemeen is de hoeveelheid tijd en ruimte die een algoritme inneemt een redelijke maatstaf voor de efficiëntie van dat algoritme.
Als u nog andere vragen heeft, laat dan een bericht achter!
Tot de volgende keer! Blijf veilig, wees voorzichtig!
✍Ezaz Akhtar!
Antwoord
leer eerst een programmeertaal
Ik zou liever Python als een goed voorgerecht. Het is gemakkelijk te coderen en er zijn veel ingebouwde methoden inbegrepen. gebruik python en begin met het oplossen van puzzels zoals puzzels op de Hckerrank-site.
Het gebruik van een algoritme is de gemakkelijkste manier om ze te begrijpen.