数据结构与算法

C++ 贪心算法(Greedy Algorithm)详解:从思想到实战

贪心算法是一种在每一步决策中都采取当前 "当前最优" 选择的算法思想,它通过局部局部最优解来期望获得全局最优解。尽管并非所有问题都适用,但在具有贪心选择性质和最优子结构的问题中,贪心算法能以极高的效率(通常是线性或线性对数级)给出最优解。本文将从贪心算法的核心思想出发,结合 C++

【数据结构】LeetCode160.相交链表 138.随即链表复制 牛客——链表回文问题

文章目录 一、相交链表问题 问题描述 解题思路分析 思路一:暴力遍历法 思路二:双指针对齐法(最优解) 二、链表的回文结构 问题描述 解题思路 完整代码 三、 随即链表的复制 问题描述 解题思路 复杂度分析 一、相交链表问题 问题描述给定两个单链表,判断它们

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

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

ADaM:EQ-5D量表的处理

前面文章介绍了EQ-5D量表SDTM的处理(SDTM:EQ-5D量表的Mapping),这篇介绍ADaM的处理。 文章分为2部分,前一部分是,Index Value的获取;后一部分,是SAS编程的注意点。 科研人员应该是比较关心Index Value的获取。后半部分,对纵向数据集的横向处理方法,SAS程序员可以留意一下,建议使用Data步中的Retain语句。 ADaM的处理时基于分析的需要,SA

如何在docker中的mysql容器内执行命令与执行SQL文件

通过 docker ps -a 查询当前运行的容器,找到想执行命令的容器名称。docker ps -a 若想执行sql文件,则将sql文件放入当前文件夹下后将项目内的 SQL 文件拷贝到 mysql 容器内部的 root下。sudo docker cp /root/enterprise.sql mysql:/root/ 然后进入 mysql 容器内部。docker ex

力扣Hoot100-最小覆盖子串

LeetCode最小覆盖子串|滑动窗口+字符计数,从踩坑到AC完整复盘Hello 算法人!今天跟大家分享一道LeetCode经典难题——最小覆盖子串(LeetCode 76),这道题是「滑动窗口」+「字符计数」的完美结合,也是我踩了好几个坑才彻底搞懂的题目。本文会从题目解析、核心思路、

【数据结构与算法】刷题篇——876.链表的中间节点(LeetCode)

文章目录 链表的中间节点 问题描述 核心方法:快慢指针 算法原理 算法可视化 奇数节点情况 (1→2→3→4→5) 复杂度分析 边界情况处理 总结 链表的中间节点 简洁高效地定位链表中心节点是链表操作的基础技能[toc] 问题描述给定一个非空的单链表,返回链表的中间节点。如果有两个中间节点(链表长度为偶

组件分享之后端组件——超轻量级的工作流引擎go-workflow

组件分享之后端组件——超轻量级的工作流引擎go-workflow 背景 近期正在探索前端、后端、系统端各类常用组件与工具,对其一些常见的组件进行再次整理一下,形成标准化组件专题,后续该专题将包含各类语言中的一些常用组件。欢迎大家进行持续关注。 组件基本信息 组件:go-workflow 内容 本节我们分享一个超轻量级的工作流引擎go-workflow,基本架构同Activiti工作流有些相似

LSM Tree 数据库底层索引

数据库中非常常用的索引数据结构——B+ 树,在过去很多年里它都是数据库索引的首选实现方式,但是这种数据结构也并不是很完美。因为,每次修改数据都很有可能破坏 B+ 树的约束,我们需要对整棵树进行递归的合并、分裂等调整操作,而不同节点在磁盘上的位置很可能并不是连续的,这就导致我们需要不断地做随机写入的操作,而随机写入的性能是比较差的,这个问题在写多读少的场景下会更加明显。 LSM Tree(Log S

C++寻位映射的奇幻密码:哈希

文章目录 1.什么是哈希? 2.哈希的常见实现方法 2.1 直接定址法 2.2 除留余数法 3.哈希冲突 4.哈希冲突的解决 4.1 闭散列 4.1.1 线性探测 4.1.1.1 哈希表的基本数据结构 4.1.1.2 哈希表的key转换 4.1.1.3 哈希表的插入 4.1.1.4 哈希表的查找 4.1.1.5 哈希表的删除 4.