自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 图解设计模式

23种设计模式

2022-08-07 21:55:10 267 1

原创 Redis事务_持久化

事务Redis的事务定义Redis事务是一个单独的隔离操作∶事务中的所有命令都会序列化、按顺序地执行事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。Redis事务的主要作用就是串联多个命令防止别的命令插队。Multi.Exec.discard从输入Multi命令开始,输入的命令都会依次进入命令队列中,但不会执行,直到输入Exec后,Redis 会将之前的命令队列中的命令依次执行。组队的过程中可以通过discard来放弃组队。#案例127.0.0.1:6379&g

2022-01-17 19:32:09 217

原创 Redis新数据类型和发布与订阅

Redis新数据类型发布和订阅

2022-01-12 17:00:35 513

原创 NoSQL介绍和Redis介绍与安装

NoSQLReids的介绍与安装

2022-01-12 12:20:34 287

原创 Redis常用五大数据类型

Redis常用五大数据类型键 keySringlistsethashzset

2022-01-12 11:03:41 374

原创 DockerFile

DockerFile介绍dockerfile 是用来构建docker镜像的文件!命令参数脚本!构建步骤:1.编写一个dockerfile文件2.docker build构建成为一个镜像3.docker run 运行镜像4.docker push 发布镜像(DockerHub,阿里云镜像仓库!)查看一下官方是怎么做的?很多官方镜像都是基础包,很多功能都没有,我们通常会自己搭建自己的镜像!官方既然可以制作镜像,那我们也可以!DockerFile构建过程基础知识:

2022-01-10 16:49:10 762

原创 docker 容器数据卷

什么是容器数据卷?docker的理念将应用和环境打包成一个镜像数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化MySQL,容器删除了,删库跑路! 需求:MySQL 数据可以储存在本地容器之间可以有一个数据共享的技术,Docker容器中产生的数据,同步到本地这就是卷技术!目录挂载,将我们容器内的目录,挂载到liunx上面总结:容器的持久化和同步操作!容器间也是可以数据共享的!使用数据卷方式一:直接使用命令挂载 -vdocker ru

2022-01-08 17:00:09 660

原创 Docker镜像讲解

什么是镜像镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时(一个程序在运行或者在被执行的依赖)、库,环境变量和配置文件。怎么得到镜像?1.从远程仓库下载2.朋友拷贝3.自己制作一个镜像Docker镜像加载原理UnionFS(联合文件系统)我们下载的时候看到的一层一层的就是这个!!UnionFS(联合文件系统):Union文件系统(UnionFS )是一种分层、轻量级并且高性能的文件系

2022-01-08 10:58:14 163

原创 Docker的常用命令

基础命令

2022-01-06 16:24:36 2099

原创 数据结构与算法(程序员常用十种算法下:5~10)

一:普兰姆算法二:克鲁斯卡尔算法三:迪杰斯特拉算法四:弗洛伊德算法五:骑士周游算法

2022-01-02 22:27:05 2837

原创 数据结构与算法(程序员常用的十种算法:上1~5)

一:二分查找二:分治算法三:动态规划四:KMP算法五:贪婪算法

2021-12-28 22:01:27 4114 1

原创 数据结构与算法(多路查找树B树,B+树)

二叉树与B树二叉树的问题分析二叉树的操作效率较高,但是也存在问题,请看下面的二叉树1)二叉树需要加载到内存的,如果二叉树的节点少,没有什么间题,但是如果二叉树的节点很多(比如1亿)、就存在如下间题2)间题1。在构建二叉树时,需要多次进行/o操作(海量数据存在数据库或文件中),节点海量,构建二叉树时,速度有影响3)同题2:节点海量,也会造成二叉树的高度很大,会降低操作速度.多叉树1)在二叉树中,每个节点有数据项,最多有两个子节点。如果允许每个节点可以有更多的数据项和更多的子节点,..

2021-12-10 19:57:09 227

原创 数据结构与算法(二叉排序树BST,平衡二叉树AVL)

先看一个需求给你一个数列(7,3,10,12,5,1,9),要求能够高效的完成对数据的查询和添加使用数组数组未排序,优点:直接在数组尾添加,速度快。缺点:查找速度慢.[示意图]数组排序,优点:可以使用二分查找,查找速度快,缺点:为了保证数组有序,在添加新数据时,找到插入位置后,后面的数据需整体移动,速度慢。[示意图]使用链式存储-链表不管链表是否有序,查找速度都慢,添加数据速度比数组快,不需要数据整体移动。[示意图]使用二叉排序树二叉排序树介绍 二叉排序树:...

2021-12-07 23:07:15 337

原创 数据结构与算法(赫夫曼树,赫夫曼编码)

赫夫曼树基本介绍:(1)给定n个权值作为n给叶子节点,构造一棵二叉树,若该树的带权路径长度(wpl)达到最小,称这样的二叉树为最优二叉树,也称哈夫曼树(HuffmanTree),还有的树翻译为霍夫曼树.(2)赫夫曼树是带权路径长度最短的树,权值较大的节点离根较近.赫夫曼树几个重要概念和举例说明:(1)路径和路径长度,在一颗树中,从一个节点往下可以达到的孩子或孙子节点之间的通路,称为路径.通路中分支的数目称为路径长度,若规定根节点的层数为1,则从根节点到第L层的节点路径长度为L-1(2

2021-12-04 23:26:11 962

原创 数据结构与算法(树结构实际应用,堆排序)

堆排序基本介绍(1)堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它也是不稳定排序.(2)堆是具有以下性质的完全二叉树,每个结点的值都大于或者等于其左右孩子节点的值,称为大顶堆,注意:没有要求节点的左孩子的值和右孩子的值的大小关系.(3)每个节点的值都小于或者等于其左右孩子节点的值,称为小顶堆(4)大顶堆举例说明我们堆堆中的节点按层进行编号,映射到数组中介绍下面这样子大顶堆特点:arr[i..

2021-11-30 18:14:05 562

原创 数据结构与算法(数,二叉树)

二叉树为什么需要数这种数据结构(1)数组存储方式的分析优点:通过下标方式访问元素,速度快.对于有序数组,还可以使用二分查找提高检索速度.缺点:如果要检索具体某个值,或者插入值(按一定顺序)会移动整体,效率较低操作示意图:(2)链式存储方式的分析优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,连接到链表中即可,删除效率也很好).缺点:进行检索时,效率仍然较低,比如(检索某个值,需要从头节点开始遍历)操作示意图:(3)..

2021-11-26 21:23:15 300

原创 数据结构与算法(哈希表)

哈希表(散列)Google上机题1看一个实际需求,google公司的一个上机题2有一个公司,当有新的员工来报道时,要求将该员工的信息加入(id,性别,年龄,住址..),当输入该员工的id时,要求查找到该员工的所有信息.3.要求.不使用数据库,尽量节省内存,速度越快越好=>哈希表(散列)哈希表的基本介绍散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行行访问的数据结构.也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找速度,

2021-11-21 23:28:47 159 1

原创 数据结构与算法(查找算法:线性,二分,插值,斐波那契 )

查找算法介绍在java中,我们常用的查找有四种:1.顺序(线性)查找2.二分查找/折半查找3.插值查找4.斐波那契查找线性查找有一个数列:{1,8,10,89,1000,1234},判断数列中是否包含此名称[顺序查找]要求:如果找到了,就提示找到了,并给出下标值.代码实现:package search;/** * 线性查找 */public class SeqSearch { public static void main(String[] a

2021-11-19 19:33:37 421

原创 数据结构与算法(桶排序 排序算法的时间复杂度比较)

基数排序(桶排序)介绍:(1)基数排序(radix sort)属于"分配式排序"(distribution sort),又称"桶子法"(bucket sort)或bin sort,顾名思义,它是通过键值的各个位的值,将要排序的元素分配至某些"桶"中,达到排序的作用(2)基数排序法是属于稳定性的排序,基数排序法是效率高的稳定性排序法(3)基数排序(Radix Sort)是桶排序的扩展(4)基数排序是1887年赫尔曼.何乐礼发明的.它是这样实现的:将整数按位数切割成不同的数字,然后按每个位.

2021-11-16 23:48:24 1054

原创 数据结构与算法(快速排序,归并排序)

快速排序法介绍:快速排序Quicksort)是对冒泡排序的一种改进.基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程都可以递归进行,以此达到整个数据变成有序序列.快速排序法示意图:快速排序法思路分析排序算法的应用实例:要求:对[-9,78,0,23,-567,70]进行从小到大的排序,要求使用快速排序法。说明:【验证分析】如果取消左右递归,结果..

2021-11-12 22:29:38 103

原创 数据结构与算法(插入排序,希尔排序)

插入排序介绍:插入式排序属于内部排序法,是对于欲排序元素以插入的方式寻找该元素适当的位置,已达到排序的目的.插入排序法思想:插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序和无序表,开始时有序表只包含一个元素,无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序码进行比较,将它插入到有序表中适当位置,使之成为新的有序表.插入排序思路图:从小到大演示插入排序应用案例:有一群小牛,.

2021-11-11 23:36:10 664 1

原创 数据结构与算法(冒泡排序,选择排序)

冒泡排序基本介绍冒泡排序(Bubble Sorting)的基本思想是,通过对待排序序列从前向后(从下标较小的元素开始),依次对比相邻元素的值,若发现逆序则交换,使值较大的元素逐渐从前移动向后部,就象水底的气泡一样逐渐向上冒.因为排序的过程中,各元素不断接近自己的位置,如果一趟比较下来没有进行过交换,说明序列有序,因此要在排序过程中设置一个标志flag判断元素是否进行过交换.从而减少不必要的比较.(这里说的优化,可以在冒泡排序写好,在进行)冒泡排序的应用案例我们举一个具体的案例来说明冒

2021-11-06 21:35:12 178 5

原创 数据结果与算法(排序算法 ,时间复杂度,空间复杂度)

排序算法的介绍排序也称排序算法 (Sort Algorithm),排序是将一组数据,依指定顺序进行排序的过程。排序的分类:(1)内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。(2)外部排序:数据量过大,无法全部加载到内存中,需要借助外部储存进行排序(3)常见的排序算法分类(如图)算法的时间复杂度度量一个程序(算法)执行时间的两种方法(1)事后统计的方法这种方法可行,但是有两个问题: 一:是想要对设计的算法的运行性能进行...

2021-11-04 22:51:32 219 2

原创 数据结构和算法(递归)

递归的概念 简单的说: 递归计算方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时让代码变得简洁.递归的调用机制我列举了两个小案例,来帮大家理解递归,下载让大家看一下递归的调用机制1:打印问题2:阶乘问题3使用图解的方式说明了递归的调用机制代码演示:package recursion;public class RecursionTest { public static void main(String...

2021-11-02 21:23:53 151

原创 数据结构与算法(前缀,中缀,后缀表达式(逆波兰表达式)

前缀表达式(波兰表达式)1前缀表达式又称为波兰式,前缀表达式的运算符位于操作数之前2举例说明:(3+4)×5-6对应的前缀表达式计算- × + 3 4 5 6前缀表达式的计算机求值从右至左扫描表达式,遇到数字时,将数字压入堆栈,遇到运算符时,弹出栈顶的两个数,用运算符对它们做相应的计算(栈顶元素和次顶元素),并将结果入栈,重复上述过程,直到表达式最左端,最后运算得出的只即为表达式的结果例如:(3+4)*5-6对应的前缀表达式就是-*+3456,针对前缀表达式求值步骤如下:1:从右至.

2021-11-01 11:58:25 3909 1

原创 数据结构与算法(单向环形链表 约瑟夫环)

单向环形链表应用场景Josephu(约瑟夫,约瑟夫环)问题Joseph 问题为:设编号为1,2,3,....n的n个人围坐一圈,约定编号为 k (1<=k<=n)的人从1开始报数,数到m的那个人出列,它的下一位又从1开始报数,数到m的那个人又出列,依次类推,直到所有人出列为止,由此产生一个出队编号的序列.提示:用一个不带头节点的循环链表来处理Josephu 问题:先构成一个有n个节点的单循环链表,然后由k节点开始计数,记到m时,对应节点从链表中删除,然后再从被删除节点的下一个节点又.

2021-10-28 12:08:39 166 1

原创 数据结构与算法(双向链表)

双向链表的操作和实现使用带head头的双向链表实现-----水浒传英雄排行榜管理单向链表的缺点分析1:单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后去查找2:单项链表不能自我删除,需要依靠辅助节点,而双向链表,则可以自我删除,所以前面我们单项链表删除节点时,总是要找到temp.temp(是待删除节点的前一个节点)3示意图帮助理解删除对上图的说明:分析双向链表的遍历,添加,修改,删除的操作思路====>代码实现1:遍历方法和单链表一样,只是可以..

2021-10-27 20:39:50 92 1

原创 数据结构与算法(单链表)

链表(Linked List)介绍链表是一个有序的链表,但是他在内存中是储存如下

2021-10-26 16:05:47 441 3

原创 数据结构与算法(队列)

队列介绍队列是一个有序列表,可以用数组或者是链表来实现遵循先入先出的原则. 即:先入队列的数据,要先取出.后存入的后取出示意图:(使用数组模拟队列示意图)数组模拟队列队列本身是有序列表,若使用数组的结构来储存队列的数据,则队列数组的生命如下图,其中maxSize是该队列的最大容量因为队列的输出,输入分别是从前后端来处理,因此需要两个变量front及rear分别记录队列前后端的下标,fornt会随着数据输出而改变,而rear则是随着数据输入而改变.如图所示:当我们将数.

2021-10-20 21:14:56 70

原创 数据结构与算法(稀疏数组)

3.链表3.1链表(Linked List)介绍链表是一种物理存储单元上非连续,非顺序的储存结构,数据元素的逻辑顺序是通过链表中指针链接实现的.

2021-10-13 18:00:16 64

原创 数据结构与算法(栈)

2栈2.1栈的介绍 栈是限制插入和删除只能在一个位置是进行的线性表.其中,允许插入和删除的一端位于表的末端,叫栈顶(top),不允许插入和删除的另一端叫栈低(bottom).对栈的基本操作有PUSH(压栈)和POP(出栈),前者相当于表的插入操作(向栈顶插入一个元素),后者则是删除操作(删除一个栈顶元素).栈是一种后进先出(LIFO)的数据结构,最先被删除的是最近压栈的元素.2.2栈的应用场景2.3栈的快速入门2.4栈实现计算器2.4.1ArraySt...

2021-10-09 15:53:19 493

原创 数据结构与算法(概念)

1Hadoop是一个由Apache基金会所开发的分布式系统基础架构

2021-09-30 18:18:31 995 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除