自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Leetcode力扣每日一题C语言实现1863. 找出所有子集的异或总和再求和

题目要求计算数组所有子集的异或总和之和。异或总和定义为子集元素逐位异或的结果。例如,数组[2,5,6]的子集包括空集、单个元素、两个元素组合及整个数组,每个子集的异或值相加即为最终结果。直接枚举所有子集的暴力法时间复杂度为O(2^N * N),难以处理较大数据。需寻找更高效的方法。关键观察:异或运算的每一位相互独立,可以按位分析。对于二进制第k位,若子集异或结果在该位为1,则其贡献为2^k。总目标是统计所有子集的异或结果中,每一位为1的总次数,并累加其贡献。结论:若数组中有cnt个元素的第k位为1,则当。

2025-04-05 12:15:54 962

原创 二叉树与通用树的结构差异及C实现

节点结构:每个节点最多包含两个子节点(左子节点、右子节点)。数学性质:高度为h的二叉树最多有2^h -1个节点。特殊类型满二叉树:所有非叶子节点都有两个子节点,且所有叶子在同一层。完全二叉树:除最后一层外,其他层节点全满,最后一层节点从左向右连续填充。二叉搜索树(BST):左子树所有节点值 < 根节点值 < 右子树所有节点值。平衡二叉树(AVL树):左右子树高度差不超过1,保证查询效率O(log n)。多子节点:每个节点可以有0到多个子节点(数量不固定)。应用场景文件系统目录结构。

2025-04-05 00:16:18 747

原创 C语言实现循环队列及基本操作

现代系统设计中,队列衍生出多种增强形态。其核心特性是元素的插入(入队)发生在队尾(Rear),而删除(出队)则从队头(Front)进行,类似于现实生活中的排队场景(如售票窗口)。这些演进形式突破传统队列的局限性,在保持顺序处理核心特征的同时,通过结构创新满足不同场景的特定需求。该实现完整展示了循环队列的核心特性,通过模运算实现高效的环形缓冲区操作,适合需要固定大小队列的场景。在计算机系统中,队列常用于管理需要按序处理的任务,例如操作系统的进程调度、消息队列的异步通信,以及广度优先搜索(BFS)算法。

2025-04-05 00:10:02 1089

原创 C语言实现栈结构及括号匹配算法

栈(Stack)是一种操作受限的线性数据结构,遵循后进先出(LIFO, Last In First Out)原则。其核心特点是只能在表的一端(称为栈顶)进行插入(压栈/Push)和删除(弹栈/Pop)操作,另一端称为栈底。这种受限操作使得栈天然具备“最近相关性”,即最后进入的元素最先被处理。

2025-04-05 00:08:43 926

原创 《C语言链表操作详解与实现示例》

链表(Linked List)是一种基础且重要的线性数据结构,通过节点间的指针关联实现动态存储。与数组的连续内存分配不同,链表的每个节点(Node)包含两部分:数据域(存储元素值)和指针域(指向下一个节点的地址)。这种离散存储特性使得链表在内存使用上更加灵活,无需预先分配固定空间。链表的优势在于高效的插入和删除操作(时间复杂度O(1)),但随机访问效率较低(O(n))。其内存开销略高于数组,因需额外存储指针。链表常用于实现栈、队列、图邻接表等场景,也是操作系统内存管理和LRU缓存算法的核心数据结构。

2025-04-05 00:04:22 879

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除