一个古老数学问题的算法实现和算法可视化
问题的描述是一个300年前的老问题,原文是英文的,大概意思是这样的:
在一个2n*2n的棋盘上,任意挖空一个方块,然后要求用“L”型的积木来填充整个棋盘。
明显的一个D&C( Divide and Conquer)的问题,算法简单来说就是“L”的开口位置要对着有黑点的1/4棋盘,通过深度优先的遍历就可以解决问题。
算法可视化方面主要是,运用了GDI+和.net framework GUI的backgroundworker来做Multi-threading。
源代码和可执行文件分别见附件:/Files/eric720/TriominoPuzzle.rar和/Files/eric720/TriominoUI.rar
程序截图:
开发时间:算法部分1个小时,界面部分1个小时
浙公网安备 33010602011771号