诪讗讙专 讝讛 诪讻讬诇 讚讜讙诪讗讜转 诪讘讜住住讜转 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专砖讬诪讛 诪拽讜砖专转B专砖讬诪讛 诪拽讜砖专转 讻驻讜诇讛B转讜专B诪讞住谞讬转B讟讘诇转 讙讬讘讜讘B注专讬诪讛 - 讙专住讗讜转 诪拽住讬诪讜诐 讜诪讬谞讬诪讜诐B转讜专 注讚讬驻讜讬讜转A注抓 转讞讬诇讬讜转A注抓A注抓 讞讬驻讜砖 讘讬谞讗专讬A注抓 AVLA注抓 讗讚讜诐-砖讞讜专A注抓 诪拽讟注讬诐 - 注诐 讚讜讙诪讗讜转 诇砖讗讬诇转讜转 诪讬谞讬诪讜诐/诪拽住讬诪讜诐/住讻讜诐 砖诇 讟讜讜讞A注抓 驻谞讜讜讬拽 (注抓 讘讬谞讗专讬 诪讗讜谞讚拽住)
A讙专祝 (诪讻讜讜谉 讜诇讗 诪讻讜讜谉)A拽讘讜爪讛 诪讜驻专讚转 - 诪讘谞讛 谞转讜谞讬诐 砖诇 讗讬讞讜讚-诪爪讬讗讛 讗讜 诪讬讝讜讙-诪爪讬讗讛A诪住谞谉 讘诇讜诐A诪讟诪讜谉 LRU - 诪讟诪讜谉 驻讞讜转 砖讬诪讜砖 诇讗讞专讜谞讛 (LRU)
讗诇讙讜专讬转诐 讛讜讗 诪驻专讟 讞讚 诪砖诪注讬 讻讬爪讚 诇驻转讜专 住讜讙 砖诇 讘注讬讜转. 讝讜讛讬 拽讘讜爪讛 砖诇 讻诇诇讬诐 讛诪讙讚讬专讬诐 讘诪讚讜讬拽 专爪祝 砖诇 驻注讜诇讜转.
B - 诪转讞讬诇, A - 诪转拽讚诐
-
诪转诪讟讬拽讛
B诪谞讬驻讜诇爪讬讛 注诇 讘讬讟讬诐 - 拽讘讬注讛/注讚讻讜谉/谞讬拽讜讬 讘讬讟讬诐, 讛讻驻诇讛/讞讬诇讜拽 讘-2, 讛驻讬讻讛 诇砖诇讬诇讬 讜讻讜'B谞拽讜讚讛 爪驻讛 讘讬谞讗专讬转 - 讬讬爪讜讙 讘讬谞讗专讬 砖诇 诪住驻专讬诐 讘谞拽讜讚讛 爪驻讛B驻拽讟讜专讬讗诇B诪住驻专 驻讬讘讜谞讗爪'讬 - 讙专住讗讜转 拽诇讗住讬讜转 讜住讙讜专讜转B讙讜专诪讬诐 专讗砖讜谞讬讬诐 - 诪爪讬讗转 讙讜专诪讬诐 专讗砖讜谞讬讬诐 讜住驻讬专转诐 讘讗诪爪注讜转 诪砖驻讟 讛讗专讚讬-专诪谞讜讙'讗谉B讘讚讬拽转 专讗砖讜谞讬讜转 (砖讬讟转 讛讞诇讜拽讛 讛谞讬住讬讜谞讬转)B讗诇讙讜专讬转诐 讗讜拽诇讬讚住 - 讞讬砖讜讘 讛诪讞诇拽 讛诪砖讜转祝 讛讙讚讜诇 讘讬讜转专 (GCD)B讛诪讻驻讬诇 讛诪砖讜转祝 讛拽讟谉 讘讬讜转专 (LCM)B谞驻讛 砖诇 讗专讟讜住转谞住 - 诪爪讬讗转 讻诇 讛诪住驻专讬诐 讛专讗砖讜谞讬讬诐 注讚 诇讙讘讜诇 讻诇砖讛讜B讛讗诐 讞讝拽讛 砖诇 砖转讬讬诐 - 讘讚讬拽讛 讗诐 诪住驻专 讛讜讗 讞讝拽讛 砖诇 砖转讬讬诐 (讗诇讙讜专讬转诪讬诐 谞讗讬讘讬讬诐 讜讘讬讟讬讬诐)B诪砖讜诇砖 驻住拽诇B诪住驻专 诪专讜讻讘 - 诪住驻专讬诐 诪专讜讻讘讬诐 讜驻注讜诇讜转 讘住讬住讬讜转 注诇讬讛诐B专讚讬讗谉 讜诪注诇讜转 - 讛诪专讛 诪专讚讬讗谞讬诐 诇诪注诇讜转 讜讘讞讝专讛B讞讝拽讛 诪讛讬专讛B砖讬讟转 讛讜专谞专 - 讛注专讻转 驻讜诇讬谞讜诐B诪讟专讬爪讜转 - 诪讟专讬爪讜转 讜驻注讜诇讜转 讘住讬住讬讜转 注诇 诪讟专讬爪讜转 (讻驻诇, 讟专谞住驻讜讝讬爪讬讛 讜讻讜')B诪专讞拽 讗讜拽诇讬讚讬 - 诪专讞拽 讘讬谉 砖转讬 谞拽讜讚讜转/讜拽讟讜专讬诐/诪讟专讬爪讜转A讞诇讜拽转 诪住驻专 砖诇诐A砖讜专砖 专讬讘讜注讬 - 砖讬讟转 谞讬讜讟讜谉A讗诇讙讜专讬转诐 蟺 砖诇 诇讬讜 讛讜讬 - 讞讬砖讜讘讬 蟺 诪拽讜专讘讬诐 注诇 讘住讬住 N-讙讜谞讬诐A讛转诪专转 驻讜专讬讬讛 讛讘讚讬讚讛 - 驻讬专讜拽 驻讜谞拽爪讬讛 砖诇 讝诪谉 (讗讜转) 诇转讚专讬诐 讛诪专讻讬讘讬诐 讗讜转讛
-
拽讘讜爪讜转
B诪讻驻诇讛 拽专讟讝讬转 - 诪讻驻诇讛 砖诇 诪住驻专 拽讘讜爪讜转B注专讘讜讘 驻讬砖专-讬讬讟住 - 转诪讜专讛 讗拽专讗讬转 砖诇 专爪祝 住讜驻讬A拽讘讜爪转 讞讝拽讛 - 讻诇 转转讬 讛拽讘讜爪讜转 砖诇 拽讘讜爪讛 (驻转专讜谞讜转 讘讬讟讬讬诐, 诪注拽讘 诇讗讞讜专 讜拽住拽讚讛)A转诪讜专讜转 (注诐 讜讘诇讬 讞讝专讜转)A爪讬专讜驻讬诐 (注诐 讜讘诇讬 讞讝专讜转)A转转-专爪祝 诪砖讜转祝 讗专讜讱 讘讬讜转专 (LCS)A转转-专爪祝 注讜诇讛 讗专讜讱 讘讬讜转专A注诇-专爪祝 诪砖讜转祝 拽爪专 讘讬讜转专 (SCS)A讘注讬讬转 讛转专诪讬诇 - "0/1" 讜"诇讗 诪讜讙讘诇"A转转-诪注专讱 诪拽住讬诪诇讬 - "讻讜讞 讘专讜讟诇讬" 讜"转讻谞讜转 讚讬谞诪讬" (Kadane) 讙专住讗讜转A住讻讜诐 爪讬专讜祝 - 诪爪讬讗转 讻诇 讛爪讬专讜驻讬诐 砖讬讜爪专讬诐 住讻讜诐 住驻爪讬驻讬
-
诪讞专讜讝讜转
B诪专讞拽 讛诪讬谞讙 - 诪住驻专 讛注诪讚讜转 砖讘讛谉 讛住诪诇讬诐 砖讜谞讬诐B驻诇讬谞讚专讜诐 - 讘讚讬拽讛 讗诐 讛诪讞专讜讝转 讝讛讛 讘拽专讬讗讛 诇讗讞讜专A诪专讞拽 诇讜讜谞砖讟讬讬谉 - 诪专讞拽 讛注专讬讻讛 讛诪讬谞讬诪诇讬 讘讬谉 砖转讬 专爪驻讬诐A讗诇讙讜专讬转诐 拽谞讜转'-诪讜专讬住-驻专讗讟 (讗诇讙讜专讬转诐 KMP) - 讞讬驻讜砖 转转-诪讞专讜讝转 (讛转讗诪转 转讘谞讬转)A讗诇讙讜专讬转诐 Z - 讞讬驻讜砖 转转-诪讞专讜讝转 (讛转讗诪转 转讘谞讬转)A讗诇讙讜专讬转诐 专讘讬谉 拽讗专驻 - 讞讬驻讜砖 转转-诪讞专讜讝转A转转-诪讞专讜讝转 诪砖讜转驻转 讗专讜讻讛 讘讬讜转专A讛转讗诪转 讘讬讟讜讬 专讙讜诇专讬
-
讞讬驻讜砖讬诐
B讞讬驻讜砖 诇讬谞讗专讬B讞讬驻讜砖 拽驻讬爪讜转 (讗讜 讞讬驻讜砖 讘诇讜拽讬诐) - 讞讬驻讜砖 讘诪注专讱 诪诪讜讬谉B讞讬驻讜砖 讘讬谞讗专讬 - 讞讬驻讜砖 讘诪注专讱 诪诪讜讬谉B讞讬驻讜砖 讗讬谞讟专驻讜诇爪讬讛 - 讞讬驻讜砖 讘诪注专讱 诪诪讜讬谉 注诐 讛转驻诇讙讜转 讗讞讬讚讛
-
诪讬讜谉
B诪讬讜谉 讘讜注讜转B诪讬讜谉 讘讞讬专讛B诪讬讜谉 讛讻谞住讛B诪讬讜谉 注专讬诪讛B诪讬讜谉 诪讬讝讜讙B诪讬讜谉 诪讛讬专 - 讬讬砖讜诪讬诐 讘诪拽讜诐 讜诇讗 讘诪拽讜诐B诪讬讜谉 爪讚驻讜转B诪讬讜谉 住驻讬专讛B诪讬讜谉 讘住讬住B诪讬讜谉 讚诇讬
-
专砖讬诪讜转 诪拽讜砖专讜转
-
注爪讬诐
B讞讬驻讜砖 诇注讜诪拽 (DFS)B讞讬驻讜砖 诇专讜讞讘 (BFS)
-
讙专驻讬诐
B讞讬驻讜砖 诇注讜诪拽 (DFS)B讞讬驻讜砖 诇专讜讞讘 (BFS)B讗诇讙讜专讬转诐 拽专讜住拽诇 - 诪爪讬讗转 注抓 驻讜专砖 诪讬谞讬诪诇讬 (MST) 注讘讜专 讙专祝 诇讗 诪讻讜讜谉 诪砖讜拽诇诇A讗诇讙讜专讬转诐 讚讬讬拽住讟专讛 - 诪爪讬讗转 讛诪住诇讜诇讬诐 讛拽爪专讬诐 讘讬讜转专 诇讻诇 拽讜讚拽讜讚讬 讛讙专祝 诪拽讜讚拽讜讚 讬讞讬讚A讗诇讙讜专讬转诐 讘诇诪谉-驻讜专讚 - 诪爪讬讗转 讛诪住诇讜诇讬诐 讛拽爪专讬诐 讘讬讜转专 诇讻诇 拽讜讚拽讜讚讬 讛讙专祝 诪拽讜讚拽讜讚 讬讞讬讚A讗诇讙讜专讬转诐 驻诇讜讬讚-讜讜专砖诇 - 诪爪讬讗转 讛诪住诇讜诇讬诐 讛拽爪专讬诐 讘讬讜转专 讘讬谉 讻诇 讝讜讙讜转 讛拽讜讚拽讜讚讬诐A讝讬讛讜讬 诪注讙诇 - 注讘讜专 讙专驻讬诐 诪讻讜讜谞讬诐 讜诇讗 诪讻讜讜谞讬诐 (讙专住讗讜转 诪讘讜住住讜转 DFS 讜拽讘讜爪讛 诪讜驻专讚转)A讗诇讙讜专讬转诐 驻专讬诐 - 诪爪讬讗转 注抓 驻讜专砖 诪讬谞讬诪诇讬 (MST) 注讘讜专 讙专祝 诇讗 诪讻讜讜谉 诪砖讜拽诇诇A诪讬讜谉 讟讜驻讜诇讜讙讬 - 砖讬讟转 DFSA谞拽讜讚讜转 讞讬转讜讱 - 讗诇讙讜专讬转诐 讟专讙'谉 (诪讘讜住住 DFS)A讙砖专讬诐 - 讗诇讙讜专讬转诐 诪讘讜住住 DFSA诪住诇讜诇 讜诪注讙诇 讗讜讬诇专 - 讗诇讙讜专讬转诐 驻诇专讬 - 讘讬拽讜专 讘讻诇 拽砖转 讘讚讬讜拽 驻注诐 讗讞转A诪注讙诇 讛诪讬诇讟讜谉 - 讘讬拽讜专 讘讻诇 拽讜讚拽讜讚 讘讚讬讜拽 驻注诐 讗讞转A专讻讬讘讬诐 拽砖讬专讬诐 讞讝拽 - 讗诇讙讜专讬转诐 拽讜住专讙'讜A讘注讬讬转 讛住讜讻谉 讛谞讜住注 - 讛诪住诇讜诇 讛拽爪专 讘讬讜转专 讛讗驻砖专讬 砖诪讘拽专 讘讻诇 注讬专 讜讞讜讝专 诇注讬专 讛诪讜爪讗
-
讛爪驻谞讛
B讙讬讘讜讘 驻讜诇讬谞讜诪讬 - 驻讜谞拽爪讬讬转 讙讬讘讜讘 诪转讙诇讙诇转 讛诪讘讜住住转 注诇 驻讜诇讬谞讜诐B爪讜驻谉 讙讚专 诪住讬诇讛 - 讗诇讙讜专讬转诐 讛爪驻谞转 讟专谞住驻讜讝讬爪讬讛 诇讛爪驻谞转 讛讜讚注讜转B爪讜驻谉 拽讬住专 - 爪讜驻谉 讛讞诇驻讛 驻砖讜讟B爪讜驻谉 讛讬诇 - 爪讜驻谉 讛讞诇驻讛 讛诪讘讜住住 注诇 讗诇讙讘专讛 诇讬谞讗专讬转
-
诇诪讬讚转 诪讻讜谞讛
BNanoNeuron - 7 驻讜谞拽爪讬讜转 JS 驻砖讜讟讜转 砖诪讚讙讬诪讜转 讻讬爪讚 诪讻讜谞讜转 讬讻讜诇讜转 诇诇诪讜讚 讘讗诪转 (转驻讜爪讛 拽讚讬诪讛/讗讞讜专讛)Bk-NN - 讗诇讙讜专讬转诐 住讬讜讜讙 k-讛砖讻谞讬诐 讛拽专讜讘讬诐 讘讬讜转专Bk-Means - 讗诇讙讜专讬转诐 讗砖讻讜诇 k-Means
-
注讬讘讜讚 转诪讜谞讛
BSeam Carving - 讗诇讙讜专讬转诐 砖讬谞讜讬 讙讜讚诇 转诪讜谞讛 诪讜讚注 转讜讻谉
-
住讟讟讬住讟讬拽讛
B诪砖拽诇 讗拽专讗讬 - 讘讞讬专转 驻专讬讟 讗拽专讗讬 诪讛专砖讬诪讛 注诇 讘住讬住 诪砖拽诇讬 讛驻专讬讟讬诐
-
讗诇讙讜专讬转诪讬诐 讗讘讜诇讜爪讬讜谞讬讬诐
A讗诇讙讜专讬转诐 讙谞讟讬 - 讚讜讙诪讛 诇讗讜驻谉 砖讘讜 谞讬转谉 诇讬讬砖诐 讗诇讙讜专讬转诐 讙谞讟讬 诇讗讬诪讜谉 诪讻讜谞讬讜转 讘讞谞讬讛 注爪诪讬转
-
诇讗 诪住讜讜讙
B诪讙讚诇讬 讛讗谞讜讬B住讬讘讜讘 诪讟专讬爪讛 专讬讘讜注讬转 - 讗诇讙讜专讬转诐 讘诪拽讜诐B诪砖讞拽 讛拽驻讬爪讜转 - 讚讜讙诪讗讜转 诇诪注拽讘 诇讗讞讜专, 转讻谞讜转 讚讬谞诪讬 (诪诇诪注诇讛 诇诪讟讛 + 诪诇诪讟讛 诇诪注诇讛) 讜讞诪讚谞讬B诪住诇讜诇讬诐 讬讬讞讜讚讬讬诐 - 讚讜讙诪讗讜转 诇诪注拽讘 诇讗讞讜专, 转讻谞讜转 讚讬谞诪讬 讜诪讘讜住住讜转 注诇 诪砖讜诇砖 驻住拽诇B诪讚专讙讜转 讙砖诐 - 讘注讬讬转 诇讻讬讚转 诪讬 讙砖诐 (讙专住讗讜转 转讻谞讜转 讚讬谞诪讬 讜讻讜讞 讘专讜讟诇讬)B诪讚专讙讜转 专拽讜专住讬讘讬讜转 - 住驻讬专转 诪住驻专 讛讚专讻讬诐 诇讛讙讬注 诇专讗砖 (4 驻转专讜谞讜转)B讛讝诪谉 讛讟讜讘 讘讬讜转专 诇拽谞讜转 讜诇诪讻讜专 诪谞讬讜转 - 讚讜讙诪讗讜转 诇讞诇讜拽讛 讜讻讬讘讜砖 讜诪注讘专 讗讞讚A讘注讬讬转 N-讛诪诇讻讜转A住讬讜专 讛驻专砖
驻专讚讬讙诪讛 讗诇讙讜专讬转诪讬转 讛讬讗 砖讬讟讛 讗讜 讙讬砖讛 讻诇诇讬转 讛诪讜谞讞转 讘讘住讬住 讛转讻谞讜谉 砖诇 诪讞诇拽转 讗诇讙讜专讬转诪讬诐. 讝讜讛讬 讛驻砖讟讛 讙讘讜讛讛 讬讜转专 诪讛诪讜砖讙 砖诇 讗诇讙讜专讬转诐, 讘讚讬讜拽 讻驻讬 砖讗诇讙讜专讬转诐 讛讜讗 讛驻砖讟讛 讙讘讜讛讛 讬讜转专 诪转讜讻谞讬转 诪讞砖讘.
-
讻讜讞 讘专讜讟诇讬 - 讘讜讚拽 讗转 讻诇 讛讗驻砖专讜讬讜转 讜讘讜讞专 讗转 讛驻转专讜谉 讛讟讜讘 讘讬讜转专
B讞讬驻讜砖 诇讬谞讗专讬B诪讚专讙讜转 讙砖诐 - 讘注讬讬转 诇讻讬讚转 诪讬 讙砖诐B诪讚专讙讜转 专拽讜专住讬讘讬讜转 - 住驻讬专转 诪住驻专 讛讚专讻讬诐 诇讛讙讬注 诇专讗砖A转转-诪注专讱 诪拽住讬诪诇讬A讘注讬讬转 讛住讜讻谉 讛谞讜住注 - 讛诪住诇讜诇 讛拽爪专 讘讬讜转专 讛讗驻砖专讬 砖诪讘拽专 讘讻诇 注讬专 讜讞讜讝专 诇注讬专 讛诪讜爪讗A讛转诪专转 驻讜专讬讬讛 讛讘讚讬讚讛 - 驻讬专讜拽 驻讜谞拽爪讬讛 砖诇 讝诪谉 (讗讜转) 诇转讚专讬诐 讛诪专讻讬讘讬诐 讗讜转讛
-
讞诪讚谞讬 - 讘讜讞专 讗转 讛讗驻砖专讜转 讛讟讜讘讛 讘讬讜转专 讘讝诪谉 讛谞讜讻讞讬, 诇诇讗 讻诇 讛转讞砖讘讜转 讘注转讬讚
B诪砖讞拽 讛拽驻讬爪讜转A讘注讬讬转 讛转专诪讬诇 讛诇讗 诪讜讙讘诇A讗诇讙讜专讬转诐 讚讬讬拽住讟专讛 - 诪爪讬讗转 讛诪住诇讜诇讬诐 讛拽爪专讬诐 讘讬讜转专 诇讻诇 拽讜讚拽讜讚讬 讛讙专祝A讗诇讙讜专讬转诐 驻专讬诐 - 诪爪讬讗转 注抓 驻讜专砖 诪讬谞讬诪诇讬 (MST) 注讘讜专 讙专祝 诇讗 诪讻讜讜谉 诪砖讜拽诇诇A讗诇讙讜专讬转诐 拽专讜住拽诇 - 诪爪讬讗转 注抓 驻讜专砖 诪讬谞讬诪诇讬 (MST) 注讘讜专 讙专祝 诇讗 诪讻讜讜谉 诪砖讜拽诇诇
-
讞诇讜拽讛 讜讻讬讘讜砖 - 诪讞诇拽 讗转 讛讘注讬讛 诇讞诇拽讬诐 拽讟谞讬诐 讬讜转专 讜讗讝 驻讜转专 讞诇拽讬诐 讗诇讛
B讞讬驻讜砖 讘讬谞讗专讬B诪讙讚诇讬 讛讗谞讜讬B诪砖讜诇砖 驻住拽诇B讗诇讙讜专讬转诐 讗讜拽诇讬讚住 - 讞讬砖讜讘 讛诪讞诇拽 讛诪砖讜转祝 讛讙讚讜诇 讘讬讜转专 (GCD)B诪讬讜谉 诪讬讝讜讙B诪讬讜谉 诪讛讬专B讞讬驻讜砖 诇注讜诪拽 讘注抓 (DFS)B讞讬驻讜砖 诇注讜诪拽 讘讙专祝 (DFS)B诪讟专讬爪讜转 - 讬爪讬专讛 讜诪注讘专 注诇 诪讟专讬爪讜转 讘爪讜专讜转 砖讜谞讜转B诪砖讞拽 讛拽驻讬爪讜转B讞讝拽讛 诪讛讬专讛B讛讝诪谉 讛讟讜讘 讘讬讜转专 诇拽谞讜转 讜诇诪讻讜专 诪谞讬讜转 - 讚讜讙诪讗讜转 诇讞诇讜拽讛 讜讻讬讘讜砖 讜诪注讘专 讗讞讚A转诪讜专讜转 (注诐 讜讘诇讬 讞讝专讜转)A爪讬专讜驻讬诐 (注诐 讜讘诇讬 讞讝专讜转)A转转-诪注专讱 诪拽住讬诪诇讬
-
转讻谞讜转 讚讬谞诪讬 - 讘谞讬讬转 驻转专讜谉 讘讗诪爪注讜转 转转-驻转专讜谞讜转 砖谞诪爪讗讜 拽讜讚诐 诇讻谉
B诪住驻专 驻讬讘讜谞讗爪'讬B诪砖讞拽 讛拽驻讬爪讜转B诪住诇讜诇讬诐 讬讬讞讜讚讬讬诐B诪讚专讙讜转 讙砖诐 - 讘注讬讬转 诇讻讬讚转 诪讬 讙砖诐B诪讚专讙讜转 专拽讜专住讬讘讬讜转 - 住驻讬专转 诪住驻专 讛讚专讻讬诐 诇讛讙讬注 诇专讗砖BSeam Carving - 讗诇讙讜专讬转诐 砖讬谞讜讬 讙讜讚诇 转诪讜谞讛 诪讜讚注 转讜讻谉A诪专讞拽 诇讜讜谞砖讟讬讬谉 - 诪专讞拽 讛注专讬讻讛 讛诪讬谞讬诪诇讬 讘讬谉 砖转讬 专爪驻讬诐A转转-专爪祝 诪砖讜转祝 讗专讜讱 讘讬讜转专 (LCS)A转转-诪讞专讜讝转 诪砖讜转驻转 讗专讜讻讛 讘讬讜转专A转转-专爪祝 注讜诇讛 讗专讜讱 讘讬讜转专A注诇-专爪祝 诪砖讜转祝 拽爪专 讘讬讜转专A讘注讬讬转 讛转专诪讬诇 0/1A讞诇讜拽转 诪住驻专 砖诇诐A转转-诪注专讱 诪拽住讬诪诇讬A讗诇讙讜专讬转诐 讘诇诪谉-驻讜专讚 - 诪爪讬讗转 讛诪住诇讜诇讬诐 讛拽爪专讬诐 讘讬讜转专 诇讻诇 拽讜讚拽讜讚讬 讛讙专祝A讗诇讙讜专讬转诐 驻诇讜讬讚-讜讜专砖诇 - 诪爪讬讗转 讛诪住诇讜诇讬诐 讛拽爪专讬诐 讘讬讜转专 讘讬谉 讻诇 讝讜讙讜转 讛拽讜讚拽讜讚讬诐A讛转讗诪转 讘讬讟讜讬 专讙讜诇专讬
-
诪注拽讘 诇讗讞讜专 - 讘讚讜诪讛 诇讻讜讞 讘专讜讟诇讬, 诪谞住讛 诇讬讬爪专 讗转 讻诇 讛驻转专讜谞讜转 讛讗驻砖专讬讬诐, 讗讱 讘讻诇 驻注诐 砖讗转讛 诪讬讬爪专 驻转专讜谉 讛讘讗 讗转讛 讘讜讚拽 讗诐 讛讜讗 注讜诪讚 讘讻诇 讛转谞讗讬诐, 讜专拽 讗讝 诪诪砖讬讱 诇讬讬爪专 驻转专讜谞讜转 讛讘讗讬诐. 讗讞专转, 讞讜讝专 讗讞讜专讛, 讜讛讜诇讱 讘谞转讬讘 讗讞专 砖诇 诪爪讬讗转 驻转专讜谉. 讘讚专讱 讻诇诇 诪注讘专 DFS 砖诇 诪专讞讘 讛诪爪讘讬诐 诪砖诪砖.
B诪砖讞拽 讛拽驻讬爪讜转B诪住诇讜诇讬诐 讬讬讞讜讚讬讬诐B拽讘讜爪转 讞讝拽讛 - 讻诇 转转讬 讛拽讘讜爪讜转 砖诇 拽讘讜爪讛A诪注讙诇 讛诪讬诇讟讜谉 - 讘讬拽讜专 讘讻诇 拽讜讚拽讜讚 讘讚讬讜拽 驻注诐 讗讞转A讘注讬讬转 N-讛诪诇讻讜转A住讬讜专 讛驻专砖A住讻讜诐 爪讬专讜祝 - 诪爪讬讗转 讻诇 讛爪讬专讜驻讬诐 砖讬讜爪专讬诐 住讻讜诐 住驻爪讬驻讬
-
住谞讬祝 讜讞住讜诐 - 讝讜讻专 讗转 讛驻转专讜谉 讘注诇讜转 讛谞诪讜讻讛 讘讬讜转专 砖谞诪爪讗 讘讻诇 砖诇讘 砖诇 讛讞讬驻讜砖 讛诪注拽讘 诇讗讞讜专, 讜诪砖转诪砖 讘注诇讜转 砖诇 讛驻转专讜谉 讘注诇讜转 讛谞诪讜讻讛 讘讬讜转专 砖谞诪爪讗 注讚 讻讛 讻讙讘讜诇 转讞转讜谉 注诇 讛注诇讜转 砖诇 驻转专讜谉 讘注诇讜转 诪讬谞讬诪诇讬转 诇讘注讬讛, 注诇 诪谞转 诇驻住讜诇 驻转专讜谞讜转 讞诇拽讬讬诐 注诐 注诇讜讬讜转 讙讚讜诇讜转 讬讜转专 诪讛驻转专讜谉 讘注诇讜转 讛谞诪讜讻讛 讘讬讜转专 砖谞诪爪讗 注讚 讻讛. 讘讚专讱 讻诇诇 诪注讘专 BFS 讘砖讬诇讜讘 注诐 诪注讘专 DFS 砖诇 注抓 诪专讞讘 讛诪爪讘讬诐 诪砖诪砖.
讛转拽谞转 讻诇 讛转诇讜讬讜转
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 讛讙讚讜诇.
诪拽讜专: 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 - 讗讜专讱 讛诪驻转讞 讛讗专讜讱 讘讬讜转专 |
讗谞砖讬诐 砖转讜诪讻讬诐 讘驻专讜讬拽讟 讝讛 鈭 = 1
讻诪讛 驻专讜讬拽讟讬诐 讜诪讗诪专讬诐 谞讜住驻讬诐 注诇 JavaScript 讜讗诇讙讜专讬转诪讬诐 讘-trekhleb.dev* B [诪砖讞拽 讛拽驻讬爪讜转](src/algorithms/uncategor * B [讞讬驻讜砖 讘讬谞讗专讬](src/algorithms
