自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

花开归矣的博客

technology changes the world--技术改变世界

  • 博客(59)
  • 收藏
  • 关注

原创 Linux 网卡设置 static 与 dhcp 内容对比

static 与 dhcp 内容对比BOOTPROTO=staticBOOTPROTO=dhcp

2020-06-03 20:01:17 2611

原创 设计模式之单例模式

1.单例模式 实现方式 之 饿汉式(静态常量,线程安全)package 单例模式.demo01;/** * @Auther: Administrator * @Date: 2020/5/6 21:27 * @Description: 单例模式 实现方式 之 饿汉式(静态常量,线程安全) * 优缺点说明 * (1)优点:写法比较简单,在类装载的时候就完成实例化,避免了线程同步问题...

2020-05-06 23:17:39 604

原创 平衡二叉树(Self-balancing binary search tree)之AVL树

1.基础(基础)二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),也称二叉搜索树2.AVL树出现的背景(AVL树出现的背景)问题分析:数列{1,2,3,4,5,6},对应的二叉排序树(BST)的问题所在(1)左子树全部为空,从形式上看,更像一个单链表(2)插入速度没有影响(3)查询速度明显降低(因为需要依次比较),不能发挥B...

2020-04-04 14:52:42 605 1

转载 排序算法之堆排序

1.堆的概述堆是具有以下性质的完全二叉树:(1)每个结点的值都大于或等于其左右子结点的值,称为大顶堆(2)或者每个结点的值都小于或等于其左右子结点的值,称为小顶堆同时,对堆中的结点按层进行编号,将这种逻辑结构映射到数组中就是下面这个样子该数组从逻辑上讲就是一个堆结构,用公式来描述堆的性质如下:大顶堆:arr[i] >= arr[2i+1] && a...

2020-04-02 13:44:57 232

原创 克鲁斯卡尔(Kruskal)算法之加权连通图的最小生成树问题

1.图的几个概念(1)连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图为连通图(2)强连通图:在有向图中,若任意两个顶点vi与vj都有路径相通,则称该有向图为强连通图(3)连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数值,称为权,权代表着连接两个顶点的代价,称这种连通图叫做连通网(4)生成树:一个连通图的生成树是指一个连通子图,它含有图中全部 n...

2020-03-31 22:23:54 1621

原创 普里姆(Prim)算法之加权连通图的最小生成树问题

1.图的几个概念(1)连通图:在无向图中,若任意两个顶点vi与vj都有路径相通,则称该无向图为连通图(2)强连通图:在有向图中,若任意两个顶点vi与vj都有路径相通,则称该有向图为强连通图(3)连通网:在连通图中,若图的边具有一定的意义,每一条边都对应着一个数值,称为权,权代表着连接两个顶点的代价,称这种连通图叫做连通网(4)生成树:一个连通图的生成树是指一个连通子图,它含有图中全部n个...

2020-03-31 17:51:23 3439 1

原创 迪杰斯特拉(Dijkstra)算法之两点之间的最短距离问题

1.概述(1)与弗洛伊德(Floyd)算法一样,迪杰斯特拉(Dijkstra)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法,主要特点是以出发点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止2. 迪杰斯特拉(Dijkstra)算法 与 弗洛伊德(Floyd)算法 的区别(1)迪杰斯特拉(Dijkstra)算法:选定图中某一个顶点作为出发顶点,求出出发顶点到其他顶...

2020-03-31 00:27:30 3697

原创 弗洛伊德(Floyd)算法之两点之间的最短距离问题

1.概述(1)与迪杰斯特拉(Dijkstra)算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法,该算法名称以创始人之一、1978 年图灵奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德命名2.弗洛伊德(Floyd)算法 与 迪杰斯特拉(Dijkstra)算法 的区别(1) 弗洛伊德(Floyd)算法:图中的每一个顶点都是出发顶点,需要求出每一...

2020-03-30 16:28:37 3625 1

原创 马踏棋盘算法(骑士周游问题)

1.概述马踏棋盘算法也被称为骑士周游问题2.问题描述将象棋马随机放在国际象棋的 8×8 棋盘(二维数组[0~7][0~7])的某个方格中,马按走棋规则(马走日字)进行移动,要求每个方格只进入一次,走遍棋盘上全部 64 个方格3.解题方法求解问题的方法有2种:(1)使用 图的深度优先搜索(DFS)回溯 进行求解(2)使用 贪心算法 确定 贪心策略优化方法(1) 进行求...

2020-03-29 21:17:38 1373

原创 图的广度优先搜索(BFS)与图的深度优先搜索(DFS)详解及其代码实现

参考文章:https://blog.csdn.net/weixin_40953222/article/details/805449281.概述与树的遍历类似,图的遍历也是从图中某个顶点出发,然后按照某种方法对图中所有顶点进行访问,且仅访问一次但是图的遍历相对树而言要更为复杂,因为图中的任意顶点都可能与其他顶点相邻,所以在图的遍历中必须记录已被访问的顶点,避免重复访问根据搜索路径的不同,...

2020-03-27 16:27:47 2064

原创 从暴力匹配算法到KMP算法之字符串匹配问题

字符串匹配问题描述给定两个字符串,字符串 str = "aabbcabc" ,字符串regex = "abc" ,判断字符串 str(aabbcabc) 是否 包含 字符串 regex(abc) ,如果包含,则返回regex(abc) 在 str(aabbcabc) 中首次出现的位置,否则返回 -1(题外话:str.indexOf(regex) 得到结果,不在本文讨论的范畴中)一、暴...

2020-03-16 17:37:58 232

原创 动态规划算法之0-1背包问题

待续。。。代码实现package com.zzb.algorithm.dynamic;/** * 动态规划算法 * 应用实例:0-1背包问题(限制每个物品要么拿(1个),要么不拿(0个)) */public class KnapsackProblem { public static void main(String[] args) { // 每个物品的重量...

2020-03-15 16:33:58 7780

原创 排序算法之基数排序

基数排序(桶排序)介绍(1)基数排序(Radix Sort)属于“分配式排序”(distribution sort),又称“桶子法”(bucket sort)或 bin sort,顾名思义,它是通过元素的各个位的值,将要排序的元素分配至某些“桶”中,达到排序的作用(2)基数排序法是属于稳定性的排序,基数排序法的是效率高的稳定性排序法(3)基数排序(Radix Sort)是桶排序的扩展(4...

2020-03-11 00:09:45 576

原创 排序算法之归并排序

归并排序介绍归并排序(MERGE-SORT)是利用归并的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer )策略,分治法将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得到的各答案"修补"在一起,即分而治之将两个的有序数列合并成一个有序数列,称之为"归并"归并排序基本思想(1)分(分解):一开始对当前数组一分...

2020-03-10 16:04:08 290

原创 排序算法之快速排序

快速排序介绍快速排序(Quicksort)是对冒泡排序的一种改进,同冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较与交换位置来达到排序的目的,不同的是,冒泡排序在每一趟只把一个元素冒泡到数列的一端,而快速排序在每一趟挑选一个基准元素,并让其他比基准元素大的元素移动到数列的一边,比基准元素小的元素移动到数列的另一边,从而把数列拆解成了两个部分,这种思路就叫做分治法基本思想是:通过一...

2020-03-09 17:21:01 3900

原创 排序算法之希尔排序

希尔排序介绍希尔排序,也称递减增量排序算法(缩小增量排序),是插入排序的一种更高效的改进版本,但希尔排序是非稳定排序算法希尔排序基本思想希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序,随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件被分成一组,算法便终止希尔排序算法讲解(需要有直接插入排序算法作为基础知识)以数组 {82 ,31 ,29...

2020-03-08 15:59:11 323

原创 排序算法之(直接)插入排序

package com.zzb.sort;import java.util.Arrays;/** * @Auther: Administrator * @Date: 2020/3/6 22:16 * @Description: 插入排序 * 插入排序(Insertion Sorting)的基本思想是:把n个待排序的元素看成为一个有序表和一个无序表, * 开始时有序表中只包含一个...

2020-03-06 23:06:34 271

原创 排序算法之选择排序

package com.zzb.sort;import java.util.Arrays;/** * @Auther: Administrator * @Date: 2020/3/6 16:52 * @Description: 选择排序 */public class SelectSort { public static void main(String[] args) ...

2020-03-06 17:16:03 132

原创 排序算法之冒泡排序

package com.zzb.sort;import java.util.Arrays;/** * @Auther: Administrator * @Date: 2020/3/6 14:44 * @Description: 冒泡排序 * 冒泡排序(Bubble Sorting)的基本思想是:通过对待排序序列从前向后(从下标较小的元素开始),依次比较 * 相邻元素的值,若发现...

2020-03-06 15:29:03 312

原创 中缀表达式转后缀表达式的代码实现及逆波兰计算器求值(后缀表达式求值)的代码实现

1、案例1+((2+3)*4)-52、思路步骤分析:本代码实现只考虑3类符号:正整数,运算符(+,-,*,/)、小括号,后续扩展,转换核心是这3类符号的比较特点3、代码实现package com.zzb.stack;import java.io.Serializable;import java.util.ArrayList;import java.util...

2020-02-05 00:30:13 378

原创 使用带头结点的单向链表模拟栈

package com.zzb.stack;import java.io.Serializable;import java.util.Scanner;/** * @Auther: Administrator * @Date: 2020/1/21 12:50 * @Description: 使用 带头结点的单向链表 模拟 栈 数据结构 * (1)栈是一个先入后出(FILO-Fir...

2020-01-21 15:32:03 381

原创 使用数组模拟栈

package com.zzb.stack;import java.util.Scanner;/** * @Auther: Administrator * @Date: 2020/1/20 12:25 * @Description: 使用 数组 模拟 栈 数据结构 * (1)栈是一个先入后出(FILO-First In Last Out)的有序列表 * (2)栈(stack)是...

2020-01-20 14:47:57 527

原创 使用环形单向链表解决约瑟夫环问题

package com.zzb.datastructure.singlelist;import java.io.Serializable;/** * @Auther: Administrator * @Date: 2020/1/18 17:38 * @Description: 使用 环形单向链表 解决 约瑟夫环 问题 * * 问题描述: * total 个人围成一圈,从第 i...

2020-01-19 15:10:13 232

原创 使用数组解决约瑟夫环问题

package com.zzb.datastructure.singlelist;/** * @Auther: Administrator * @Date: 2020/1/17 15:31 * @Description: 使用 数组 解决 约瑟夫环 问题 * * 问题描述: * total 个人围成一圈,从第 index 个人起从 1 开始报数,数到 target 的那个人出队,...

2020-01-17 18:59:52 1261

原创 合并两个有序的单链表,合并之后的新链表依然有序

package com.zzb.datastructure.singlelist;import java.io.Serializable;/** * @Auther: Administrator * @Date: 2020/1/15 16:55 * @Description: * 合并两个有序的单链表,合并之后的新链表依然有序 */public class MergeOrde...

2020-01-16 15:05:28 1494 1

原创 使用数组模拟环形队列

package com.zzb.queue;import java.util.Scanner;/** * @Auther: Administrator * @Date: 2020/1/13 18:30 * @Description: 使用 数组 模拟 环形队列(以数组长度为2的极端方式理解) * (1)front成员变量表示指向队列的第一个元素(即头部数据)的头索引,即arra...

2020-01-14 14:42:00 453

原创 使用数组模拟队列

package com.zzb.queue;import java.util.Scanner;/** * @Auther: Administrator * @Date: 2020/1/13 13:29 * @Description: 使用 数组 模拟 队列 * * 队列是一个有序列表,可用 数组 或 链表 来实现 * 队列遵循 先进先出 的原则,即先存进队列的数据被先取出来,...

2020-01-13 16:52:04 268

原创 稀疏数组的理解及与原始数组之间的相互转化的代码实现

原始数组 稀疏数组 原始数组 转 稀疏数组package com.zzb.sparsearray;/** * @Auther: Administrator * @Date: 2020/1/7 14:44 * @Description: 原始数组 转 稀疏数组 * 稀疏数组 原理 * (1)稀疏数组的第...

2020-01-07 15:24:08 113

原创 前端分页显示有限页码实现逻辑

1.一共展示10个页码,能够达到前5后4的效果2.如果前边不够5个,后边补齐10个3.如果后边不足4个,前边补齐10个// 定义页码开始位置begin,结束位置 endvar begin; // 开始位置var end ; // 结束位置//1.要显示10个页码if(page.totalPage < 10){ //总页码不够10页 begin = 1; end...

2019-11-07 13:48:36 1242

原创 spring5之springmvc的@responsebody注解返回json串配置

maven的pom文件<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.9.0</version></dependency&...

2019-11-05 21:09:28 783

原创 mysql 与 oracle 的通用分页查询格式

需求:每页显示5条记录,查询第二页oracle写法(需要用到伪列rownum,并且给伪列起别名,当做普通列来处理)select e.* from (select rownum r, emp.* from emp) e where e.r > 5 and e.r <=10 ;oracle通用写法(需要用到伪列rownum,并且给伪列起别名,当...

2019-10-30 22:17:09 376

原创 EL表达式获取对象属性的原理

EL表达式获取对象属性的原理是这样的:以表达式${user.name}为例EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀(构成字符串"getName()",通过反射取值)一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值所以,想要通过EL表达式获取对象属性的值,那么这个属性就必须有与之对应的get...

2019-10-19 12:04:24 924

原创 二叉排序树的添加与删除

package com.zzb.tree;import java.io.Serializable;/** * @Auther: Administrator * @Date: 2019/10/14 00:07 * @Description: * 二叉排序树:BST(Binary Sort(Search) Tree), 对于二叉排序树的任何一个非叶子节点, * 要求左子节点的值比当...

2019-10-14 03:52:39 219

原创 二叉树的顺序存储与遍历

二叉树的存储结构目前所学:1、顺序存储 概念:采用数组来存储二叉树的所有节点。注意,顺序存储只适用于完全二叉树(满二叉树也是完全二叉树的一种) 顺序存储的特点对于一棵有n个结点的完全二叉树,按照从上至下和从左至右的顺序对所有结点从 0 开始到 n-1 进行顺序编号,则对于索引为 i的结点(0≤i<n) (1)如果 i=0,则结点i是二叉树的根 (2)第...

2019-10-12 01:27:48 2220

原创 哈希表的增、删、查、遍历

package com.zzb.hashtable;import java.io.Serializable;/** * @Auther: Administrator * @Date: 2019/10/7 00:44 * @Description: 哈希表的增、删、查、遍历 * * 哈希表数据结构 就是 数组数据结构 与 链表数据结构 的组合而构成的,即 * 哈希表 = 数组 ...

2019-10-07 02:48:39 3236

原创 二叉树的前序、中序、后序遍历、查找、删除的实现

package com.zzb.tree;import java.io.Serializable;/** * @Auther: Administrator * @Date: 2019/10/5 20:59 * @Description: 二叉树的 * 前序遍历 * 中序遍历 * 后序遍历 * * 前序遍历查找指定节点 * 中序遍历查找指定节点 * 后序遍历查找指点...

2019-10-06 01:51:37 335

原创 带头结点的双向链表 增删改查遍历

package com.zzb.datastructure;import java.io.Serializable;/** * @Auther: Administrator * @Date: 2019/10/2 21:13 * @Description: 带头结点的双向链表 增删改查遍历 */public class DoubleLinkedListDemo01 { p...

2019-10-02 23:37:42 246

原创 带头结点的单向链表 增删改查遍历

package com.zzb.datastructure;import java.io.Serializable;/** * @Auther: Administrator * @Date: 2019/10/1 18:20 * @Description: 带头结点的单向链表 增删改查遍历 */public class SingleLinkedListDemo01 { p...

2019-10-02 15:12:39 452

原创 Intellij IDEA快速生成main方法、out输出、for循环

1、System.out.println()输入sout,按下enter键,生成System.out.println()方法.2、public static void main(String [] args){}输入psvm,按下enter键,生成main方法.3、for(int i=0;i<;i++){}输入fori,按下enter键,生成for循环.4、for(O...

2019-09-29 16:09:04 1691

原创 springboot + element-ui + axios 跨域请求解决方案

1、在 main.js 文件中添加如下内容 import axios from 'axios' //axios跨域设置 true跨域请求携带cookie axios.defaults.withCredentials = true2、springboot编写全局跨域请求配置 springboot版本 <parent> <...

2019-04-20 14:24:07 845

空空如也

空空如也

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

TA关注的人

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