The repository algorithms implemented on the Go:
Sort:
- Sort by simple exchange, bubble sort (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΡΡΡΠΌΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°ΠΌΠΈ, ΡΠΎΡΡΠΈΡΠΎΜΠ²ΠΊΠ° ΠΏΡΠ·ΡΡΡΠΊΠΎΜΠΌ)
- Cocktail sort (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ, ΠΈΠ»ΠΈ Π¨Π΅ΠΉΠΊΠ΅ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΠΈΠ»ΠΈ Π΄Π²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½Π°Ρ)
- Shell Sort (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π¨Π΅Π»Π»Π°)
- Insertion sort (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ)
- Fast sorting, sorting Hoare (Quicksort) (ΠΡΡΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π₯ΠΎΠ°ΡΠ°)
- Selection sort (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ)
- Heap sort (ΠΠΈΡΠ°ΠΌΠΈΠ΄Π°Π»ΡΠ½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°, Β«Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΊΡΡΠ΅ΠΉΒ»)
- Merge sort (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ)
- Radix sort (ΠΠΎΡΠ°Π·ΡΡΠ΄Π½Π°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°)
- Counting sort (Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌ)
Search:
- Binary search (ΠΠΈΠ½Π°ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ)
- Breadth-first search, BFS (ΠΠΎΠΈΡΠΊ Π² ΡΠΈΡΠΈΠ½Ρ (Π°Π½Π³Π». breadth-first search, BFS) β ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Ρ ΠΎΠ΄Π° Π³ΡΠ°ΡΠ° ΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΡΡΠΈ Π² Π³ΡΠ°ΡΠ΅)
- Linear search (ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ, ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ)
- Interpolation search (ΠΠ½ΡΠ΅ΡΠΏΠΎΠ»ΡΡΠΈΠΎΠ½Π½ΡΠΉ, ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»ΠΈΡΡΡΡΠΈΠΉ ΠΏΠΎΠΈΡΠΊ)
ADT:
- Stack (Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ LIFO)
- Queue (Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ², ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΠΎ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ FIFO)
- Binary search tree, BST (ΠΠ²ΠΎΠΈΡΠ½ΠΎΠ΅ Π΄Π΅ΡΠ΅Π²ΠΎ ΠΏΠΎΠΈΡΠΊΠ°)
- HEAP (ΠΡΜΡΠ° - Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌΠ°Ρ ΠΏΠ°ΠΌΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ)
- Doubly linked list (ΠΠ²ΡΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ)
- Circular lists (ΠΡΡΠ³ΠΎΠ²ΠΎΠΉ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ)
The code contains comments in Russian
License
This project is licensed under MIT license. Please read the LICENSE file.
Contribute
Welcomes any kind of contribution. Please read the CONTRIBUTING, ISSUE TEMPLATE and CODE_OF_CONDUCT file.