【java学习】【12.10】【10/60】

1.Leetcode(2h)

25. K 个一组翻转链表 - 力扣(LeetCode)

这里注意空值判断;断开链表;局部翻转;链表连接;指针更新

比较全面的hard题

148. 排序链表 - 力扣(LeetCode)

这里用到merge sort进行归并排序,归并排序 是一种分治算法

138. 随机链表的复制 - 力扣(LeetCode)

参考这个视频,用到哈希+递归(这种难理解,注意写成成员变量)或哈希表+遍历

Leetcode 138 复制带随机指针的链表【两种解法:遍历和递归】_哔哩哔哩_bilibili

146. LRU 缓存 - 力扣(LeetCode)

这里注意增加的顺序过程

1.分解2.解决3.合并

2.散列表(哈希表)-散列函数,冲突处理,平均查找长度(0.5h)

散列表(哈希表) - 散列函数, 冲突处理, 平均查找长度(ASL)_哔哩哔哩_bilibili

散列表-实现关键字(key)到下标(地址)

哈希表复杂度O(1),数组的复杂度O(n)

散列函数

直接定址法,除留余数法

冲突处理

不同关键字映射到同一个地址;

开放地址法(线性探测、平方探测):只是标记地址的堆积上有区别
拉链法

在重复的地址上,拉一个链表,然后依次检查链表上的元素,删除就是链表指向后一个即可;

逻辑和专注力得到提升

3.java并发编程(上)(0.15h)

产生死锁的四个必要条件:

  1. 互斥条件:该资源任意一个时刻只由一个线程占用。
  2. 请求与保持条件:一个线程因请求资源而阻塞时,对已获得的资源保持不放。
  3. 不剥夺条件:线程已获得的资源在未使用完之前不能被其他线程强行剥夺,只有自己使用完毕后才释放资源。
  4. 循环等待条件:若干线程之间形成一种头尾相接的循环等待资源关系

4.javaweb复习(1h)

相关推荐
西岸行者6 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意6 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码6 天前
嵌入式学习路线
学习
毛小茛6 天前
计算机系统概论——校验码
学习
babe小鑫6 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms6 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下6 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。6 天前
2026.2.25监控学习
学习
im_AMBER6 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J6 天前
从“Hello World“ 开始 C++
c语言·c++·学习