文件名称:n-queens:分布式 n-queens 解决方案查找器
文件大小:220KB
文件格式:ZIP
更新时间:2024-07-02 13:22:01
JavaScript
#n-queens 这是我在学生完成的一个项目。 我的这个项目的合作伙伴是 Benjamin Zarzycki。 任务是创建一个程序,该程序可以解决用户输入的任何给定n的。 为了改变任务,我们还添加了使用多个 HTML5 Web Worker 同时运行算法的不同部分并节省整体处理时间(以及允许用户在进程在后台运行时继续浏览)的功能。 我们还没有为算法实现所有可能的优化,你可以看到如果你为n 个皇后运行n 个webworkers。 第一个和最后一个 webworker 将找到相同数量的解决方案,第二个和倒数第二个也将匹配解决方案的数量,依此类推。 按照我们的设置方式,工作被分解为n 个任务,棋盘中的每一列对应一个任务。 因为棋盘是对称的,在解出一半的列后,你知道另一半的解是相同的,但是是镜像的。 所以你不需要浪费时间处理它们,你只需要将你找到的解决方案的数量增加一倍(或者对奇数板进行
【文件预览】:
n-queens-master
----css()
--------styles.css(193B)
----.gitignore(319B)
----README.md(1KB)
----src()
--------bitwiseSolvers.js(4KB)
--------BoardView.js(905B)
--------solvers.js(4KB)
--------Board.js(7KB)
----webworker()
--------webworker.html(2KB)
--------worker.js(1KB)
--------master.js(3KB)
--------styles.css(2KB)
--------Board.js(7KB)
----spec()
--------solversSpec.js(2KB)
--------BoardViewSpec.js(210B)
--------BoardSpec.js(2KB)
----SpecRunner.html(1KB)
----BoardViewer.html(1KB)
----lib()
--------sinon()
--------jquery-1.8.3.js(260KB)
--------jasmine-1.3.1()
--------mustache.js(15KB)
--------mocha()
--------underscore.js(40KB)
--------chai()
--------backbone.js(56KB)