数据结构与算法

《【初阶数据结构】从 0 到 1 速通顺序表:C 语言实现 + 手撕算法(附完整代码)》

本文详细介绍了线性表中的顺序表的概念以及以及其的接口如:增删查找等关键操作,最后通过算法题来感受顺序表的细节 文章目录 一、线性表是什么? 二、顺序表的概念及分类   1.概念   2.分类 三、动态顺序表的实现   1. 顺序表的初始化   2.顺序表的扩容   3. 顺序的尾插    4. 顺序表的头插    5. 尾删

基础算法篇(4)(蓝桥杯常考点)—数据结构(进阶)

前言这期将会讲到基础算法篇里面的数据结构(进阶),主要包括单调栈,单调队列,并查集,扩展域并查集,带权并查集,字符串哈希,Trie树。 数据结构(进阶)正文 单调栈 里面存储的单增或者单减的栈 应用: 1.寻找当前元素左侧,离它最近

剑指offer第2版:链表系列

一、p58-JZ6 从尾到头打印链表(递归/栈)从尾到头打印链表_牛客题霸_牛客网 解法1、递归,每访问一个节点时,先递归输出它后面的节点,再输出该节点自身,但是这样的话可能导致函数的调用层级很深,从而导致函数调用栈溢出。class Solution { public: void print(

【初阶数据结构】森林里的树影 “堆” 光:堆

文章目录 1.堆的概念及结构 2.堆的接口实现 2.1 堆的初始化 2.2 堆的销毁 2.3 堆的交换 2.4 堆的向上调整 2.5 堆的插入 2.6 堆的向下调整 2.7 堆的删除 2.8 堆顶获取 2.9 堆的判空 2.10 堆的节点个数 2.11 堆的打印 2.12 堆的排序(向上建堆) 2.13 堆的排序(向下建堆)

【多目标进化算法】NSGA-II 算法(结合例子)

目录一、NSGA-II 是干什么的?二、通过一个简单例子来解释例子:挑选手机三、NSGA-II 解决步骤1. 初始化种群2. 非支配排序(Fast Non-dominated Sorting)3. 拥挤度距离(Crowding Distance)4. 选择 + 交叉 + 变异5. 合并种群、排序、更新四、最后结果(Pareto前沿)五、Python 简易实现一、NSGA-II 是干什么的?NSGA

链表实战指南:手动实现单链表与双链表的接口及OJ挑战(含完整源码)

文章目录 一、链表的概念 二、链表的分类 三、手动实现单链表 1.链表的初始化 2.链表的打印 3.申请新的节点大小空间 4.链表的尾插 5.链表的头插 6.链表的尾删 7.链表的头删 8.链表的查找 9.在指定位置之前插入数据 10.在指定位置之后插入数据 11.删除指定节点 12.删除指定节点之后的数据 13.销毁链表 四、单链表的思考 五.经典链表OJ题

LQR算法在运动控制中应用——LQR算法原理以及公式推导,参数说明,调参方式以及代码实现

线性二次调节器(Linear Quadratic Regulator, LQR)是一种经典的最优控制算法,广泛应用于运动控制、机器人控制、航空航天等领域。LQR 通过设计状态反馈控制器,使系统在满足线性动态方程的同时,最小化一个二次型代价函数。 1. LQR 算法原理 1.1 基本思想LQR 的核心思想是: 系

炸裂!二叉树遍历的递归魔法与层序奥秘全解析,这波操作让你卷死算法岗面试官

炸裂!二叉树遍历的递归魔法与层序奥秘全解析,这波操作让你卷死算法岗面试官 二 叉 树 定 义 前 序 遍 历 定 义 递 归 实 现 中 序 遍 历 定 义 递 归 实 现 后 序 遍 历 定 义 递 归 实 现 层 序 遍 历 定 义 代 码 实 现 第 k 层 结 点 的 个 数 计 算 树 的 高 度

【数据结构与算法】206.反转链表(LeetCode)

反转链表 问题描述给定单链表的头节点 head,要求反转链表并返回反转后的链表头节点。题目传送门 思路一:创建新链表头插法核心思路:创建新链表,将原链表中的节点拿来头插 算法步骤 初始化新链表头节点 newhead 为 NULL 使用指针 pcur 遍历原链表 每次循环中: 保存 pcur 的下一个节点&#xff08