- 博客(17)
- 收藏
- 关注
原创 线程安全案例:生产者与消费者案例
假设有三个角色:生产者、消费者、服务员。生产者不停的向服务员生产商品,消费者不停的从服务员那里消费商品。如果服务员手里的商品数量大于20,就会通知生产者停止生产;如果服务员手里的商品数量小于0,就会通知消费者,停止消费。分析:① 线程:两个,生产者和消费者② 共享数据:商品代码class Service{//服务员 public int number = 0;//商品数量}...
2020-01-28 20:22:17
261
原创 迪杰斯特拉算法求图的某个顶点到其他顶点的最短路径问题
迪杰斯特拉算法:使用图的广度优先遍历算法,比如先从G点出发,找到能与G直接连接的顶点,然后才从与G最近的A出发,找到与A相邻的节点。通过比较G到每个顶点的距离大小,才选出到每个点的最短路径代码:/** * 迪杰斯特拉算法球最短路径问题 */public class Dijkstra { public static void main(String[] args) { ...
2020-01-16 18:33:52
2934
原创 克鲁斯卡尔算法求图的最小生成树
克鲁斯卡尔算法就是:先将图中所有的边的权值,从小到大排序,然后,在不构成回路的前提下,依次选择最短的路径的边,如果加入某个边构成回路,则这条边舍弃,再接着取下一条边,直到连接所有顶点代码:public class KruskalCase { private int edgeNum;//边的个数 private char[] vertexs;//顶点数组 private ...
2020-01-16 18:25:55
1085
原创 普利姆算法解决最小生成树问题
普利姆算法就是从第一个顶点出发,每次都选择已访问节点的最短相邻节点,最后将所有节点都访问,代码:/** * 普利姆算法解决最小生成树问题 */public class PrimAlgorithm { public static void main(String[] args) { char[] data = {'A','B','C','D','E','F','G'};...
2020-01-16 18:19:51
446
原创 图的深度优先遍历和广度优先遍历
1.图的深度优先遍历:是先遍历第一个邻结点,然后以第一个邻结点为参考系,递归遍历第一个邻节点的邻节点。2.图的广度优先遍历是先遍历一个节点所有相邻节点,再遍历第一个相邻节点的所有相邻节点,以此类推,需要借助栈来进行操作。public class Graph { private ArrayList<String> vertexList;//存储顶点的集合 privat...
2020-01-11 15:19:43
216
原创 线索化二叉树的创建以及遍历
//定义树class ThreadedBinaryTree{ private Hero root; private Hero pre = null;//永远指向当前节点的前驱节点 public void setRoot(Hero root) { this.root = root; } //构建中序线索化二叉树 /** ...
2020-01-09 15:54:10
100
原创 顺序存储二叉树的遍历
class ArrayBinaryTree{ private int[] arr;//存储数据节点的数组 public ArrayBinaryTree(int[] arr) { this.arr = arr; } //完成顺序存储二叉树的 前序遍历 //index : 数组的下标 public void perOrder(int ...
2020-01-09 15:52:24
231
原创 二叉树的遍历、查找、节点删除
//定义树class BinaryTree{ private Hero root; public void setRoot(Hero root) { this.root = root; } //前序遍历 public void perOrder(){ if(this.root!=null){ this...
2020-01-09 15:50:07
132
原创 构建hashtable表
//创建hash表class HashTable{ private EmpLinkList[] empLinkListArray; private static int size; public HashTable(int size) { this.size = size; empLinkListArray = new EmpLinkLis...
2020-01-09 15:49:08
195
原创 使用赫夫曼编码对数组、文件等进行压缩
public class HuffmanCode { //将赫夫曼编码存放在Map<Byte,String>中,形如: a==>100 static Map<Byte,String> huffmanCode = new HashMap<>(); static StringBuilder stringBuilder = new Str...
2020-01-09 15:42:18
145
原创 创建、遍历二叉排序树以及删除节点
public class cBinarySortTree { public static void main(String[] args) { int[] arr = {7,3,10,12,5,1,9,13,11}; binarySortTree binarySortTree = new binarySortTree(); for(int i...
2020-01-09 15:38:22
126
原创 通过我自己的部门id和所有部门的集合,递归生产部门树
/** * * @param deptList 所有部门集合 * @return */ private static Department getTree(List<Department> deptList) { String myId = "1";//我的部门id Department newDe...
2019-12-27 22:52:19
334
原创 springboot+mybatis一直报bean无法注入的错误
记录一次springboot+mybatis一直报bean无法注入的错误首先是controller层代码@RestControllerpublic class DepartmentController { @Autowired private DepartmentDao departmentDao; @Autowired private EmployeeD...
2019-11-15 15:17:08
957
原创 Springboot整合Druid数据源
Springboot整合Druid数据源步骤1.首先在yml配置文件中修改默认的数据源如上图所示,另外还添加了数据源的配置,但是!!!默认是没有这些配置的,所以显示黄色背景颜色2.需要自己写一个配置类来引入这些配置@Configurationpublic class DruidConfig { @Bean @ConfigurationProperties(prefix ...
2019-11-14 11:36:51
265
原创 SpringBoot2.x版本以后执行sql文件
SpringBoot2.x版本以后执行sql文件的配置:initialization-mode: always表示始终都要执行初始化,2.x以上版本需要加上这行配置默认可以使用schema.sql或者schema-all.sql,并且放置在resource目录下,运行主程序就能运行sql文件也可以修改配置文件来修改sql文件的放置位置:...
2019-11-13 16:42:41
635
原创 Springboot连接mysql数据库踩坑
这里写自定义目录标题Springboot连接mysql数据库踩坑我的mysql版本是8.0.17 一开始直接使用springboot提供的默认的mysql驱动,报错:Unknown system variable 'query_cache_size'Springboot连接mysql数据库踩坑我的mysql版本是8.0.17 一开始直接使用springboot提供的默认的mysql驱动,报...
2019-11-13 15:49:47
772
原创 关于Eclipse安装Spring插件的问题
无论是在线安装还是下载整合好的文件包都可能出现缺失某某文件的错误或者版本不一致问题而我推荐使用另外一种方法打开Eclipse–》Help–》Eclipse Marketplace在输入框中搜索 Spring(我们选择下面的Spring Tools 3 版本,上面的是Spring Boot的插件,需要的话也可以安装)之后点击Installed按钮 一路next即可中间可能出现类似...
2019-06-29 12:25:59
2022
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人