nisshiee / takashi Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://github.com/nisshiee/takashi/wiki
Home Page: https://github.com/nisshiee/takashi/wiki
akkaのメッセージベース再帰探査をやってみる
おそらくケースバイケース。
普通のFieldなら、Trampoline無しでいい。
スタックの深さはMaxで「0」のマスの数なので、
10 x 10Fieldでも100しか掘らないし、この領域なら計算時間の方がボトルネック。
ただ、極端な例だと、Stackの深さがボトルネックに成り得る。
例えば1 x 10000Fieldだと分岐なしで探査終わるので計算時間は一瞬だが、
スタック掘るとたぶん落ちる。
「0」のマスの数を基に、適当な閾値で切り替えるとか?
再帰探査に入る前に到達可能性のチェックを入れるべき。
到達可能性判定はO(n log n)(nはマス数。たぶん。もしかしたらO(n)いけるかも)でいけるので、例えば以下のようなworstケースで0を返す時間に差が出る。
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,0
0,0,0,0,0,0,0,0,0,1
0,0,0,0,0,0,0,0,1,0
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.