数据结构初阶-C语言(完结)
文章平均质量分 94
数据结构初阶
..过云雨
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
09.【数据结构-C语言】十大排序算法思想、实现及特性(插入、希尔、选择、堆排、冒泡、快排、归并、计数、桶排、基数排序)
本文介绍了常见排序算法(插入、希尔、选择、堆排序、冒泡、快排、归并、计数)及实现。主要内容:1.排序基本概念:稳定性、内部排序和外部排序;2.插入排序类(直接插入排序O(n²)稳定、希尔排序O(n^1.3)不稳定);3.选择排序类(直接选择O(n²)不稳定、堆排序O(nlogn)不稳定);4.交换排序类(冒泡O(n²)稳定、快速排序O(nlogn)不稳定);5.归并排序(O(nlogn)稳定)及非递归实现;6.非比较排序(计数排序O(n+k)、桶排序和基数排序)。最后对比了各算法的时间/空间复杂度。原创 2025-01-23 21:30:36 · 1750 阅读 · 0 评论 -
08.【数据结构-C语言】二叉树-链式结构(二叉树前序、中序、后续遍历,计算节点个数及高度,层序遍历,二叉树的创建和销毁)
本文介绍了链式二叉树的基本概念、结构及常见操作。主要内容包括:1.二叉树定义:递归式的数据结构,由根节点及其左右子树组成;2.二叉树遍历:详细讲解了前序、中序、后序三种递归遍历方式及其实现代码;3.二叉树基本操作:包括计算节点总数、叶子节点数、树高度,以及层序遍历的实现;4.二叉树构建与销毁:通过输入字符串构建二叉树的方法及内存释放过程。文中提供了完整的C语言实现代码,并针对常见错误进行了分析说明。原创 2025-08-13 14:38:45 · 1022 阅读 · 6 评论 -
07.【数据结构-C语言】二叉树-堆-顺序结构(树、二叉树、堆的概念,堆实现,向上调整&向下调整,建堆时间复杂度,堆的应用:堆排序、TOP-K问题)
本文系统介绍了树和二叉树数据结构及堆的实现与应用。主要内容包括:1)树的基本概念、术语(如度、深度、祖先等)和存储表示方法;2)二叉树的定义、特性(度≤2、有序性)和性质(如节点数公式n0=n2+1);3)堆的实现与应用,重点讲解了堆的向上/向下调整算法、插入删除操作及时间复杂度分析;4)堆在排序(堆排序)和TOP-K问题中的实际应用,提供了完整的代码实现。文章通过数学证明和示例代码,详细阐述了这些重要数据结构的概念原理和具体实现方法。原创 2025-08-13 14:33:30 · 995 阅读 · 3 评论 -
06.【数据结构-C语言】队列(先进先出,队列实现:入队列、出队列、获取队头or队尾元素,队列实现代码,队列相关题目)
本文介绍了队列的概念及其C语言实现。队列是一种先进先出(FIFO)的线性表,支持在队尾插入(入队)和在队头删除(出队)操作。文章详细讲解了使用链表实现队列的方法,包括队列结构体设计、初始化、销毁、入队、出队等基本操作。相比数组实现,链表实现能避免数组头出数据时的效率问题。实现要点包括:处理队列空/非空时的指针修改、维护队列大小、异常处理等。文末提供了完整代码下载链接,并列举了队列相关的典型题目,如用队列实现栈、循环队列等。该实现通过新增队列结构体简化了操作,避免了二级指针的使用。原创 2025-08-09 14:21:56 · 711 阅读 · 0 评论 -
05.【数据结构-C语言】栈(先进后出,栈的实现:进栈、出栈、获取栈顶元素,栈实现代码,括号匹配问题)
本文介绍了栈的概念及其数组实现方式。栈是一种遵循后进先出(LIFO)原则的线性表,只能在固定端(栈顶)进行插入(压栈)和删除(出栈)操作。相比链表,数组实现更优,因为尾部操作效率高。文中详细展示了栈的结构体定义(包含数组指针、栈顶位置和容量)以及核心操作:初始化/销毁、压栈(动态扩容)、出栈、获取栈顶元素、判空和元素计数。重点说明了数组实现时栈顶位置的处理方式(top指向实际栈顶的下一个位置),并提供了完整的C语言实现代码。原创 2025-08-09 14:21:18 · 1027 阅读 · 0 评论 -
04.【数据结构-C语言】贪吃蛇项目实现(控制台显示、Win32 API、游戏设计与分析、核心逻辑分析及代码实现)
摘要 本文详细介绍了使用C语言在Windows控制台环境下实现经典贪吃蛇游戏的全过程。项目通过Win32 API控制台操作、宽字符处理和链表数据结构等技术,实现了贪吃蛇的基本功能:方向控制、食物生成、蛇身增长、碰撞检测、得分计算等。文章分为游戏设计、技术实现和代码分析三部分,重点讲解了控制台坐标处理、宽字符显示、蛇身链表管理、游戏状态机等核心模块的实现方法,并提供了完整的代码示例。该项目可作为C语言学习者的综合编程实践案例,涵盖了函数、结构体、指针、内存管理等多项基础知识的应用。原创 2025-08-06 20:52:22 · 1662 阅读 · 3 评论 -
03.【数据结构-C语言】链表(链表概念;链表分类: 单链表、双向链表;单链表实现;带头循环双向链表实现;链表常见题目解析)
数据结构-C语言链表。主要内容包括:1)链表的概念和结构特点,物理非连续但逻辑连续;2)单链表和双向循环链表的实现方法,包括节点结构、插入删除操作和指针使用;3)链表与顺序表的优缺点比较,链表在插入删除效率上有优势;4)链表相关算法题目解析,涉及反转、合并、分割等操作。文章通过代码示例详细说明了链表的实现原理和操作方法,为数据结构学习提供了实用参考。原创 2025-08-06 20:50:51 · 1020 阅读 · 4 评论 -
02.【数据结构-C语言】顺序表(线性表概念、顺序表实现:增删查、前向声明、顺序表实现通讯录项目:增删改查、通讯录数据导入及保存到本地文件)
数据结构-C语言顺序表实现,通讯录项目实现:线性表概念;顺序表概念及分类,顺序表实现;使用顺序表实现通讯录项目:前向声明的概念及使用规则,通讯录的增删改查、通讯录数据的保存到本地文件、本地文件数据导入到通讯录中。原创 2025-08-06 18:40:54 · 1019 阅读 · 0 评论 -
01.【数据结构-C语言】数据结构概念&算法效率(时间复杂度和空间复杂度)
本文介绍了数据结构和算法的基础知识。数据结构是计算机存储和组织数据的方式,包含数组、链表等结构,用于高效管理数据。算法是将输入转为输出的计算步骤,其效率通过时间复杂度和空间复杂度衡量。时间复杂度使用大O表示法描述算法执行时间随数据规模增长的变化趋势,常见有O(1)、O(n)、O(n²)等。空间复杂度则衡量算法运行所需的额外存储空间。文章通过多个代码示例讲解了如何计算不同算法的时间复杂度,包括循环、递归等典型场景,并指出实际应用中更关注最坏情况下的性能表现。原创 2025-08-16 12:14:01 · 1114 阅读 · 7 评论
分享