![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
songwenbinasdf
这个作者很懒,什么都没留下…
展开
-
图的存储结构-十字链表和邻接多重表
1、十字链表 对于有向图来说,邻接表是有缺陷的。关心了出度问题,想了解入度就必须要遍历整个图才能知道。反之,逆邻接表解决了入度 却不了解出度的情况。有没有可能把邻接表和逆邻接表结合起来呢? 答案是肯定的,就是把它们整合在一起。这种存储有向图的方法是:十字链表(Orthogonal List). 我们重新定义顶点表结点结构为: data firstin firstout转载 2017-11-16 14:12:51 · 605 阅读 · 0 评论 -
数据结构--图 的JAVA实现(上)
1,摘要: 本系列文章主要学习如何使用JAVA语言以邻接表的方式实现了数据结构---图(Graph),这是第一篇文章,学习如何用JAVA来表示图的顶点。从数据的表示方法来说,有二种表示图的方式:一种是邻接矩阵,其实是一个二维数组;一种是邻接表,其实是一个顶点表,每个顶点又拥有一个边列表。下图是图的邻接表表示。 从图中可以看出,图的实现需要能够表示顶点表,能够表示边表。邻接表指是的哪部分呢?转载 2017-11-16 15:23:15 · 480 阅读 · 0 评论 -
数据结构--图 的JAVA实现(下)
在上一篇文章中记录了如何实现图的邻接表。本文借助上一篇文章实现的邻接表来表示一个有向无环图。 1,概述 图的实现与邻接表的实现最大的不同就是,图的实现需要定义一个数据结构来存储所有的顶点以及能够对图进行什么操作,而邻接表的实现重点关注的图中顶点的实现,即怎么定义JAVA类来表示顶点,以及能够对顶点进行什么操作。 为了存储图中所有的顶点,定义了一个Map,实际实现为LinkedHashMap>转载 2017-11-16 17:17:32 · 217 阅读 · 0 评论 -
有向图的拓扑排序算法JAVA实现
一,问题描述 给定一个有向图G=(V,E),将之进行拓扑排序,如果图有环,则提示异常。 要想实现图的算法,如拓扑排序、最短路径……并运行看输出结果,首先就得构造一个图。由于构造图的方式有很多种,这里假设图的数据存储在一个文件中, 每一行包含如下的信息: LinkID,SourceID,DestinationID,Cost 其中,LinkID为该有向边的索引,SourceID为该有向边的起转载 2017-11-17 09:47:42 · 1251 阅读 · 0 评论 -
netty源码之 DefaultEventExecutorChooserFactory 之2的整数次幂设计
package io.netty.util.concurrent;import io.netty.util.internal.UnstableApi;import java.util.concurrent.atomic.AtomicInteger;/** * Default implementation which uses simple round-robin to choose next {@...原创 2018-06-01 09:37:30 · 439 阅读 · 0 评论 -
一致性hash算法
package arithmetic;import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.SortedMap;import java.util.TreeMap;/** * 一致性hash算法 * 类名称: ConsistentHash * 类描述: ...原创 2018-07-10 10:51:19 · 178 阅读 · 0 评论 -
红黑树
/** From CLR 新增一个节点之后需要修正树的结构*/ private void fixAfterInsertion(Entry<K,V> x) { x.color = RED;//默认置成红色,这样做为了把问题简单化,可以考虑尽量少的情况 while (x != null && x != root &...原创 2018-07-18 09:57:25 · 173 阅读 · 0 评论 -
如何快速实现高并发短文检索
转载地址:https://mp.weixin.qq.com/s/uCx0VUKzvagPVTpjy7Co1w 一、需求缘起 某并发量很大,数据量适中的业务线需要实现一个“标题检索”的功能: (1)并发量较大,每秒20w次 (2)数据量适中,大概200w数据 (3)是否需要分词:是 (4)数据是否实时更新:否 二、常见潜在解决方案及优劣 (1)数据库搜索法 具体方法:将标题数...转载 2018-07-18 16:03:30 · 236 阅读 · 0 评论 -
高性能队列——Disruptor
转载地址:https://tech.meituan.com/disruptor.html 背景 Disruptor是英国外汇交易公司LMAX开发的一个高性能队列,研发的初衷是解决内存队列的延迟问题(在性能测试中发现竟然与I/O操作处于同样的数量级)。基于Disruptor开发的系统单线程能支撑每秒600万订单,2010年在QCon演讲后,获得了业界关注。2011年,企业应用软件专家Martin...转载 2018-08-08 11:43:08 · 253 阅读 · 0 评论