这个是我才上不久的算法课的一个作业(原创),分享给大家玩一玩(可能也不是很好玩),这是我第一次发帖,有什么错误还希望大家多多包涵,再者也希望大家提提建议文件有24M(我真的很菜),我在文末发了网盘链接
1. 可视化效果展示1.1 开始页面
开始界面非常简洁,仅有三部分组成,最上方的是程序名称,左下方的“自定义点击”按钮按下将会跳转到自定义鼠标点击页面,右下方的“随机点击”按钮按下将会跳转到随机生成点的页面。 1.2 自定义鼠标点击页面(鼠标自定义布局棋子点位)
自定义点击页面分为左侧的点击界面和右侧的管理与显示界面。(0)点击界面:如果某个位置已经有一个棋子,再次点击该位置视为无效点击 (1)“开始放置”按钮:未按下前无法在点击界面摆放棋子,按下则可以 (2)“结束放置”按钮:按下后无法在点击界面摆放棋子 (3)“撤销”按钮:能够撤销最后一次放置的棋子,可多次撤销实现清空效果 (4)“返回”按钮:返回开始页面 (5)“分治计算”按钮和“暴力计算”按钮:如果在少于2个的棋子的情况下按下这个按钮,将会在上下两个显示框显示warning进行警告,在满足大于等于2个棋子的情况下按下,则会在上面显示框显示最近两个点的坐标,在下面显示框显示算法运行的时间 (6)需要注意的是:该页面并不是只能计算一次,恰恰相反,该页面随时都可以计算,不论是和上一次计算相同的棋子数还是不同的棋子数。 1.3 随机生成页面(主要用于验证时间复杂度,可以玩一玩)
随机生成页面包含输入以及显示两个部分内容(1)“输入框”:设置正则表达式规范输入,所有不符合1~9999999的其他字符串均无法输入,最大程度上保证了程序的稳定(2)“分治计算”按钮和“暴力计算”按钮:会读取输入框内容,如果输入为1,会出现警告窗口,如果输入满足显示数据范围的数字,会在上面显示框显示最近的点对,会在下面的显示框显示算法运行时间(3)“返回”按钮:按下后返回开始页面(4)需要注意的是,由于只有按下计算按钮,才会开始计算,因此可以随时修改输入框中的内容,并且可以反复计算。
程序链接:链接:https://pan.baidu.com/s/1BY9CzP_tWXZzLeuE3U30eA?pwd=52pj 提取码:52pj