摘要:
堆(Heap)数据结构 堆是一种特殊的完全二叉树,它满足堆属性(Heap Property),在计算机科学中有广泛应用,特别是优先队列、堆排序等场景。 核心特性 完全二叉树结构:1 除最后一层外,其他节点完全填满;2 最后一层节点从左到右连续排列 堆属性: 小顶堆:每个节点的值都小于或等于其子节点的 阅读全文
posted @ 2025-04-26 17:36
CyrusHuang
阅读(56)
评论(0)
推荐(0)
摘要:
二叉树(Binary Tree) 图片来于 hello 算法 什么是二叉树? 线性数据结构下一个元素是一个,树的下一个节点是多个,二叉树的下一个节点最多两个,逻辑存储上是非线性的 存储结构可以是线性(简单的树)也可以是非线性(复杂的树) 常见术语 根节点(root node):顶层节点,没有父节点。 阅读全文
posted @ 2025-04-26 17:36
CyrusHuang
阅读(71)
评论(0)
推荐(0)
摘要:
队列(Queue)数据结构 队列是一种先进先出(FIFO, First In First Out)的线性数据结构,类似于现实生活中的排队场景,先到的人先获得服务。 核心特性 FIFO原则:最先入队的元素最先出队 受限访问: 只能从队尾(rear)插入元素(入队,enqueue) 只能从队首(fron 阅读全文
posted @ 2025-04-26 17:35
CyrusHuang
阅读(67)
评论(0)
推荐(0)
摘要:
栈(Stack)数据结构 栈是一种后进先出(LIFO, Last In First Out)的线性数据结构 类似于进电梯,先进后出(进电梯后别站在最边上哈,不然就先出了,哈哈~) 或者类似洗完,先洗好的放下面,后洗好的放上面,拿碗的时候要拿后洗好的。 核心特性 LIFO原则:最后入栈的元素最先出栈 阅读全文
posted @ 2025-04-26 17:34
CyrusHuang
阅读(31)
评论(0)
推荐(0)
摘要:
数组(Array)简介 数组是数据结构中最基本、最常用的线性结构之一,它是一种相同数据类型元素的集合,这些元素在内存中连续存储,并通过索引(下标)来访问。 基本特性 固定大小:大多数编程语言中数组在创建时需要指定大小,且创建后大小不可改变(动态数组除外) 连续内存:所有元素在内存中是连续存储的 随机 阅读全文
posted @ 2025-04-26 17:34
CyrusHuang
阅读(169)
评论(0)
推荐(0)
摘要:
链表(Linked List)简介 链表是另一种常见的线性数据结构,与数组不同,链表的元素在内存中不必连续存储,而是通过指针(或引用)将各个元素连接起来。 基本特性 动态大小:链表的大小可以动态增长或缩小 非连续内存:元素可以分散存储在内存中的任何位置 顺序访问:必须从头节点开始逐个访问,不能随机访 阅读全文
posted @ 2025-04-26 17:34
CyrusHuang
阅读(68)
评论(0)
推荐(0)
摘要:
数据结构的分类 按照 逻辑结构:可以分为线性和非线性。下一个元素是一个还是多个 按照 存储结构:也可以分为线性(连续)和非线性(分散)。下一个元素是紧挨着还是没有挨着 逻辑结构 图片来于 hello 算法 存储结构 图片来于 hello 算法 阅读全文
posted @ 2025-04-26 17:33
CyrusHuang
阅读(20)
评论(0)
推荐(0)
摘要:
时间复杂度 以下是常见的时间复杂度,按效率从高到低排序: 时间复杂度 名称 示例 O(1) 常数时间 数组随机访问、哈希表查找 O(log n) 对数时间 二分查找、平衡二叉搜索树(AVL、红黑树) O(n) 线性时间 遍历数组、链表查找 O(n log n) 线性对数时间 快速排序、归并排序、堆排 阅读全文
posted @ 2025-04-26 17:32
CyrusHuang
阅读(57)
评论(0)
推荐(0)
摘要:
1. ThreadLocal 基本概念 ThreadLocal 提供了线程局部变量,这些变量与普通变量不同,每个访问该变量的线程都有自己独立的初始化副本。ThreadLocal 实例通常是类中的 private static 字段,用于将状态(如用户 ID 或事务 ID)与线程关联起来。 线程隔离: 阅读全文
posted @ 2025-04-26 17:13
CyrusHuang
阅读(39)
评论(0)
推荐(0)

浙公网安备 33010602011771号