- 博客(13)
- 资源 (4)
- 收藏
- 关注
原创 数据结构之排序宋词记忆法
一、常见的排序算法总结小伙伴们对这个表格的背诵是不是很头疼,下面是马士兵老师总结的超强排序算法宋词记忆法,我直接好家伙,话不多说,直接看图二、排序宋词记忆法大家第一眼看上去是不是比较蒙,哈哈哈,我第一眼看上去也是这种感觉,下面我给大家转述一下马老师的解释:选泡插,分别是选择排序、冒泡排序和插入排序,这三种排序算法的平均时间复杂度是 N^2(N方谐音恩方),对应的稳定性分别是选择排序不稳定,冒泡排序稳定,插入排序稳定;快归堆,分别是快速排序、归并排序和堆排序,这三种排序算法的平均时间复杂度是 N
2021-02-03 12:24:27 334 1
原创 数据结构之图的基本操作
一、判断图G是否存在边 <x, y> 或 (x, y)1.1 如何判断无向图是否存在边 (C, D) ?1.1.1 邻接矩阵法判断邻接矩阵表示法可以根据顶点C和D确认边在数组中的位置G(2,3)位置上存储的数字为1(如上图红色虚线框所示,也可以取G(3,2)位置上存储的数字),所以确定边 (C, D) 存在1.1.2 邻接表法邻接表法需要遍历C顶点的所有链表(如上图红色虚线框所示,也可以遍历D顶点的所有链表找出是否有C的边表),找出是否有顶点D的边表,从图中可知遍历到第二个节点时
2021-01-23 00:37:30 1769
原创 数据结构之图的存储结构邻接多重表法
一、邻接表存储无向图回顾图中红色框住的部分,是B顶点与C顶点的边,我们可以看到在边表中被表示了两次,会导致删除效率比较低(需要遍历两个顶点进行边的删除)二、无向图的存储结构邻接多重表法2.1 邻接多重表法定义顶点结构定义data:数据域,存放顶点数据firstedge:第一条边的指针边表节点结构定义ivex:边的两个顶点其中一个顶点 i 的序号ilink:边的两个顶点其中一个顶点 i 的相连的下一条边jvex:边的两个顶点其中一个顶点 j 的序号-jlink:边的两个顶点
2021-01-21 00:03:02 676
原创 JVM常用调优参数(持续更新)
一、GC调优相关待补充二、其他调优-XX:-OmitStackTraceInFastThrowHotSpot VM有个许多人觉得“匪夷所思”的优化,叫做fast throw:有些特定的隐式异常类型(NullPointerException、ArithmeticException( / 0)之类)如果在代码里某个特定位置被抛出过多次的话,HotSpot Server Compiler(C2)会透明的决定用fast throw来优化这个抛出异常的地方——直接抛出一个事先分配好的、类型匹配的异常对象。这
2021-01-20 16:06:06 122
原创 数据结构之图的存储结构十字链表法
一、邻接表法回顾邻接表法特点:可以存储有向图和无向图计算节点的出度很快(边链表数量)计算节点的入度很慢(需要遍历全部节点)二、有向图存储结构十字链表法2.1 十字链表法定义顶点结构:data:数据域可以存放节点信息firstin:第一个入边firstout:第一个出边边结构:tailvex:弧尾结点headvex:弧头结点hlink:弧头相同的下一条边tlink:弧尾相同的下一条边info:信息域(可以存储边的权值)特点:仅可以表示有向图,无法表示无向图
2021-01-18 23:42:00 1331
原创 数据结构之图的存储结构邻接表法
一、邻接矩阵法的缺点由于邻接矩阵法使用了节点数*节点数的二维数组,所以存储稀疏图的时候会造成许多空间浪费二、邻接表法2.1 邻接表法定义2.2 邻接表法表示有向图2.3 邻接表法表示无向图2.4 邻接表法的C语言定义三、邻接表法特点四、邻接矩阵法与邻接表法对比...
2021-01-18 23:14:25 376
原创 数据结构之图的存储结构邻接矩阵法
一、邻接矩阵法定义二、邻接矩阵法表示图2.1 邻接矩阵法表示图的定义2.2 邻接矩阵法表示图的示例2.2.1 有向图的邻接矩阵法表示2.2.2 无向图的邻接矩阵法表示三、邻接矩阵法表示网3.1 邻接矩阵法表示网的定义3.2 邻接矩阵法表示网的示例四、邻接矩阵法的性质4.1 邻接矩阵法的基本性质4.2 邻接矩阵法的矩阵运算A^n(A的n次方)的含义注意:这里矩阵的编号是从1开始,A^2[2][5]代表第二行第五列...
2021-01-17 16:26:57 326
原创 数据结构之图的定义和相关概念
1.图的知识总览2.图的定义图G由顶点集V和边集E组成,记为G=(V,E),其中V(G)表示图G中顶点的有限非空集;E(G)表示图G中顶点之间的关系(边)的集合|V| 表示图G中顶点的个数,也称图G的阶;|E| 表示图G中的边的条数3.有向图和无向图4.简单图和多重图5.完全图6.子图由于子图的定义只是说明子集,没有说明真子集,所以相等的图也是子图由于图的边集可以为空,所以无边子图也是符合定义的子图根据图的定义,边是代表顶点之间的关系,所以边必须有两个端点,上面的图片
2020-12-19 23:20:06 1130 3
原创 Java日志体系日志门面(Slf4j)日志实现(Log4j、Log4j2)详解
1、背景近日发生两次因日志使用不当导致的线上问题: 1、gas命名配置了info日志级别,却打印大量的debug日志,导致磁盘IO较高,很快就报磁盘空间不足告警 2、应用服务启动后报StackOverflowError错误,无法正常提供服务这两个问题的本质其实都是Java的日志体系较为庞杂、混乱且使用方式多变导致,如果能对Java的日志体系有一个全面的了解,那这
2020-08-16 22:17:57 1612 1
原创 Java应用堆外内存泄漏排查
背景我司商城系统生产服务隔一段时间就挂掉一次,所有的机器都有这个问题,而且问题出现的越来越频繁,从最开始的半个月一次,到后来一周一次、3天一次,一直到最后的1天1次甚至2次初步排查和猜测1、首先获取应用pidps -ef|grep marketing-center2、根据pid查询java应用堆内存使用情况,以及应用进程占用系统内存情况#查看java程序GC情况以及堆内内存使用情况...
2020-01-25 22:18:13 3119 2
原创 Java直接内存泄漏排查工具gperftools使用方法
安装编译器sudo yum -y install gcc makesudo yum -y install gcc gcc-c++安装libunwind与google-perfile#安装libunwindwget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99-beta.tar.gztar -zxv...
2020-01-25 22:16:57 3153
原创 Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效)
Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效)前言今天在使用Spring cache的Cacheable注解的过程中遇见了一个Cacheable注解失效的问题,检查问题发生的原因是因为Spring的Cacheable注解是基于Spring AOP实现的,但是类内部方法互相调用时不会被Spring AOP拦截的,所以导致被调用方法的Cacheable注...
2018-06-23 15:56:31 480
原创 Mysql安装、使用、配置远程连接,看这一篇就够了!
Mysql安装下载并安装MySQL官方的 Yum Repository [root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 下载完成后安装 [root@localhost ~]# yum -y install mysql57-c...
2018-06-23 15:52:05 348
Java性能权威指南(高清带书签目录)
2018-08-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人