【每周技术】2022.05.02周一 ~ 2022.05.08 周六

这篇博客探讨了算法的空间复杂度,以递归调用和O(n^2)为例进行说明。还介绍了如何使用栈实现有效括号检查,以及如何利用两个栈模拟队列。此外,讨论了堆数据结构,并提及了JVM中的G1垃圾收集器调优,包括分析fullGC原因和CPU飙升的排查方法。
摘要由CSDN通过智能技术生成

05.07 周六

1. 计算空间复杂度

https://leetcode-cn.com/leetbook/read/illustration-of-algorithm/r8ytog/在这里插入图片描述

1.1) 递归调用的空间复杂度示意图

在这里插入图片描述

1.2) 指数阶的空间复杂度 O ( n 2 ) O(n^2) O(n2)

ps: 数学公式,使用 Latex 语法
在这里插入图片描述

05.08 周日

2.常用数据结构的时间复杂度

在这里插入图片描述

3.有效括号

方法01: 使用栈实现
方法02: 使用字符串的替换,循环处理判断即可(时间复杂度高,不建议)

在这里插入图片描述

4.使用栈实现队列

思路: 使用两个栈来实现,一个是 input的输入栈,一个是 output的输出栈, 栈模拟队列的数据结构,主要实现的方法有,

  • ①push的入队列方法
  • ②peek的 查看队列头部元素方法
  • ③pop的出队列方法
    具体来说的话是:push的操作都是进入到 Input的输入栈,当 调用 peek和 操作,会触发 Input的数据全部出栈到OutPut栈中。实现负负得正的队列效果

扩展: 如果是 队列实现模拟栈的效果,也可以是2个队列模拟

在这里插入图片描述

5.堆

在这里插入图片描述
在这里插入图片描述

6. JVM中的G1调优

  • fullGC 可以通过 GC日志,或者添加fullGC前后的堆dump ,查看fullGC原因
  • cpu飙升可以看看 jstack
    在这里插入图片描述

打开GC的日志的参数

  • idk 9之前是 -XX:+PrintGCStamps 或 -XX:+PrintGCDetails
  • jdk9之后的参数是 -Xlog:gf*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值