数据结构
默默无闻小葱
这个作者很懒,什么都没留下…
展开
-
自己实现的简易LinkedBlockingQueue阻塞队列
实现基于链表的阻塞队列,并使用两个锁实现同时进行写和读操作:实现逻辑简单说一下:1、主要是Put和Take方法,这两个方法在无法获取数据时是进行阻塞。import java.util.concurrent.atomic.AtomicInteger;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.ReentrantLock;public class MyBlockingQueue原创 2020-05-23 10:30:21 · 503 阅读 · 0 评论 -
JAVA邻接表-路径查询
练习用的邻接表写法:边节点/***边节点*/publicclassEdge{//publicintnumber;//代号暂时不用publicDoublevalue;//权重//publicStringname;//道路名称暂时不用publicintadjvertex;//指向顶点...原创 2019-04-23 10:09:55 · 912 阅读 · 0 评论 -
JAVA基于有权邻接表的Dijkstra迪杰斯特拉算法实现
这个参考了别人代码的基于有权邻接表的Dijkstra实现。里面用到的图是基于上一篇文章里的图。https://blog.csdn.net/weixin_41988248/article/details/89466903publicclassDijkstra{//图publicGraphgh;//未求出最短路径的点集合publicArr...原创 2019-04-23 10:39:06 · 1227 阅读 · 0 评论 -
A*算法程序代码 JAVA代码
packageastar;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Stack;publicclassAstarAI{//前四个是上下左右,后四个是斜角publicfinalstaticint[]dx={0,-1,0,1,-1,-1,1,1};...转载 2019-04-23 10:42:34 · 351 阅读 · 0 评论 -
Java集合,HashMap底层实现和原理(1.7数组+链表与1.8+的数组+链表+红黑树)转
概述文章的内容基于JDK1.7进行分析,之所以选用这个版本,是因为1.8的有些类做了改动,增加了阅读的难度,虽然是1.7,但是对于1.8做了重大改动的内容,文章也会进行说明。HashMap基于Map接口实现,元素以键值对的方式存储,并且允许使用null 建和null 值, 因为key不允许重复,因此只能有一个键为null,另外HashMap不能保证放入元素的顺序,它是无序的,和放入的顺序并...原创 2019-09-05 09:55:20 · 487 阅读 · 0 评论