Bedste svar
Den bedste måde efter min mening at forstå algoritmer skal dissekere en algoritme ad gangen.
Målet her er at løse et større problem ved at opdele det i mindre og mere håndterbare problemer. Jo flere algoritmer du forstår ved at dissekere dem, jo bedre bliver du.
Her er den grove definition af en algoritme :
En algoritme er en sæt af instruktioner designet til at udføre en specifik opgave.
Der er bogstaveligt talt tusindvis af algoritmer i mange felter som beregningsmatematik, der omfatter både emnerne matematik og datalogi, astronomi, bioinformatik, geovidenskab, lingvistik, medicin, fysik, statistik og mange flere !!
Her er et par algoritmer, der er yderst nyttige indtil dato:
- Sorteringsalgoritme
- Sorteringsalgoritme
- Sorteringsalgoritme
- Flet sorteringsalgoritme
- Quicksort algoritme
- Binær søgealgoritme
- BFS-algoritme (Breadth First Search)
- DFS (Alg. dybde første søgning) oritme
- Længst voksende efterfølgende
- Bellman – Ford algoritme
- Forordre, forudbestille, efterordne træ gennemgange algoritmer
- Heap Sorter algoritme
- Kruskals algoritme til at finde minimum spændende træ
- Dijkstras algoritme
- Prims algoritme
- Floyd – Warshall algoritme
- Johnsons algoritme
- Hopcroft – Karp algoritme
- Edmonds – Karp algoritme
- Ford – Fulkerson algoritme
- Kargers algoritme
- Euklidens korteste algoritme
- Omvendt sletningsalgoritme
- En * søgealgoritme
- Backtrackingsalgoritme
- Strålesøgning algoritme
- D * algoritme
- Brute-force søgealgoritme
- SSS * algoritme
- F * algoritme
- Iterativ uddybning Dybde Første søgealgoritme
- Bron – Kerbosch algoritme
- MaxCliqueDyn maksimal klikalgoritme
- Tarjans stærkt forbundne komponentalgoritme
- Kosaraju “s algoritme
- Hamming afstandsberegningsalgoritme
- Spredt distribueret hukommelsesberegningsalgoritme, som var et gennembrud til løsning af KNN eller post-office problem, som var et nærmeste nabo-søgning optimeringsproblem.
Jeg kan gå på men du forstår pointen. Alle disse kan virke lidt skræmmende, men hvis du vælger en i starten og vælger at bruge tid på at forstå den. opdele en algoritme efter eget valg i mindre sektioner til forståelse, så giver det dig en motivation med en styrke, som du også kan løse et problem, som algoritmen løser. Dit sind fyldes med intelligensglæde. Og du spekulerer på, hvilket problem i det virkelige liv du kan løse ved at anvende det, du har lært. Jeg antager, at jeg afviger.
Nå, for bedre at forstå nogle af dem er du nødt til at forberede dig på at tænke som om du er den, der er den, der udfører opgaverne.
Hvis fremtiden inden for datalogi er et uendeligt vævet stykke tøj med mange farver og andre egenskaber som dekorationer og perler og hvad der ikke er, så algoritmer er de tråde, der binder alt sammen.
Her er et citat fra Donald Knuth,
Der sker noget magisk smukt, når en række af kommandoer og beslutninger er i stand til at samle en samling af data i organiseret mønstre eller opdage skjult struktur.
Har du nogensinde prøvet at følge en opskrift? Hvis du har det, har du forstået algoritmer, nu er det din tid at få computeren til at forstå dem også!
De fleste af problemerne inden for datalogi er matematiske problemer. Så du skal forstå løsningen af matematiske problemer, hvis du ønsker at innovere i computervidenskabens verden.
Der er et par egenskaber for hver algoritme, du står over for, de er som følger:
- Endelighed: En algoritme KAN være ubegrænset, men trinene skal afsluttes, dvs. antallet af trin i en algoritme er altid endelig.
- Definitet: Definitet betyder: “Hvert trin skal være korrekt og nøjagtigt defineret ”.
- Input eller input: Denne er ret selvforklarende. Selvom en algoritme ikke tager noget input, kan vi sige, at det er 0 input.
- Output eller output: Ligesom antallet af input, bortset fra at en algoritme skal have mindst en output.
- Effektivitet: Operationer involveret i en algoritme skal kunne måles for at sammenligne effektiviteten eller effektiviteten af de sammenlignede algoritmer. Generelt er den tid og plads, som en algoritme optager, et rimeligt mål for algoritmens effektivitet.
Hvis du har andre spørgsmål, så send en besked!
Indtil næste gang! Bliv sikker, pas på!
✍Ezaz Akhtar!
Svar
Lær først et programmeringssprog
Jeg foretrækker Python som en god starter. Det er let at kode og mange indbyggede metoder er inkluderet. brug python og start med at løse gåder såsom gåder på Hckerrank-webstedet.
Brug af algoritme er den nemmeste måde at forstå dem på.