- 博客(7)
- 收藏
- 关注
原创 数据结构第四篇 —— 队列
本文介绍了队列的基本概念和三种实现方式:顺序队列、循环队列和链式队列。顺序队列使用数组实现,面临假溢出的问题;循环队列通过取模运算优化空间使用;链式队列则利用链表实现动态存储。文章详细讲解了每种实现方式的初始化、判空、入队和出队操作的关键代码,并提供了完整的代码示例。这些实现方式各有特点,适用于不同应用场景,为理解队列这一数据结构提供了全面的技术参考。
2025-11-09 17:10:16
417
原创 数据结构第三篇 —— 栈
栈是一种后进先出(LIFO)的数据结构,仅允许在栈顶进行插入(Push)和删除(Pop)操作。栈可以通过数组(顺序栈)或链表(链式栈)实现:顺序栈操作高效但容量固定,链式栈可动态扩容但有额外指针开销。核心操作包括入栈、出栈、查看栈顶等。栈广泛应用于函数调用、表达式求值、括号匹配、DFS算法等场景。时间复杂度上两种实现均为O(1),选择依据在于数据规模是否确定。
2025-11-02 16:36:32
939
1
原创 数据结构第五篇 —— 树
树是由n(n≥0)个节点组成的有限集合有且仅有一个根节点(无父节点的节点);其余节点可分为若干个互不相交的子树,每个子树本身也是一棵树。树的结构是非线性的层次结构,体现 “一对多” 的关系(一个父节点可对应多个子节点)。
2025-11-02 12:40:27
1014
1
原创 数据结构第二篇——链表
单链表由节点(Node)组成,每个节点包含存储数据的data字段和指向后续节点的指针next。节点与链表定义// 存储数据// 指向后续节点的指针} Node;通过结构体Node定义单链表的基本单元,ElemType的通用定义(此处为int)可灵活适配不同数据类型,只需修改即可切换存储类型。初始化链表initList函数创建链表的头节点(哨兵节点),头节点不存储实际数据,仅用于简化链表操作(如统一插入、删除的边界处理)。// 为头节点分配内存// 检查内存分配是否成功。
2025-10-26 16:52:12
956
1
原创 数据结构第一篇 —— 顺序表
顺序表是一种线性表的实现方式,通过连续内存存储数据。本文介绍了顺序表的定义与初始化、元素的添加和遍历、插入与删除以及查找操作。顺序表使用结构体定义,包含数据数组和长度变量,初始化时将长度置0。尾部添加元素时需判断表是否已满,遍历则直接打印所有元素。插入和删除操作需检查位置合法性,并移动元素调整空间。查找功能通过遍历实现。代码示例展示了顺序表的基本操作流程,包括初始化、添加、插入、删除和查找元素。
2025-10-19 15:33:06
606
1
原创 JavaScript中的函数
本文系统梳理了JavaScript函数的核心知识。首先介绍了函数的基本使用,包括定义、调用、参数传递和返回值。其次讲解了匿名函数的两种使用方式:函数表达式和立即执行函数(IIFE),后者可避免全局污染。最后详细说明了箭头函数的5个简化规则及其特性,强调箭头函数不绑定this且适用于匿名函数场景。文章通过代码示例展示了各种函数的实际应用,帮助开发者深入理解JavaScript函数这一核心机制。
2025-10-12 14:50:19
289
1
原创 面试常考——CSS选择器和权重问题
本文系统介绍了CSS选择器的核心知识点,包括基本选择器和复合选择器两大类。基本选择器涵盖元素选择器、类选择器、ID选择器和通配符选择器,分别通过标签名、class属性、id属性进行元素选择,或者选择所有元素。复合选择器则包括交集选择器和并集选择器,能够实现更精准的元素定位。文章通过具体代码示例详细解析了每种选择器的语法特点和应用场景,帮助开发者理解如何灵活运用这些选择器来精确控制网页元素的样式表现,为前端开发面试提供扎实的知识储备。
2025-10-06 14:44:14
1409
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅