- 博客(13)
- 收藏
- 关注
原创 数据结构:树和二叉树全解析
A (根, 层次1, 度2)/ \B C (B和C是兄弟, 层次2)/ \ \D E F (D、E是兄弟;F是B、C的堂兄弟, 层次3)/ \G H (G、H是兄弟, 层次4)- 叶子节点: D, G, H, F- 分支节点: A, B, C, E- 节点B的度: 2- 树的度: 2- 树的深度: 4- 节点G的祖先: A, B, E- 节点B的子孙: D, E, G, H二叉树是n(n≥0)个节点的有限集合,他或为空(n = 0);有且仅有一个称为根的节点;
2025-11-30 17:21:24
563
原创 数据结构与算法:数组和广义表全解析
摘要:本文系统阐述了数组和广义表的数据结构特性与应用。数组作为线性表的推广,具有同质元素、连续存储和固定维度的特点,支持高效随机存取,可通过行/列优先顺序实现多维映射。特殊矩阵(对称、三角、对角)通过数学公式压缩存储,稀疏矩阵采用三元组优化空间。广义表作为线性表的递归扩展,支持原子和子表元素嵌套,通过头尾链表或孩子兄弟链表实现存储,具备表头/表尾操作、长度深度计算等功能。两种结构分别适用于数值计算和复杂嵌套数据表示场景,构成程序设计的基础数据结构体系。
2025-11-19 16:42:29
694
原创 数据结构:串的全解析
本文全面介绍了串的基本概念、存储结构和运算实现,重点分析了BF和KMP两种串的模式匹配算法。主要内容包括: 串的基本概念 定义:由零个或多个字符组成的有限序列 相关概念:空串、空格串、子串、主串、串相等 串的存储结构 顺序存储(定长/动态) 链式存储(单字符/块链) 存储密度分析与比较 串的基本运算 赋值、比较、连接、子串提取等11种基本操作 详细算法实现与代码示例 模式匹配算法 BF算法:简单直观但效率低(O(mn)) KMP算法:通过next数组优化,避免回溯(O(n+m)) 两种算法的比较与适用场景
2025-11-04 14:46:18
810
原创 数据结构与算法:队列全解析
队列是一种遵循先进先出(FIFO)原则的线性数据结构,主要分为顺序队列和链队列两种实现方式。顺序队列通过数组存储,使用循环方式解决"假溢出"问题;链队列则通过链表实现,动态管理内存。队列的核心操作包括初始化、入队、出队、判空等,在解决实际问题时具有广泛应用。典型应用场景包括舞者配对问题(管理排队顺序)和迷宫最短路径问题(基于BFS算法)。队列的FIFO特性使其成为处理顺序相关问题的理想选择,能够高效实现公平调度和层次遍历等功能。
2025-10-28 21:31:11
1046
原创 数据结构与算法:栈的全解析(详细)
本文系统介绍了栈的定义、存储实现、递归应用及典型应用场景。栈是一种后进先出(LIFO)的线性表,支持在栈顶进行插入(Push)和删除(Pop)操作。文章详细阐述了顺序栈和链栈的实现方式,包括基本操作如初始化、入栈、出栈等。同时深入探讨了递归与栈的关系,指出递归本质是通过系统调用栈实现的,并以阶乘和汉诺塔为例说明递归过程。最后重点介绍了栈在数制转换、括号匹配和表达式求值中的实际应用,展示了如何利用栈的特性解决计算问题。
2025-10-28 15:57:51
1113
原创 数据结构与算法:线性表全解析
本文系统介绍了线性表及其实现方式。首先阐述了线性表的逻辑结构定义和抽象数据类型(ADT),包括初始化、插入、删除等基本操作。然后重点讲解了顺序存储的实现方式——顺序表,详细分析了插入、删除、查找等运算的时间复杂度(O(n)或O(1))。接着介绍了链式存储结构,包括单链表(头插法、尾插法)、循环链表和双向链表,比较了各种链表的操作特点及适用场景。文章最后通过约瑟夫问题展示了循环链表的实际应用,并对比了不同存储结构的优缺点。全文兼顾理论和实践,为数据结构学习提供了系统性的指导。
2025-10-25 16:35:53
918
原创 数据结构——第一章数据结构基础
本文系统介绍了数据结构的基本概念及其在C语言中的实现方式。主要内容包括:1. 数据结构的基本概念(数据、数据元素、数据项、数据对象);2. 数据逻辑结构分类(集合、线性、树形、图形结构);3. 数据存储结构(顺序、链式、索引、散列存储);4. 数据类型(原子类型、结构类型、抽象数据类型);5. 算法特性(有穷性、确定性等)及性能分析方法。文章通过C语言代码示例和概念对比,为理解数据结构提供了系统框架,并强调了选择合适数据结构对程序效率的重要性。
2025-10-13 14:02:55
588
原创 C语言——掌握C语言指针
本文系统讲解了C语言中指针与数组的核心概念及应用。主要内容包括:1. 内存、地址与内容的关系,指针的本质是内存地址;2. 指针变量的定义与初始化方法,强调避免野指针;3. 指针作为函数参数实现数据修改和高效传递;4. 指针与数组的密切关系,详细解析了通过指针访问数组元素的多种方法;5. 指针运算规则及常见应用场景。文章特别强调指针初始化的安全性、指针与数组的交互方式,以及函数参数传递中的指针使用技巧,为C语言指针学习提供了全面指导。
2025-10-09 13:38:17
600
原创 C语言——函数从入门到精通(万字讲解,全面详细)
本文系统介绍了C语言中函数的核心概念与应用。主要内容包括:1. 函数基本概念与结构(定义、参数、返回值)及分类(库函数与自定义函数);2. 函数调用机制(值传递、实参与形参关系)与返回值规则;3. 函数声明的必要性及使用方法;4. 嵌套调用与递归调用的原理与实现;5. 数组作为函数参数的特殊处理方式(一维/二维数组的参数传递)。通过具体代码示例,详细解析了函数定义、调用、参数传递等关键知识点,并特别强调了递归调用的终止条件和数组参数的指针特性。全文完整呈现了C语言函数模块的编程规范与核心技术要点。
2025-08-11 17:25:18
1906
原创 C语言一维数组与二维数组详解
摘要:本文系统介绍了C语言中数组的概念与应用,重点阐述了一维数组、二维数组和字符数组三大类型。一维数组部分详细讲解了定义初始化、元素访问、遍历操作及排序算法;二维数组部分着重解析了行列结构、内存存储方式及矩阵运算;字符数组与字符串部分则深入区分了两者差异,并介绍了常用字符串处理函数。文章通过实例代码演示了数组的典型应用场景,如成绩统计、矩阵操作等,并强调了数组越界、内存分配等注意事项,为C语言学习者提供了全面的数组使用指南。全文结构清晰,理论与实践结合紧密,适合编程初学者系统学习数组知识。
2025-08-03 22:53:46
1661
原创 C语言——算法的解析、循环语句:if语句、Switch语句、while语句、do…while语句、for语句详解
本文系统性地介绍了C语言中的程序控制结构,包括算法基础、顺序结构、选择结构和循环结构。算法部分阐述了算法的五大特性(有穷性、确定性、可行性、输入、输出)和5种描述方法(自然语言、流程图、伪代码、N-S图、C代码)。顺序结构讲解程序的基本执行流程;选择结构详细比较了if语句和switch语句的语法特点及应用场景;循环结构全面分析了while、do-while和for三种循环语句的执行逻辑、典型用法及注意事项,并深入探讨了循环嵌套的实现与应用。文章通过丰富的代码示例演示了各种控制结构的具体实现,帮助读者掌握C语
2025-07-29 13:29:15
1411
1
原创 C语言运算符全解析:近两万字讲解
C语言运算符分类与使用摘要 C语言提供了丰富的运算符,主要包括: 按功能分类:算术运算符、关系运算符、逻辑运算符、赋值运算符等 按操作数数量分类: 单目运算符:++、--、!、~、sizeof等 双目运算符:+、-、*、/、%、&&、||等 三目运算符:?:(条件运算符) 重点运算符说明: 算术运算符: 自增/自减运算符(++/--)有前缀和后缀区别 除法运算符/在不同类型下结果不同 取模运算符%要求操作数为整数 关系运算符:==、!=、>、<、>=、<=,返回0或1
2025-07-22 23:22:22
1367
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅