Loading

摘要: 将马随机放在国际象棋的8×8棋盘的某个方格中,马按走棋规则进行移动。要求每个方格只进入一次,走遍棋盘上全部64个方格。 1. 思路 1.1 步骤 (遍历 + 回溯) 创建棋盘 chessBoard,一个二维数组 将当前位置设置已访问标记(当前 step),然后根据当前位置,计算出马下一步可走哪些位置 阅读全文
posted @ 2020-03-13 23:47 tree6x7 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 1. 概述 Floyd算法是一个经典的动态规划算法,是解决任意两点间的最短路径(称为多源最短路径问题)的一种算法; 也可以正确处理有向图或负权的最短路径问题; Dijkstra ~ Floyd Dijkstra算法 单源最短路径,计算图中某一个顶点到其他顶点的最短路径 选定一个顶点作为出发访问顶点, 阅读全文
posted @ 2020-03-13 23:46 tree6x7 阅读(102) 评论(0) 推荐(0) 编辑
摘要: 1. 案例:实时推送 创建和部署 WebSocket 端点的过程如下: 创建一个端点类,实现端点的生命周期方法 将 ServerEndpointExporter 以 @Bean 的形式告知 Spring 1.1 @ServerEndpoint 在一个普通的 Java 类上添加 @ServerEndp 阅读全文
posted @ 2020-03-13 23:44 tree6x7 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 1. 最小生成树 【加权图】一种为每条边关联一个权值的图模型; 【图的生成树】是该连通图的一个极小连通子图,含有图的全部顶点,但只有构成一棵树的(n-1)条边; 【加权图的最小生成树(MST)】在生成树的基础上,要求树的(n-1)条边的权值之和是最小的; 约定: 只考虑连通图 根据树的基本性质,我们 阅读全文
posted @ 2020-03-13 23:31 tree6x7 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1. 基本概念 所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择,从而希望能够导致结果是最好或者最优的算法。 也就是说,它不从整体最优上加以考虑,只顾眼前不顾大局,所以它所做出的也仅仅是在某种意义上的局部最优解。 贪心算法不是对所有问题都能得到整体最好的解决办法,关键是贪心策略的选择 阅读全文
posted @ 2020-03-13 23:26 tree6x7 阅读(453) 评论(0) 推荐(0) 编辑
摘要: 1. 算法介绍 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法; 动态规划算法与分治算法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解; 与分治法不同的是,适合于用 阅读全文
posted @ 2020-03-13 22:11 tree6x7 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1. 设计思想 分而治之 就是把一个复杂的问题分成两个或更多的相同或相似的子问题,再把子问题分成更小的子问题 (这些子问题互相独立且与原问题形式相同)…… 直到最后子问题可以简单的直接求解,原问题的解 即 子问题的解的合并 分治 & 递归 如果原问题可分割成k个子问题,1<k≤n,且这些子问题都可解 阅读全文
posted @ 2020-03-13 22:07 tree6x7 阅读(170) 评论(0) 推荐(0) 编辑