![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 77
林隐w
0阶二次元程序猿,积攒经验值中......
展开
-
Java集合相关的List、Set、Map基础知识
Java集合相关的List、Set、Map基础知识原创 2024-04-26 14:31:47 · 1055 阅读 · 2 评论 -
树形菜单、树形结构初学习
我们一般会需要将平铺的菜单数据列表转换为树形结构展示的菜单数据,这句话的意思是将数据库中的菜单表转化为树形结构的菜单后端接口方法并通过业务层具体实现其逻辑,以便前端调用和展示。在这个示例中,我们创建了一个简单的树形菜单,包含一个文件菜单和四个菜单项:新建、打开、保存和退出。总的来说,树形结构是一种通用的数据组织方式,而树形菜单是一种特定应用场景下基于树形结构设计的用户界面元素。这只是一个简单的示例,实际的树形菜单可能会包含更多的菜单和菜单项,并且可能需要根据具体需求进行定制。树形结构是一种数据结构,它由。原创 2024-02-27 10:45:57 · 1257 阅读 · 1 评论 -
【leetcode】206. 反转链表(简单)题解学习
这种递归实现方式代码简短,但需要注意在链表较长时可能会导致递归深度过大而引发堆栈溢出的问题。链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题?两个指针来遍历链表并进行倒序操作。方法来将除去头节点的子链表进行倒序处理,得到新的头节点。,请你反转链表,并返回反转后的链表。在这个简化后的代码中,我们仍然使用。指针指向前一个节点,然后更新。这个递归算法的思路是先递归调用。,从而完成节点的倒序。,即为倒序后的链表。原创 2024-02-06 15:42:03 · 487 阅读 · 0 评论 -
【leetcode】LCR 123. 图书整理 I(简单)题解学习
对于使用递归的方法,在每一次递归调用中,都会向链表的尾部逐步递进,因此时间复杂度为 O(N),其中 N 是链表的长度。对于使用栈辅助的方法,在遍历链表时,需要将每个节点的值存储到栈中,因此空间复杂度为 O(N)。然后,创建一个新的数组,长度为栈的大小,依次将栈中的元素出栈并存储到数组中。将给定的单链表反转,并将反转后的结果存储在一个数组中返回。在这个优化的方法中,我们先处理空链表的情况,如果链表为空,则直接返回一个空数组。记录链表的长度,同时在进行链表反转的同时,将节点值存储到数组中,最后返回该数组。原创 2024-02-06 11:07:15 · 623 阅读 · 0 评论 -
函数调用栈是什么
函数调用栈是什么原创 2024-02-05 17:22:35 · 689 阅读 · 0 评论 -
【leetcode】1512. 好数对的数目(简单)题解学习
需要遍历两次数组,第一次遍历统计每个数字出现的次数,第二次遍历计算好数对的数量。相较于暴力枚举的方法,这种方法的效率更高。有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始。次,所以它可以和其他任意一个相同的数字组成一组好数对,因此它能够组成的好数对数量就是。最后,我们遍历哈希表中的每个数字,将它们的好数对数量相加得到总的好数对数量,即为变量。总之,这句代码的作用是将当前数字能够组成的好数对数量累加到计数器上。,那么它可以和其他数字组成的好数对数量就是。原创 2024-02-04 10:21:34 · 491 阅读 · 0 评论 -
Java中集合的底层结构
例如,ArrayList底层基于动态数组实现,容量能自动增长,随机访问效率高,随机插入、随机删除效率低,线程不安全,多线程环境下可以使用Collections.synchronizedList()函数返回一个线程安全的ArrayList类,也可以使用concurrent并发包下的CopyOnWriteArrayList类。选择合适的集合类可以根据具体的需求来决定,例如需要快速随机访问的场景可以选择ArrayList,需要去重并且无序的场景可以选择HashSet。根据实际的内存限制和需求,选择适合的集合类。原创 2023-12-20 19:05:07 · 977 阅读 · 0 评论 -
ConcurrentHashMap是如何实现线程安全的
ConcurrentHashMap是如何实现线程安全的原创 2023-12-18 13:36:58 · 1646 阅读 · 0 评论 -
HashSet集合
HashSet集合原创 2023-12-18 13:21:27 · 891 阅读 · 0 评论 -
冒泡排序学习
冒泡排序的时间复杂度为O(n^2),其中n是待排序数组的长度。虽然冒泡排序简单易懂,但对于大规模的数据排序效率较低,因此在实际应用中一般不推荐使用。冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地交换相邻的元素来排序。4. 重复以上步骤,每次都将待排序的元素中最大的元素排在已排序部分的末尾。1. 从待排序的数组中的第一个元素开始,依次比较相邻的两个元素。2. 如果前一个元素大于后一个元素,则交换它们的位置。方法对数组进行排序。最后,我们输出排序后的数组。方法中,我们创建了一个整数数组。原创 2023-12-16 16:19:48 · 487 阅读 · 0 评论 -
ConcurrentHashMap和HashMap的区别
ConcurrentHashMap和HashMap的区别原创 2023-11-21 20:22:19 · 285 阅读 · 0 评论 -
HashMap散列表的相关知识点
HashMap散列表的相关知识点学习原创 2023-11-18 20:28:29 · 120 阅读 · 0 评论 -
Hash的底层结构
Hash的底层结构原创 2023-11-18 20:03:00 · 372 阅读 · 0 评论 -
Java中队列的数据结构
Java中队列的数据结构原创 2023-10-30 18:47:06 · 208 阅读 · 0 评论