摘要:
如何遍历呢? 第一层,遍历顶点A: 第二层,遍历A的邻接顶点B和C: 第三层,遍历顶点B的邻接顶点D、E,遍历顶点C的邻接顶点F: 第四层,遍历顶点E的邻接顶点G,也就是目标节点: 由此得出,图中顶点A到G的(第一条)最短路径是A-B-E-G: 换句话说,就是寻找从A到G之间,权值之和最小的路径。 阅读全文
摘要:
并查集是什么 并查集,是一种判断“远房亲戚”的算法。 打个比方:你身边的某个“朋友”,很有可能就是你父亲的母亲的姑妈的大姨的哥哥的表妹的孙子的女儿的父亲的孙子。如果给定这么一张“家谱”(无向图),如何判断两个顶点是不是“亲戚”呢?用人话说,就是判断一个图中两个点是否联通(两个顶点相互联通则为亲戚)。 阅读全文
摘要:
package com.ceair.flight.refund.service.cronjob.impl; import java.util.LinkedList; public class Solution { public static void main(String[] args) { Gr 阅读全文
摘要:
图的存储结构相对于线性表和树来说更为复杂,因为图中的顶点具有相对概念,没有固定的位置。那我们怎么存储图的数据结构呢?我们知道,图是由(V, E)来表示的,对于无向图来说,其中 V = (v0, v1, ... , vn),E = { (vi,vj) (0 <= i, j <= n且i 不等于j)}, 阅读全文
摘要:
为什么要自定义类加载器 类加载机制:http://www.cnblogs.com/xrq730/p/4844915.html 类加载器:http://www.cnblogs.com/xrq730/p/4845144.html 这两篇文章已经详细讲解了类加载机制和类加载器,还剩最后一个问题没有讲解,就 阅读全文
摘要:
在学习Java的过程中,很多喜欢说new出来的对象分配一定在对上; 其实不能这么说,只能说大部分对象分配是在对上。通过对象的分配过 程分析,除了堆以外,还有两个地方可以存放对象: 栈和TLAB(Thread Local Allocation Buffer)。 Java对象分配流程图: 如果开启栈上分 阅读全文
摘要:
中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。垂直拆分比较简单,也就是本来一个数据库,数据量大之后,从业务角度进行拆分多个库。 一、前言 中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆分了。有垂直和水平两种。 垂直拆分比较简单, 阅读全文
摘要:
1、添加 aop 、sharding-jdbc 依赖 <!--aop-> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </depen 阅读全文
摘要:
下边以电商系统中的例子来说明,下图是电商系统卖家模块的表结构: 通过以下SQL能够获取到商品相关的店铺信息、地理区域信息: SELECT p.*,r.[地理区域名称],s.[店铺名称],s.[信誉] FROM [商品信息] p LEFT JOIN [地理区域] r ON p.[产地] = r.[地理 阅读全文
摘要:
本文转载自:http://www.lvesu.com/blog/main/cms-584.html 之前总结过metric聚合的内容,本篇来说一下bucket聚合的知识。Bucket可以理解为一个桶,他会遍历文档中的内容,凡是符合要求的就放入按照要求创建的桶中。 本篇着重讲解的terms聚合,它是按 阅读全文