Navicat12版本连接,MySQL8.0版本,连接出现 Authentication plugin 'caching_sha2_password' cannot be loaded
摘要:1、在使用Navicat Premium 12,连接MySQL8.0版本数据库时会出现Authentication plugin 'caching_sha2_password' cannot be loaded的错误。 出现这个问题的原因是mysql8.0版本之前的版本中加密规则是mysql_nat
阅读全文
posted @
2021-01-03 12:18
别先生
阅读(133)
推荐(0) 编辑
数据结构之红黑树
摘要:1、什么是红黑树? 红黑树和红色和黑色这两种颜色有关,事实上,在红黑树中,对每一个节点都附着一个颜色,或者是红色或者是黑色。红黑树首先是一棵二分搜索树,这一点和AVL树是一样的,红黑树也是一种平衡二叉树,红黑树在二分搜索树中添加了一些其它的性质,来保证红黑树不会退化成链表,来保证自己在某种情况下是一
阅读全文
posted @
2020-03-24 11:23
别先生
阅读(726)
推荐(0) 编辑
数据结构之线段树
摘要:1、什么是线段树(也称为区间树)Segment Tree。为什么使用线段树,线段树解决了什么问题,对于有一类问题,我们关心的是线段(或者区间)。 比如,最经典的线段树问题,区间染色问题。另一类经典问题就是区间查询。这两种经典问题,可以使用数组来实现,如果使用数组来进行更新和查询操作的话,时间复杂度是
阅读全文
posted @
2020-03-19 20:22
别先生
阅读(259)
推荐(0) 编辑
数据结构之优先队列
摘要:1、优先队列的底层实现可以使用最大堆进行实现,由于优先队列本身就是一个队列,所以可以复用队列的接口。 2、首先,将定义好的Queue接口,创建好,可以让优先队列实现该接口之后,实现这些接口的方法。 1 package com.queue; 2 3 /** 4 * 5 */ 6 public inte
阅读全文
posted @
2020-03-18 10:01
别先生
阅读(488)
推荐(0) 编辑
数据结构之堆
摘要:树结构的不同形态,堆、线段树、字段树、并查集,四种不同的树形数据结构。 1、优先队列,本身就是一种队列。普通队列,先进先出,后进后出。优先队列,出队顺序和入队顺序无关,和优先级有关,优先级高者先得,优先级高的先出队。 类别 入队 出队(拿出最大元素) 普通线性结构(数组、链表等) O(1),直接将新
阅读全文
posted @
2020-03-18 09:39
别先生
阅读(325)
推荐(0) 编辑
数据结构之映射Map
摘要:1、映射Map,存储键值数据对的数据结构(key,value),可以根据键key快速寻找到值Value,可以使用链表或者二分搜索树实现的。 首先定义一个接口,可以使用链表或者二分搜索树进行实现。 1 package com.map; 2 3 /** 4 * @ProjectName: dataCon
阅读全文
posted @
2020-03-15 10:50
别先生
阅读(728)
推荐(0) 编辑
数据结构之集合Set
摘要:1、高层的数据结构,集合Set和映射Map,什么是高层的数据结构呢,比如说是栈和队列,这种数据结构更像是先定义好了使用接口,有了这些使用接口,包括数据结构本身所维持的一些性质,可以很方便的放入到一些应用中,但是底层实现可以多种多样的,比如栈和队列,底层实现既可以是动态数据,也可以是链表。 集合就是承
阅读全文
posted @
2020-03-14 17:23
别先生
阅读(1193)
推荐(0) 编辑
数据结构之树-第二篇
摘要:数据结构之树-第一篇 1、此时,将元素30从队首拿出来,进行访问,之后将30的左孩子29、右孩子42入队,那么此时队首元素就是13了。 此时,将将元素13从队首拿出来,进行访问,之后将13的左孩子、右孩子入队,由于13是叶子节点没有左右孩子,所以没有元素入队了。 此时,看队首元素是22,将元素22从
阅读全文
posted @
2020-03-13 16:14
别先生
阅读(221)
推荐(0) 编辑
数据结构之树-第一篇
摘要:1、二分搜索树,数据存储的方式是一种树结构。而线性数据结构,把所有的数据排成一排的。为什么需要树结构呢,因为树结构本身是一种天然的组织结构,使用树结构非常高效。将数据使用树结构存储后,效率是出奇的高效。 二分搜索树(Binary Search Tree)具有一定的局限性,所以引入了平衡二叉树,平衡二
阅读全文
posted @
2020-03-12 16:09
别先生
阅读(439)
推荐(0) 编辑
数据结构之链表与递归
摘要:1、提起链表,有一块非常重要的内容,就是递归,这是因为链表本身具有天然的递归性,同时,链表也是一种结构非常简单的数据结构,使得链表是一种非常好的来学习和研究递归这种逻辑机制的数据结构。 2、使用一个简单的案例,数组求和,使用递归算法进行计算。案例,如下所示: 1 package com.array;
阅读全文
posted @
2020-03-09 15:49
别先生
阅读(2395)
推荐(1) 编辑
力扣LeetCode,移除链表元素
摘要:1、删除链表中等于给定值val的所有节点。 1 示例: 2 3 输入: 1->2->6->3->4->5->6, val = 6 4 输出: 1->2->3->4->5 首先,结合给定的条件,此类ListNode就是一个实现了一个节点,节点包含存储元素的val变量和指向下一个节点的Node类型的ne
阅读全文
posted @
2020-03-07 22:30
别先生
阅读(446)
推荐(0) 编辑
数据结构之链表,使用链表实现栈以及使用链表实现队列
摘要:1、结合之前实现的链表这个数据结构,如果只对链表的头部进行增加和删除,时间复杂度是O(1)的,只对链表的头部进行查询的话,时间复杂度是O(1)的。那么,满足这样的数据结构是什么呢,就是栈,栈这种数据结构是后入先出的,或者先进后出的,只对栈的一端,就是栈顶进行操作,无论是添加元素、删除元素、查询元素,
阅读全文
posted @
2020-03-07 17:25
别先生
阅读(1045)
推荐(0) 编辑
数据结构之链表
摘要:1、线性数据结构,动态数组、栈、队列,底层依托静态数组,靠resize解决固定容量问题。 2、为什么链表很重要? 1)、最基础的动态数据结构,链表。真正得动态数据结构,最简单的一种动态数据结构。更为复杂的有二分搜索树、平衡二叉树、红黑树等等。 2)、链表设计到一个,更深入的理解引用(或者在C++中称
阅读全文
posted @
2020-03-07 11:21
别先生
阅读(1109)
推荐(0) 编辑
数据结构之队列
摘要:1、队列Queue,队列也是一种线性结构,相比数组,队列对应的操作是数组的子集,只能从一端(队尾)添加元素,只能从另一端(队首)取出元素。队列是一种先进先出的数据结构(或者称为先到先得),First In First Out(简称FIFO)。 2、封装的数组的代码,可以实现增加,修改,删除,查询,动
阅读全文
posted @
2020-02-27 22:40
别先生
阅读(590)
推荐(0) 编辑
数据结构之栈
摘要:1、栈Stack,栈也是一种线性结构,相比数组,栈对应的操作是数组的子集。栈只能从一端添加元素,也只能从同一端取出元素,这一端称为栈顶。栈是一种先进后出的或者后进先出的数据结构,也称为Last In First Out(LIFO)。 2、封装的数组的代码,可以实现增加,修改,删除,查询,动态扩容,缩
阅读全文
posted @
2020-02-26 19:10
别先生
阅读(499)
推荐(0) 编辑
数据结构之数组
摘要:1、数据结构研究的是数据如何在计算机中进行组织和存储,使得我们可以高效的获取数据或者修改数据。 数据结构包含三种结构,线性结构,树结构,图结构。其中,线性结构包含数组,栈,队列,链表,哈希表等等。树结构包含二叉树,二分搜索树,AVL树,红黑树,Treap,Splay,堆,Tril,K-D树,并查集,
阅读全文
posted @
2020-02-26 12:12
别先生
阅读(716)
推荐(0) 编辑