![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
tyilack_小小黑
这个作者很懒,什么都没留下…
展开
-
拓扑排序
算法思路:拓扑排序: * 1.找到一个没有后继的顶点 * 2.从图中删除这个顶点,在列表的前面插入顶点的标记代码如下:import java.util.Arrays;import java.util.LinkedList;import java.util.List;/* * 拓扑排序: * 1.找到一个没有后继的顶点 * 2.从图中删除这个顶点,在列表的前原创 2015-01-15 17:23:04 · 434 阅读 · 0 评论 -
GeoHash核心原理解析
原文出处: zhanlijun 引子机机是个好动又好学的孩子,平日里就喜欢拿着手机地图点点按按来查询一些好玩的东西。某一天机机到北海公园游玩,肚肚饿了,于是乎打开手机地图,搜索北海公园附近的餐馆,并选了其中一家用餐。饭饱之后机机开始反思了,地图后台如何根据自己所在位置查询来查询附近餐馆的呢?苦思冥想了半天,机机想出了个方法:计算所在位置P与北京所有餐馆的距离,然转载 2016-09-21 18:15:16 · 580 阅读 · 0 评论 -
PHP实现微信的时间显示方式
/** * 微信展示时间的方法 * @param $addTime * @return string */ public static function getChatTimeStr($addTime) { $nowTime = time(); if($addTime > $nowTime) {原创 2016-09-21 10:26:27 · 1774 阅读 · 0 评论 -
JAVA UUID 生成
JAVA UUID 生成转载自:http://blog.csdn.net/carefree31441/archive/2009/03/17/3998553.aspxGUID是一个128位长的数字,一般用16进制表示。算法的核心思想是结合机器的网卡、当地时间、一个随即数来生成GUID。从理论上讲,如果一台机器每秒产生10000000个GUID,则可以保证(概率意义上)3240年不转载 2015-07-07 19:12:55 · 376 阅读 · 0 评论 -
Dijkstra算法求带权图的单源最短路径
Dijkstra算法:给出一个带权无向图,要求指定顶点到图中每一个点的最短路径。首先我们定义一个邻接矩阵c,c[i][j]用来表示从顶点i到顶点j的权重,用一个一维数组prev[]来记录指定节点的父节点,如果不需要输出路径的轨迹,那么就不需要用到这个数组。用一个vis的boolean数组存储每一个节点是否被访问过。用一个dist[]数组来存储指定顶点到每一个顶点的最短路径。1、搜索判断原创 2015-05-14 23:48:12 · 2218 阅读 · 0 评论 -
整数划分问题(Java版)
整数划分问题:将正整数n表示成一系列正整数之和:,其中,k≥1。正整数n的这种表示称为正整数n的划分。请设计一个算法,求正整数n的不同划分个数或方案。例如正整数6有以下11种不同的划分个数或方案: {6}; {5+1}; {4+2},{4+1+1}; {3+3},{3+2+1},{3+1+1+1}; {2+2+2},{2+2+1+1},{2+1+1原创 2015-03-28 18:18:33 · 9134 阅读 · 2 评论 -
用Java解决棋盘覆盖问题
Problem description 在一个2k x 2k ( 即:2^k x 2^k )个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的4种不同形态的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。Input 输入文件第一行是一个整数T,表示有多少组测试原创 2015-03-17 21:33:18 · 4586 阅读 · 0 评论 -
2的次幂表示
问题描述 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示) 3=2+2原创 2015-03-26 23:35:45 · 1053 阅读 · 0 评论 -
图的最小生成树
import java.util.Stack;/* * 图的最小生成树 */public class MSTDemo { public static void main(String[] args) { // TODO Auto-generated method stub char[] vertices = {'A', 'B', 'C', 'D', 'E'}; int[]原创 2015-01-17 16:06:30 · 525 阅读 · 0 评论 -
图的广度优先搜索BFS
public class BFSDemo { public static void main(String[] args) { // TODO Auto-generated method stub char[] vertices = {'A', 'B', 'C', 'D', 'E'}; int[][] edges = { {0, 1, 0, 1, 0}, {1原创 2015-01-17 15:43:19 · 550 阅读 · 0 评论 -
图的深度优先搜索DFS
import java.util.Stack;public class DFSDemo { public static void main(String[] args) { // TODO Auto-generated method stub char[] vertices = {'A', 'B', 'C', 'D', 'E'}; int[][] edges = { {原创 2015-01-17 15:41:29 · 440 阅读 · 0 评论 -
用打表的方式解决求Geohash当前区域周围8个区域编码
两个多月前写了上一篇计算周围8个格子编码的文章,实际用时发现效率不高,因为每次计算都需要先解码成二进制串算完再进行编码。后来在github上发现一个js项目,用打表的方法来求周围8个格子,效率提高了不少。这里写一点自己的理解。拿”wx4g”这个geohash来看,解码成二进制串就是 11100 11101 00100 01111 。单独看’w’,也就是 11100,按照编码的顺序,就是 “转载 2016-09-22 10:39:58 · 4669 阅读 · 1 评论