数据结构
文章平均质量分 87
嵌入式Jerry
《Yocto项目实战教程》+《定制自己的Linux》作者
- 请关注个人B站,学习更丰富前沿的技术:嵌入式Jerry
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
数据结构基础练习 | 单链表操作全套实战与复盘
单链表是数据结构与算法学习的核心内容之一,不仅是算法题的高频考点,更是C语言面试和实际工程开发的基础能力。通过扎实掌握单链表的各种基本操作,可以极大提升你的编程思维与指针理解能力。本练习代码涵盖了链表创建、打印、反转、插入(头、尾、任意位置)、删除(指定位置)等典型功能,每一个操作都对应着真实项目和面试中的核心用法。单链表操作的熟练掌握,是通往高级数据结构、算法和工程开发的基础门槛。建议将本套练习反复复习、举一反三,结合实际项目和LeetCode题目进行巩固,逐步形成自己的数据结构体系。原创 2025-07-13 13:51:18 · 1127 阅读 · 0 评论 -
LRU缓存机制完全实战:链表的工程落地与面试通关
《LRU缓存机制完全实战:链表的工程落地与面试通关》是一篇深入讲解LRU缓存实现的技术文章。文章从LRU的基本概念入手,强调其作为算法和工程面试高频考题的重要性。核心内容详细剖析了如何通过双向链表+哈希表的组合实现O(1)时间复杂度的get和put操作,包括完整的C++代码实现、关键设计思路和工程优化技巧。文章还提供了链表相关的扩展练习题目,并指出LRU是检验链表综合应用能力的"大题",建议读者亲手实现以深入理解数据结构组合的威力。全文兼具理论深度和实践指导价值,既适合面试准备,也对实际原创 2025-07-12 18:34:24 · 880 阅读 · 0 评论 -
链表算法经典问题全解析
本文系统梳理了链表常见题型,包括反转链表、环检测、删除倒数第k节点、合并排序链表、回文判断等核心算法。通过快慢指针、虚拟头节点等技巧,配合代码示例与解题思路,帮助读者掌握链表操作要点,提升算法能力。涵盖迭代与递归实现,适合面试备考与日常练习。原创 2025-06-13 12:34:05 · 1108 阅读 · 0 评论 -
C++ 链表与排序:详解及实现
val:存储数据。next:指向下一个节点的指针。int val;双向链表(Doubly Linked List)还包含prev指针,指向前一个节点。排序算法时间复杂度适用场景归并排序O(n log n)适用于任何链表快速排序O(n log n)不太适合链表(需要额外优化)插入排序O(n²)适用于部分有序链表冒泡排序O(n²)不推荐选用建议若链表长度较大,推荐归并排序。若链表大部分已经有序,可选择插入排序。以上是关于链表排序的详细解析,希望对你有所帮助!原创 2025-03-16 16:59:35 · 497 阅读 · 0 评论 -
C++ 计算二叉树的最大深度
递归方法(DFS)适用于大多数情况,代码简洁直观,但深度过深时可能栈溢出。迭代方法(BFS)使用queue层序遍历,每层处理一次,适用于避免递归栈溢出的情况。如果你正在准备LeetCode或面试,建议两种方法都掌握,以便根据不同情况选择合适的方法!希望本篇文章对你有所帮助,欢迎讨论更多关于二叉树的问题!原创 2025-03-16 16:57:25 · 679 阅读 · 0 评论 -
每天设计者模式-2:如何夯实基础
真正夯实设计模式基础,需要理论+实践+思维训练的结合。✅理解模式的动机,知道它们解决了什么问题。✅手写代码,确保自己能独立实现每种模式。✅阅读开源代码,学习设计模式的实际应用。✅在项目中应用,通过实践加深理解。✅对比模式异同,形成更清晰的知识体系。✅刷面试题,提高自己的应对能力。💡如果你能做到以上几点,不仅在面试中游刃有余,在实际开发中也能写出更加优雅的代码!在接下来的文章中,我们将深入分析每种设计模式的原理、应用场景和最佳实践,敬请期待!原创 2025-02-21 13:15:10 · 754 阅读 · 0 评论 -
堆 和 栈
堆和栈是C++中两种重要的内存管理机制和数据结构,它们在应用场景和操作方式上存在显著差异。栈是一种后进先出的数据结构,自动管理局部变量和函数调用过程中的内存分配,具有高效的分配和回收速度,但空间有限,适用于生命周期短且数据量小的场景。堆则是一种树形结构,常用于优先级管理,在内存分配中由程序员手动管理。堆内存适合动态分配和跨越多个作用域的数据,但操作相对复杂,容易引发内存泄漏和性能问题。理解它们的特点和使用场景,有助于在程序开发中做出更高效的内存管理决策。原创 2024-10-22 09:44:59 · 1074 阅读 · 0 评论
分享