《数据结构与算法》
文章平均质量分 92
这里专注“用数据结构解决真实问题”。从数组、链表、栈队列到树、堆、图与哈希,我会用直观示例、可运行代码和复杂度分析,讲清每个结构为何而生、如何选型、如何在工程中落地。愿你在这里把抽象概念转化为解决问题的工具,写出更快、更稳、更优雅的代码。
i-o-nia
抓紧时间!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【数据结构与算法】数据结构初阶:详解链式结构二叉树
本文介绍了链式结构二叉树的实现方法,包括节点定义、创建方式和多种遍历操作。重点讲解了递归实现的前序、中序、后序遍历算法,以及计算节点个数、叶子节点数、第k层节点数、树深度等重要功能。同时还提供了查找节点、销毁树、层序遍历和判断完全二叉树的实现方法。所有代码示例都配有详细注释,展示了二叉树递归特性的应用。文章最后给出了测试代码,验证了各种功能的正确性。这些基础算法为后续更复杂的二叉树操作奠定了基础。原创 2025-10-17 14:57:59 · 893 阅读 · 9 评论 -
【数据结构与算法】数据结构初阶:双向链表
本文介绍了双向链表的实现,重点讲解了带头双向循环链表的结构和操作。内容包括链表节点定义、初始化、插入/删除(头尾操作)、查找、销毁等核心功能的代码实现。通过对比顺序表和链表在存储方式、访问效率、插入/删除性能、空间利用率等方面的差异,突出了双向链表支持双向遍历的优势。文中提供了完整的C语言实现代码和测试用例,展示了双向链表的基本操作流程。原创 2025-10-14 20:57:07 · 1039 阅读 · 11 评论 -
【数据结构与算法】数据结构初阶:顺序表
本文介绍了线性表中的顺序表实现。顺序表是基于数组的动态数据结构,支持增删查改等操作。主要内容包括:1)顺序表分类(静态/动态);2)动态顺序表实现原理,重点讲解了2倍扩容策略和内存管理;3)核心操作实现(尾插/头插、尾删/头删、随机位置操作等),分析了时间复杂度;4)实际代码示例,展示了初始化、增容、插入删除等函数实现。顺序表适合随机访问和尾部操作,但中间插入删除效率较低。文章通过代码注释和测试案例,完整呈现了顺序表的数据结构实现过程。原创 2025-10-12 22:04:07 · 1344 阅读 · 16 评论 -
【数据结构与算法】数据结构初阶:详解二叉树-堆
本文系统介绍了树形数据结构,重点解析了二叉树及其应用。主要内容包括:1.树的基本概念与术语(根节点、度、层次等)及孩子兄弟表示法;2.二叉树的定义、分类(满/完全二叉树)与性质;3.堆的实现(大/小根堆)及核心算法(向上/向下调整),分析不同建堆方式的时间复杂度;4.堆排序原理与Top-K问题解决方案。通过代码示例演示堆操作和排序实现,并附有复杂度分析,为算法选择提供依据。文章最后给出测试案例验证算法正确性,完整呈现了树结构从理论到实践的知识体系。原创 2025-10-17 08:00:00 · 872 阅读 · 18 评论 -
【数据结构与算法】数据结构初阶:栈和队列
本文介绍了栈和队列两种线性数据结构。栈遵循后进先出原则,使用数组实现,包含初始化、压栈、出栈、取栈顶等操作。队列遵循先进先出原则,采用单链表实现,包含初始化、入队、出队、获取队首/队尾元素等操作。两种结构都提供了完整的C语言实现代码,包括数据结构定义、核心功能函数以及测试用例。栈通过数组实现时需动态扩容,队列通过链表实现时维护头尾指针以提高效率。文中详细分析了两种结构的特性差异和实现要点。原创 2025-10-14 21:52:22 · 519 阅读 · 8 评论 -
数据结构初阶:详解链表——单链表
本文介绍了单链表的基本概念和实现方法。单链表由节点组成,每个节点包含数据和指向下一个节点的指针。文章详细讲解了链表的各种操作:1. 申请节点和初始化链表;2. 尾插和头插的实现及区别;3. 尾删和头删的实现逻辑;4. 查找、指定位置插入/删除节点的方法;5. 链表的销毁过程。重点强调了二级指针在修改头指针时的必要性,以及不同操作下的边界条件处理。最后提供了测试代码验证链表功能。文章内容详实,涵盖了单链表的核心操作实现。原创 2025-10-13 21:52:39 · 1052 阅读 · 8 评论
分享