数据结构02:线性表 链表习题02[C++]

考研笔记整理~🥝🥝 之前的博文链接在此:数据结构02:线性表[顺序表+链表]_线性链表-CSDN博客~🥝🥝 本篇作为链表的代码补充,供小伙伴们参考~🥝🥝 第1版:王道书的课后习题~🧩🧩 编辑:梅头脑🌸 参考用书:王道考研《2025年 数据结构考研复习指导》 目录 🧵09年 查找单链表倒数第k个位置的节点 🧵12年 寻找单链表的相同后缀 🧵15年 删除单链表中绝对值相等的节点 🧵19年 重新排列单链表中的...

深入理解数据结构第一弹——二叉树(1)——堆

前言: 准备工作:本人习惯将文件放在test.c、SeqList.c、SeqList.h三个文件中来实现,其中test.c用来放主函数,SeqList.c用来放调用的函数,SeqList.h用来放头文件和函数声明 一、什么是树 如图,其中0所在位置被称为树顶或者树根都可以,下面的称为子树,其中1所在分叉称为左子树,2所在分叉成为右子树 还有一些规则如下: 对于学过离散数学的同学来说这部分知识并不难,没有学...

数据结构——双向链表

上一章:数据结构——单向链表(C语言版)-CSDN博客 目录 什么是双向链表? 双向链表的节点结构 双向链表的基本操作 完整的双向链表示例 总结 什么是双向链表? 双向链表的节点结构 typedef struct Node { int data; struct Node* prev; struct Node* next;} Node; 双向链表的基本操作 初始化双向链表 Node* initLinked...

数据结构】五分钟自测主干知识(十)

上一节,我们讲述了二叉树的概念,二叉树又有什么基本操作呢?今天我们来讲述二叉树的应用~ 话不多说,书继上回 5.3二叉树的遍历及应用 二叉树由三个基本部分组成:根结点(D),左子树(L),右子树(R)。 因此,对二叉树的遍历可以分别对这三个部分进行。 如果遵循先左后右的原则,可以有三种遍历规则:DLR,LDR,LRD。 分别称为...

数据结构从入门到精通——希尔排序

希尔排序 前言一、希尔排序( 缩小增量排序 )二、希尔排序的特性总结三、希尔排序动画演示四、希尔排序具体代码实现test.c 前言 希尔排序是一种基于插入排序的算法,通过比较相距一定间隔的元素来工作,各趟比较所用的距离随着算法的进行而减小,直到只比较相邻元素的最后一趟排序为止。这种算法交换操作结合了直接插入排序和分组交换的思想,交换操作和移动操作相结合,相比于直接插入排序,希尔排序交换操作和移动操作相结...

【C++算法模板】并查集详解,一种处理不相交集合的合并与查询的数据结构

文章目录 0)概述1)数据结构2)核心函数1:find函数2:join函数 3)模板 0)概述 并查集是用于处理不相交集合的合并与查询的树形数据结构 1)数据结构 准备一个数组用于存储所有点的连通分量(父节点) const int maxn=2e5+5;int fa[maxn]; 2)核心函数 1:find函数 用于查询某个顶点的父节点 int find(int x) { if(x==fa[x]) r...

数据结构——队列(C语言版)

前言: 准备工作:本人习惯将文件放在test.c、SeqList.c、SeqList.h三个文件中来实现,其中test.c用来放主函数,SeqList.c用来放调用的函数,SeqList.h用来放头文件和函数声明 目录 什么是队列? 队列的节点结构 队列的基本操作 1、初始化 2、销毁 3、增加(插入数据) 4、删除 5、取队头、取队尾、取长度、判断头指针是否为空 完整的队列实例 总结 什么是队列? 队列...

数据结构——顺序表(C语言版)

目录 顺序表的结构定义 顺序表的基本操作 应用实例 顺序表的结构定义 首先,我们需要定义一个结构体来表示顺序表,包括数据元素数组和当前元素个数等信息: #define MAX_SIZE 100 // 定义顺序表的最大容量 typedef struct { int data[MAX_SIZE]; // 数据元素数组 int length; // 当前元素个数} SeqList; 顺序表的基本操作 初始化...

数据结构刷题专题】—— 二叉树

二叉树 二叉树刷题框架 二叉树的定义: struct TreeNode { int val; TreeNode* left; TreeNode* right; TreeNode(int x) : val(x), left(NULL), right(NULL);}; 1 二叉树的遍历方式 【1】前序遍历 class Solution {public: void traversal(TreeNode* ...

数据结构——单向链表(C语言版)

printList(head); return 0;} 通过以上步骤,我们实现了用C语言创建、插入、删除和遍历单向链表的基本操作。在实陧过程中,要注意内存分配和释放,避免内存泄漏。链表是一种重要的数据结构,掌握链表的实现原理对于理解其他数据结构和算法也非常有帮助。 在接下来我们也将学习双向链表等更有意思的东西,如果本篇有不理解的地方,欢迎私信我或在评论区指出,期待与你们共同进步。...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.007846(s)
2024-04-25 09:45:15 1714009515