好好学习,天天向上

链表详解

链表详解本文详细介绍链表(Linked List)这种数据结构,包括单链表、双向链表的基本操作,以及链表相关的经典算法问题。 什么是链表?链表是一种线性数据结构,通过指针将一系列节点连接起来。与数组不同,链表中的元素在内存中不是连续存储的。
2024-01-01

常见排序算法详解

常见排序算法详解本文详细介绍常见的排序算法,包括算法原理、实现代码、复杂度分析和应用场景。 排序算法分类flowchart TD Root["排序算法"] Compare["基于比较的排序"] NonCom
2024-01-01

二叉树详解

二叉树详解本文详细介绍二叉树的相关知识,包括二叉树的基本概念、遍历方法、平衡二叉树和线索化等内容。 什么是二叉树?二叉树(Binary Tree)是每个节点最多有两个子节点的树结构。通常子节点被称作”左子节点”和”右子节点”。 二叉树的特点
2024-01-01

遍历搜索算法

遍历搜索算法图遍历是图算法的基础,主要有两种遍历方式:广度优先搜索(BFS)和深度优先搜索(DFS)。这两种算法在树、图的遍历、路径查找、连通性判断等问题中都有广泛应用。 广度优先搜索(BFS)基本概念广度优先搜索(Breadth-Fir
2023-07-28

背包问题

背包问题详解背包问题是动态规划领域的经典问题,核心思想是:在给定总容量/总预算限制下,如何选择物品,使得某个收益最大化。 物品有多种属性,在某一属性受限的情况下,另外属性能够获取的最大收益。根据物品的选择限制,背包问题主要分为三大类: 0
2023-07-28

单调栈

单调栈简介单调栈(Monotone Stack)是一种特殊的栈数据结构,栈内元素(从栈底到栈顶)保持单调递增或单调递减的性质。 单调栈的核心思想是:在维护栈的单调性的同时,利用出栈操作来解决问题。当新元素入栈时,会将所有破坏单调性的栈顶元素
2023-07-28

常见算法思想

常见算法思想记录 贪心算法贪心算法是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法不是对所有问题都能得到最优解,但对某些问题可以得到最优解,比如找零问题、区间覆盖、活动选择
2021-03-01

最长递增序列

最长递增子序列(Longest Increasing Subsequence, LIS)是指在一个给定的序列中,找到一个严格递增的子序列,并且这个子序列的长度是所有可能子序列中的最大值。 例如,对于序列 [10, 9, 2, 5, 3, 7
2020-11-09
2 / 2