8000 javascript-algorithms/README.he-IL.md at master 路 trekhleb/javascript-algorithms 路 GitHub
[go: up one dir, main page]

Skip to content

Latest commit

History

History
368 lines (296 loc) 路 28.8 KB

File metadata and controls

368 lines (296 loc) 路 28.8 KB

讗诇讙讜专讬转诪讬诐 讜诪讘谞讬 谞转讜谞讬诐 讘-JavaScript

CI codecov 讙讜讚诇 讛诪讗讙专

诪讗讙专 讝讛 诪讻讬诇 讚讜讙诪讗讜转 诪讘讜住住讜转 JavaScript 砖诇 讗诇讙讜专讬转诪讬诐 讜诪讘谞讬 谞转讜谞讬诐 驻讜驻讜诇专讬讬诐 专讘讬诐.

诇讻诇 讗诇讙讜专讬转诐 讜诪讘谞讛 谞转讜谞讬诐 讬砖 README 诪砖诇讜 注诐 讛住讘专讬诐 拽砖讜专讬诐 讜拽讬砖讜专讬诐 诇拽专讬讗讛 谞讜住驻转 (讻讜诇诇 拽讬砖讜专讬诐 诇住专讟讜谞讬 YouTube).

拽专讗 讝讗转 讘砖驻讜转 讗讞专讜转: 绠浣撲腑鏂, 绻侀珨涓枃, 頃滉淡鞏, 鏃ユ湰瑾, Polski, Fran莽ais, Espa帽ol, Portugu锚s, 袪褍褋褋泻懈泄, T眉rk莽e, Italiana, Bahasa Indonesia, 校泻褉邪褩薪褋褜泻邪, Arabic, Ti岷縩g Vi峄噒, Deutsch, Uzbek

诪讘谞讬 谞转讜谞讬诐

诪讘谞讛 谞转讜谞讬诐 讛讜讗 讚专讱 诪住讜讬诪转 诇讗专讙谉 讜诇讗讞住谉 谞转讜谞讬诐 讘诪讞砖讘 讻讱 砖谞讬转谉 诇讙砖转 讗诇讬讛诐 讜诇砖谞讜转 讗讜转诐 讘讬注讬诇讜转. 诇讬转专 讚讬讜拽, 诪讘谞讛 谞转讜谞讬诐 讛讜讗 讗讜住祝 砖诇 注专讻讬 谞转讜谞讬诐, 讛讬讞住讬诐 讘讬谞讬讛诐, 讜讛驻讜谞拽爪讬讜转 讗讜 讛驻注讜诇讜转 砖谞讬转谉 诇讬讬砖诐 注诇 讛谞转讜谞讬诐.

讝讻讜专 砖诇讻诇 诪讘谞讛 谞转讜谞讬诐 讬砖 讗转 讛讬转专讜谞讜转 讜讛讞住专讜谞讜转 砖诇讜. 讞砖讜讘 诇砖讬诐 诇讘 讬讜转专 诇住讬讘讛 砖讘讙诇诇讛 讗转讛 讘讜讞专 诪讘谞讛 谞转讜谞讬诐 诪住讜讬诐 诪讗砖专 诇讗讜驻谉 讛讬讬砖讜诐 砖诇讜.

B - 诪转讞讬诇, A - 诪转拽讚诐

讗诇讙讜专讬转诪讬诐

讗诇讙讜专讬转诐 讛讜讗 诪驻专讟 讞讚 诪砖诪注讬 讻讬爪讚 诇驻转讜专 住讜讙 砖诇 讘注讬讜转. 讝讜讛讬 拽讘讜爪讛 砖诇 讻诇诇讬诐 讛诪讙讚讬专讬诐 讘诪讚讜讬拽 专爪祝 砖诇 驻注讜诇讜转.

B - 诪转讞讬诇, A - 诪转拽讚诐

讗诇讙讜专讬转诪讬诐 诇驻讬 谞讜砖讗

讗诇讙讜专讬转诪讬诐 诇驻讬 驻专讚讬讙诪讛

驻专讚讬讙诪讛 讗诇讙讜专讬转诪讬转 讛讬讗 砖讬讟讛 讗讜 讙讬砖讛 讻诇诇讬转 讛诪讜谞讞转 讘讘住讬住 讛转讻谞讜谉 砖诇 诪讞诇拽转 讗诇讙讜专讬转诪讬诐. 讝讜讛讬 讛驻砖讟讛 讙讘讜讛讛 讬讜转专 诪讛诪讜砖讙 砖诇 讗诇讙讜专讬转诐, 讘讚讬讜拽 讻驻讬 砖讗诇讙讜专讬转诐 讛讜讗 讛驻砖讟讛 讙讘讜讛讛 讬讜转专 诪转讜讻谞讬转 诪讞砖讘.

讻讬爪讚 诇讛砖转诪砖 讘诪讗讙专 讝讛

讛转拽谞转 讻诇 讛转诇讜讬讜转

npm install

讛专爪转 ESLint

讬讬转讻谉 砖转专爪讛 诇讛专讬抓 讗讜转讜 讻讚讬 诇讘讚讜拽 讗转 讗讬讻讜转 讛拽讜讚.

npm run lint

讛专爪转 讻诇 讛讘讚讬拽讜转

npm test

讛专爪转 讘讚讬拽讜转 诇驻讬 砖诐

npm test -- 'LinkedList'

驻转专讜谉 讘注讬讜转

讗诐 讛诇讬谞讟讬谞讙 讗讜 讛讘讚讬拽讜转 谞讻砖诇讬诐, 谞住讛 诇诪讞讜拽 讗转 讛转讬拽讬讬讛 node_modules 讜诇讛转拽讬谉 诪讞讚砖 讗转 讞讘讬诇讜转 npm:

rm -rf ./node_modules
npm i

讘谞讜住祝, 讜讚讗 砖讗转讛 诪砖转诪砖 讘讙专住转 Node 谞讻讜谞讛 (>=16). 讗诐 讗转讛 诪砖转诪砖 讘-nvm 诇谞讬讛讜诇 讙专住讗讜转 Node, 转讜讻诇 诇讛专讬抓 nvm use 诪转讬拽讬讬转 讛砖讜专砖 砖诇 讛驻专讜讬拽讟 讜讛讙专住讛 讛谞讻讜谞讛 转讬讘讞专.

砖讟讞 诪砖讞拽讬诐

讗转讛 讬讻讜诇 诇砖讞拽 注诐 诪讘谞讬 谞转讜谞讬诐 讜讗诇讙讜专讬转诪讬诐 讘拽讜讘抓 ./src/playground/playground.js 讜诇讻转讜讘 讘讚讬拽讜转 注讘讜专讜 讘-./src/playground/__test__/playground.test.js.

诇讗讞专 诪讻谉 驻砖讜讟 讛专抓 讗转 讛驻拽讜讚讛 讛讘讗讛 讻讚讬 诇讘讚讜拽 讗诐 拽讜讚 砖讟讞 讛诪砖讞拽讬诐 砖诇讱 注讜讘讚 讻诪爪讜驻讛:

npm test -- 'playground'

诪讬讚注 砖讬诪讜砖讬

讛驻谞讬讜转

住讬诪讜谉 讛-O 讛讙讚讜诇

住讬诪讜谉 讛-O 讛讙讚讜诇 诪砖诪砖 诇住讬讜讜讙 讗诇讙讜专讬转诪讬诐 诇驻讬 讻讬爪讚 讝诪谉 讛专讬爪讛 讗讜 讚专讬砖讜转 讛诪专讞讘 砖诇讛诐 讙讚诇讬诐 讻讻诇 砖讙讜讚诇 讛拽诇讟 讙讚诇. 讘转专砖讬诐 砖诇讛诇谉 转讜讻诇 诇诪爪讜讗 讗转 讛住讚专讬诐 讛谞驻讜爪讬诐 讘讬讜转专 砖诇 爪诪讬讞转 讗诇讙讜专讬转诪讬诐 讛诪爪讜讬谞讬诐 讘住讬诪讜谉 讛-O 讛讙讚讜诇.

讙专驻讬 讛-O 讛讙讚讜诇

诪拽讜专: Big O Cheat Sheet.

诇讛诇谉 专砖讬诪讛 砖诇 讻诪讛 诪住讬诪讜谞讬 讛-O 讛讙讚讜诇 讛谞驻讜爪讬诐 讘讬讜转专 讜讛砖讜讜讗讜转 讛讘讬爪讜注讬诐 砖诇讛诐 诪讜诇 讙讚诇讬诐 砖讜谞讬诐 砖诇 谞转讜谞讬 拽诇讟.

住讬诪讜谉 讛-O 讛讙讚讜诇 讞讬砖讜讘讬诐 诇-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 1
转讜专 n n 1 1
专砖讬诪讛 诪拽讜砖专转 n n 1 n
讟讘诇转 讙讬讘讜讘 - n n n 讘诪拽专讛 砖诇 驻讜谞拽爪讬讬转 讙讬讘讜讘 诪讜砖诇诪转, 讛注诇讜讬讜转 讬讛讬讜 O(1)
注抓 讞讬驻讜砖 讘讬谞讗专讬 n n n n 讘诪拽专讛 砖诇 注抓 诪讗讜讝谉, 讛注诇讜讬讜转 讬讛讬讜 O(log(n))
注抓 B log(n) log(n) log(n) log(n)
注抓 讗讚讜诐-砖讞讜专 log(n) log(n) log(n) log(n)
注抓 AVL log(n) log(n) log(n) log(n)
诪住谞谉 讘诇讜诐 - 1 1 - 转讜爪讗讜转 讞讬讜讘讬讜转 砖讙讜讬讜转 讗驻砖专讬讜转 讘注转 讞讬驻讜砖

诪讜专讻讘讜转 讗诇讙讜专讬转诪讬 诪讬讜谉 诪注专讻讬诐

砖诐 讛讟讜讘 讘讬讜转专 诪诪讜爪注 讛讙专讜注 讘讬讜转专 讝讬讻专讜谉 讬爪讬讘 讛注专讜转
诪讬讜谉 讘讜注讜转 n n2 n2 1 讻谉
诪讬讜谉 讛讻谞住讛 n n2 n2 1 讻谉
诪讬讜谉 讘讞讬专讛 n2 n2 n2 1 诇讗
诪讬讜谉 注专讬诪讛 n聽log(n) n聽log(n) n聽log(n) 1 诇讗
诪讬讜谉 诪讬讝讜讙 n聽log(n) n聽log(n) n聽log(n) n 讻谉
诪讬讜谉 诪讛讬专 n聽log(n) n聽log(n) n2 log(n) 诇讗 诪讬讜谉 诪讛讬专 讘讚专讱 讻诇诇 诪讘讜爪注 讘诪拽讜诐 注诐 O(log(n)) 砖讟讞 诪讞住谞讬转
诪讬讜谉 爪讚驻讜转 n聽log(n) 转诇讜讬 讘专爪祝 讛驻注专 n聽(log(n))2 1 诇讗
诪讬讜谉 住驻讬专讛 n + r n + r n + r n + r 讻谉 r - 讛诪住驻专 讛讙讚讜诇 讘讬讜转专 讘诪注专讱
诪讬讜谉 讘住讬住 n * k n * k n * k n + k 讻谉 k - 讗讜专讱 讛诪驻转讞 讛讗专讜讱 讘讬讜转专

转讜诪讻讬 讛驻专讜讬拽讟

讗转讛 讬讻讜诇 诇转诪讜讱 讘驻专讜讬拽讟 讝讛 讚专讱 鉂わ笍锔 GitHub 讗讜 鉂わ笍锔 Patreon.

讗谞砖讬诐 砖转讜诪讻讬诐 讘驻专讜讬拽讟 讝讛 鈭 = 1

诪讞讘专

@trekhleb

讻诪讛 驻专讜讬拽讟讬诐诪讗诪专讬诐 谞讜住驻讬诐 注诇 JavaScript 讜讗诇讙讜专讬转诪讬诐 讘-trekhleb.dev* B [诪砖讞拽 讛拽驻讬爪讜转](src/algorithms/uncategor * B [讞讬驻讜砖 讘讬谞讗专讬](src/algorithms

0