Video: Afla cine iti spioneaza profilul de Instagram/Facebook 2024
O parte din algoritmi pentru chestii Cheat Sheet
Următorul tabel descrie algoritmi și tipuri de algoritmi pe care le-ați putea folosi pentru diferite tipuri de analize de date. (Puteți găsi discuții despre toți acești algoritmi în Algoritmi pentru Dummies.)
Algoritm | Descriere | Link util |
A * Caută | Algoritmul urmărește costul nodurilor pe măsură ce le explorează folosind ecuația: f (n) = g (n) + h (n) -
n
este identificatorul nodului g (n) este costul de atingere a nodului până acum obiectivul de la nodul f (n) este costul estimat al căii de la n la obiectivul Ideea este de a căuta mai întâi căile cele mai promițătoare și de a evita căile costisitoare. Standford. edu |
Arbore echilibrat |
Un fel de arbore care păstrează o structură echilibrată prin reorganizare, astfel încât să poată oferi timpi de acces redus. Numărul de elemente din partea stângă diferă de cel din partea dreaptă cu cel mult unul. | Webdocs | Căutarea bidirecțională |
Această tehnică caută simultan de la nodul rădăcină și nodul gol până când cele două căi de căutare se întâlnesc în mijloc. Un avantaj al acestei abordări este că este timpul eficient deoarece găsește soluția mai rapidă decât multe alte soluții de forță brute. În plus, utilizează memoria mai eficient decât alte abordări și întotdeauna găsește o soluție. Principalul dezavantaj este complexitatea implementării. | Planificare. cs | Arbore binar |
Acesta este un tip de copac care conține noduri care se conectează la zero (noduri frunze), unul sau două (noduri ramificative) alte noduri. Fiecare nod definește cele trei elemente pe care trebuie să le includă pentru a asigura conectivitatea și stocarea datelor: stocarea datelor, conectarea la stânga și conexiunea la dreapta. | cs. CMU. edu | Breadth-First Search |
Această tehnică începe la nodul rădăcină, explorează mai întâi fiecare dintre nodurile copilului și doar apoi trece la nivelul următor. Ea progresează nivel după nivel până când găsește o soluție. Dezavantajul acestui algoritm este acela că trebuie să stocheze fiecare nod din memorie, ceea ce înseamnă că utilizează o cantitate considerabilă de memorie pentru un număr mare de noduri. Această tehnică poate verifica noduri duplicate, ceea ce economisește timp și întotdeauna vine cu o soluție. | Academia Khan | Brute Force |
Aceasta este o tehnică de rezolvare a problemelor în care cineva încearcă orice soluție posibilă, căutând cea mai bună soluție de problemă. Tehnicile de forță brută garantează o soluție potrivită atunci când există, dar sunt atât de consumatoare de timp încât majoritatea oamenilor să le evite. | Igm. univ | Depth-First Search |
Această tehnică începe la nodul rădăcină și explorează un set de noduri copil conectate până când ajunge la un nod de frunze. Ea progresează ramificată după ramură până când găsește o soluție. Dezavantajul acestui algoritm este acela că nu poate verifica nodurile duplicate, ceea ce înseamnă că ar putea traversa aceleași căi de nod mai mult decât o dată. De fapt, acest algoritm ar putea să nu găsească deloc o soluție, ceea ce înseamnă că trebuie să definiți un punct de cutoff pentru a menține algoritmul în căutarea infinită. Un avantaj al acestei abordări este că memoria este eficientă. | Hacker Earth | Împărțire și cucerire |
Aceasta este o tehnică de rezolvare a problemelor în care problema este ruptă în cele mai mici piese posibile și rezolvată folosind cea mai simplă abordare posibilă. Această tehnică economisește timp și resurse considerabile în comparație cu alte abordări, cum ar fi forța bruta. Cu toate acestea, nu garantează întotdeauna un rezultat optim. | Academia Khan | Dijikstra |
Acesta este un algoritm folosit pentru găsirea celei mai scurte căi într-un grafic reglat, ponderat (având ponderi pozitive). | Geeks pentru geeks | Graph |
Un grafic este un fel de extensie de copac. Ca și în cazul copacilor, aveți noduri care se conectează reciproc pentru a crea relații. Cu toate acestea, spre deosebire de arborii binari, un grafic poate avea mai mult de una sau două conexiuni. De fapt, nodurile grafice au adesea o multitudine de conexiuni. Veți vedea grafice utilizate în locuri precum hărți pentru GPS și tot felul de alte locuri pentru care abordarea de sus în jos a unui copac nu va funcționa. | Tutoriale | Algoritmi greoi |
Această tehnică a soluționării problemelor în care soluția se bazează pe cel mai bun răspuns pentru fiecare etapă a procesului de rezolvare a problemelor. În general, algoritmii grei fac două ipoteze: |
Alegerea opțiunii optime la fiecare pas este posibilă găsirea unei soluții optime pentru problema generală. Tutoriale |
Greed Best-First Search (BFS) |
Algoritmul alege întotdeauna calea cea mai apropiată de obiectiv utilizând ecuația: | f (n) n). Acest algoritm particular poate găsi soluții destul de repede, dar poate rămâne blocat și în bucle, atât de mulți oameni nu consideră că este o abordare optimă în găsirea unei soluții. Centurion2 Hashing Aceasta este o metodă de predicție a locației unui anumit element de date în structura de date (indiferent de structura care ar putea fi) înainte de ao căuta. Această abordare se bazează pe utilizarea cheilor plasate într-un index. O funcție hash transformă cheia într-o valoare numerică pe care algoritmul o plasează într-o tabelă hash. O tabelă hash oferă mijloacele de a crea un index care indică elemente dintr-o structură de date, astfel încât un algoritm să poată prezice cu ușurință locația datelor. | Tutoriale |
Heap | Acesta este un copac sofisticat care permite inserarea datelor în structura copacilor. Utilizarea inserării datelor face ca sortarea să fie mai rapidă. Puteți clasifica mai departe acești arbori ca grămezi și grămezi min, în funcție de capacitatea arborelui de a furniza imediat valoarea maximă sau minimă prezentă în arbore. | Tutoriale |
Euristica | Aceasta este o tehnică de rezolvare a problemelor care se bazează pe auto-descoperire și produce rezultate suficient de utile (nu neapărat optime, dar suficient de bune) t necesar. Auto-descoperirea este procesul de a permite algoritmului să vă arate o cale potențial utilă unei soluții (dar trebuie să vă bazați pe intuiția și înțelegerea umană pentru a afla dacă soluția este cea potrivită). | Northwest. edu |
MapReduce | Acesta este un cadru pentru a face algoritmii să funcționeze utilizând calculi în paralel (folosind mai multe computere conectate împreună într-o rețea), permițând algoritmilor să își finalizeze soluțiile mai repede. | Hadoop Apache |
Mergesort | Mergesort este o metodă generală de comparare a datelor de sortare. Depinde de o abordare divizată și cucerită pentru îndeplinirea misiunii sale. | Geeks pentru geeks |
Nash Equilibrium | Aceasta este o teorie a jocului în care ceilalți jucători cunosc strategia de echilibru pentru ceilalți jucători, astfel încât nimeni nu are nimic de câștigat prin schimbarea strategiei sale personale. Această teorie este folosită în orice situație ostilă în care jucătorul trebuie să țină seama de deciziile luate de toți ceilalți jucători pentru a câștiga jocul. | Academia Khan |
PageRank | PageRank este un algoritm pentru măsurarea importanței unui nod într-un grafic. Acest algoritm se află la baza algoritmilor principali ai Google pentru alimentarea căutărilor relevante către utilizatori. | Princeton. edu |
Căutarea euristică pură | Acest algoritm extinde nodurile în ordinea costului lor. Menține două liste. Lista închisă conține nodurile pe care le-a explorat deja, iar lista deschisă conține nodurile pe care trebuie să le exploreze în continuare. În fiecare iterație, algoritmul extinde nodul cu cel mai mic cost posibil. Toate nodurile copilului său sunt plasate în lista închisă și se calculează costurile nodului copil individual. Algoritmul trimite nodurile copil cu un cost redus înapoi la lista deschisă și șterge nodurile copil cu un cost ridicat. În consecință, algoritmul efectuează o căutare inteligentă, bazată pe cost, pentru soluție. | World of Computing |
Quicksort | Aceasta este o strategie de sortare generala bazata pe matrice de partitionare a datelor in array-uri mai mici. Depinde de o abordare divizată și cucerită pentru îndeplinirea misiunii sale. | Tutoriale |
Arbore dezechilibrat | Acesta este un arbore care plasează noi elemente de date ori de câte ori este necesar în arbore, fără a ține seama de echilibru. Această metodă de adăugare a elementelor face să crească copacul mai rapid, dar reduce viteza de acces la căutare sau sortare. | Quora |
|