数据结构与算法

LeetCode 72. Edit Distance 题解

LeetCode 72. Edit Distance 题解题目描述给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作: 插入一个字符 删除一个字符 替换一个字符 示例 1:输入:word1 = "horse", word2 &#

数据结构--顺序表的基本功能

1.前言学顺序表之前,先了解一下什么是数据结构?想到用图书馆比喻很合适:书籍相当于数据,书架排列方式就是数据结构。数据结构又分为两大类:线性结构和非线性结构,线性结构包括:数组(连续内存存储)、链表(节点通过指针链接)、栈(后进先出

《 C++ 修炼全景指南:二十二 》突破算法极限:并查集如何轻松搞定最棘手的连通性问题?

摘要本篇博客深入探讨了并查集(Union-Find Set)的基础概念、实现与优化,涵盖了路径压缩与按秩合并的优化技术,讲解了并查集如何通过这些方法提升效率,达到接近常数时间复杂度 O(α(n))。此外,博客详细阐述了并查集在图算法(如 Kruskal 最小生成树)、网络连通性以及数据

链表(两数相加)(1)

一.题目2. 两数相加 - 力扣(LeetCode)二.思路讲解        2.1 审题        题目给出两个非空链表,每个链表表示一个非负整数,并且数字是逆序存储的,即链表的头节点对应数字的最低位。例如,链表 2->4->3 表示数字 342。我们需要将这两个数相加,并返回一个

LeetCode【刷题日记】一篇搞懂链表的删除

 🔥个人主页:北极的代码(欢迎来访) 🎬作者简介:java后端学习者 ❄️个人专栏:苍穹外卖日记,SSM框架深入,JavaWeb ✨命运的结局尽可永在,不屈的挑战却不可须臾或缺! 前言:前面我们学习了关于数组的算法题&#

Python数据结构与算法:非科班转码者的学习指南

Python数据结构与算法:非科班转码者的学习指南前言大家好,我是第一程序员(名字大,人很菜)。作为一个非科班转码、正在学习Rust和Python的萌新,最近我开始学习数据结构与算法。说实话,一开始我对这些概念感到非常头疼,尤其是算法部分,经常看得云里雾里。但随着学习的深入

【C++高阶系列】告别内查找局限:基于磁盘 I/O 视角的 B 树深度剖析与 C++ 泛型实现!(附B树实现源码)

🔥 本文专栏:C++高阶 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录:心态的强大,不是指那种如磐石般的纹丝不动,而是如流水般的“消化能力”。 哪怕这一刻你觉得自己像个被生活打散的零件,只要你的内核还没丢,你就拥有重

C语言实现堆与堆排序详解:从零手写到TopK算法及时间复杂度证明

从零开始手写堆:核心操作实现 + 堆排序 + TopK 算法 + 向上调整 vs 向下调整建堆的时间复杂度严密证明!原创 文章标签: C语言 数据结构 算法 堆排序 写在前面: 堆是算法面试中的高频考点,也是实现优先级队列、TopK、堆排序的基础。本文将使用 C语言 从零手写堆的各个接口&#

LeetCode 11. Container With Most Water 题解

LeetCode 11. Container With Most Water 题解题目描述给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构

优选算法——滑动窗口2

优选算法——滑动窗口 1.1004. 最大连续1的个数 III 题目描述 思路分析这道题的核心是:找一个最长的子数组,其中最多包含 k 个 0。经典的 滑动窗口 问题。为什么用滑动窗口? 我们需要连续区间 → 滑动窗口天然适合 窗口内维护「0 的个数 ≤ k」这个约束 窗口扩张:右指针右移,遇到 0 就计数 窗口收缩&#xf