ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ TypeScript.
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΌΠ½ΠΎΠ³ΠΈΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΠ·ΡΠΊΠ΅ Typescript. ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΠΈ ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠ°ΠΉΠ» README Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ ΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ Π½Π° ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ Π΄Π»Ρ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅Π³ΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ (Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡΠΎΠ»ΠΈΠΊΠΈ Π² YouTube).
Π‘ΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ
Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ (Π°Π½Π³Π». data structure) β ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ Π΅Π΄ΠΈΠ½ΠΈΡΠ°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Ρ ΡΠ°Π½ΠΈΡΡ ΠΈ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΎΠ΄Π½ΠΎΡΠΈΠΏΠ½ΡΡ ΠΈ/ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² Π²ΡΡΠΈΡΠ»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΠ΅Ρ Π½ΠΈΠΊΠ΅. ΠΠ»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ, ΠΏΠΎΠΈΡΠΊΠ°, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ Π΅Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ.
A
- ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, B
- ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
A
ΠΠ΄Π½ΠΎΠ½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΡΠ²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊA
Π‘ΡΠ΅ΠΊA
ΠΡΠ΅ΡΠ΅Π΄ΡA
Π₯Π΅Ρ-ΡΠ°Π±Π»ΠΈΡΠ°
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ - ΡΡΠΎ Π½Π°Π±ΠΎΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, ΡΠΏΠΎΡΠΎΠ±ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. ΠΠ½ΠΈ ΠΎΠ±ΡΡΡΠ½ΡΡΡ, ΠΊΠ°ΠΊ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΠΈΡΠΊΠ°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ°ΡΡΡΠΈΡΡΠ²Π°ΡΡ ΡΠΈΡΠ»ΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΊΡΠ°ΡΡΠ°ΠΉΡΠΈΠΉ ΠΏΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ Π½Π° ΠΊΠ°ΡΡΠ΅, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠ΅ΡΠΈ ΠΈ Ρ.Π΄.
A
- ΠΠ°Π·ΠΎΠ²ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ, B
- ΠΡΠΎΠ΄Π²ΠΈΠ½ΡΡΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°
A
ΠΠΈΠ½Π΅ΠΉΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊA
ΠΠ²ΠΎΠΈΡΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ β ΠΏΠΎΠΈΡΠΊ Π² ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΌ ΠΌΠ°ΡΡΠΈΠ²Π΅
ΠΠ»Π³ΠΎΡΠΈΡΠΌΡ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
A
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌA
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌA
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈB
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌB
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌB
ΠΡΡΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ°
ΠΡΠΈΠΌΠΏΡΠΎΠΏΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°
ΠΡΠΈΠΌΠΏΡΠΎΠΏΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ (ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ) - ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡ ΡΠ΄ΡΠ°Π΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Ρ ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ. Π’Π°ΠΊΡΡ ΡΡΠ½ΠΊΡΠΈΡ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΠΏΡΠ΅Π΄Π²Π°ΡΡΡ ΠΏΡΠΎΠΏΠΈΡΠ½ΠΎΠΉ Π±ΡΠΊΠ²ΠΎΠΉ Π.
ΠΠΈΠΆΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ Π² Π½ΠΎΡΠ°ΡΠΈΠΈ Β«ΠΒ» Π±ΠΎΠ»ΡΡΠΎΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡΠ°ΡΠΈΡ Β«ΠΒ» Π±ΠΎΠ»ΡΡΠΎΠ΅ | 10 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² | 100 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² | 1000 ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² |
---|---|---|---|
O(1) | 1 | 1 | 1 |
O(log N) | 3 | 6 | 9 |
O(N) | 10 | 100 | 1000 |
O(N log N) | 30 | 600 | 9000 |
O(N^2) | 100 | 10000 | 1000000 |
O(2^N) | 1024 | 1.26e+29 | 1.07e+301 |
O(N!) | 3628800 | 9.3e+157 | 4.02e+2567 |
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π² ΡΡΡΡΠΊΡΡΡΠ°Ρ Π΄Π°Π½Π½ΡΡ
Π‘ΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ | ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ | ΠΠΎΠΈΡΠΊ | ΠΡΡΠ°Π²ΠΊΠ° | Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ |
---|---|---|---|---|
ΠΠ°ΡΡΠΈΠ² | 1 | n | n | n |
Π‘Π²ΡΠ·Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ | n | n | 1 | n |
Π‘ΡΠ΅ΠΊ | n | n | 1 | 1 |
ΠΡΠ΅ΡΠ΅Π΄Ρ | n | n | 1 | 1 |
Hash Table | - | n | n | n |
Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ | ΠΡΡΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ | Π‘ΡΠ΅Π΄Π½ΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ | Π₯ΡΠ΄ΡΠΈΠΉ ΡΠ»ΡΡΠ°ΠΉ | ΠΠ°ΠΌΡΡΡ | Π£ΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ |
---|---|---|---|---|---|
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠ·ΡΡΡΠΊΠΎΠΌ | n | n2 | n2 | 1 | ΠΠ° |
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΡΠ°Π²ΠΊΠ°ΠΌΠΈ | n | n2 | n2 | 1 | ΠΠ° |
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° Π²ΡΠ±ΠΎΡΠΎΠΌ | n2 | n2 | n2 | 1 | ΠΠ΅Ρ |
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΡΠΎΠΌ | n + r | n + r | n + r | n + r | ΠΠ° |
Π‘ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠ»ΠΈΡΠ½ΠΈΠ΅ΠΌ | n log(n) | n log(n) | n log(n) | n | ΠΠ° |
ΠΡΡΡΡΠ°Ρ ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° | n log(n) | n log(n) | n2 | log(n) | ΠΠ΅Ρ |