2019年9月30日
摘要: ``` / @param data 带查找的数组(数组) @param target 目标数据 @return 返回对应的下标, 1 表示没有找到 / public static int binarySearch(int[] data, int target) { int low = 0; int 阅读全文
posted @ 2019-09-30 13:45 爱吃米饭的boy 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 问题描述 阅读全文
posted @ 2019-09-30 13:45 爱吃米饭的boy 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 问题描述 看一个应用场景和问题: 战争时期,胜利乡有7个村庄(A, B, C, D, E, F, G) ,现在有六个邮差,从G点出发,需要分别把邮件分别送到 A, B, C , D, E, F 六个村庄 各个村庄的距离用边线表示(权) ,比如 A – B 距离 5公里 问:如何计算出G村庄到 其它各 阅读全文
posted @ 2019-09-30 13:45 爱吃米饭的boy 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 弗洛伊德算法 Dijkstra算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法。 该算法名称以创始人之一、1978年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名 弗洛伊德算法(Floyd)计算图中各个顶点之间的最短路径 迪杰斯特拉算法用于计算图中 阅读全文
posted @ 2019-09-30 13:45 爱吃米饭的boy 阅读(336) 评论(0) 推荐(0) 编辑
摘要: 马踏棋盘问题(骑士周游问题) 实际上是图的深度优先搜索(DFS)的应用。 如果使用回溯(就是深度优先搜索)来解决,假如马儿踏了53个点,如图:走到了第53个,坐标(1,0),发现已经走到尽头,没办法,那就只能回退了,查看其他的路径,就在棋盘上不停的回溯…… ,思路分析+代码实现 使用贪心算法(gre 阅读全文
posted @ 2019-09-30 13:45 爱吃米饭的boy 阅读(180) 评论(0) 推荐(0) 编辑