
数据结构
文章平均质量分 86
passion更好
在读研究生,记录学习过程,私信看到就回
展开
-
数据结构与算法——深度优先搜索(DFS)和广度优先搜索(BFS)
深度优先搜索是一种用于遍历或搜索树或图的算法。它从根节点(或起始节点)开始,沿着树的深度遍历树的节点,尽可能深地搜索树的分支。当节点v的所在边都已被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这个过程一直进行到已发现从源节点可达的所有节点为止。深度优先搜索通常使用递归或栈来实现。原创 2024-08-29 17:12:20 · 1179 阅读 · 0 评论 -
数据结构与算法——动态规划
动态规划的核心思想:将大问题分解为小问题,通过解决小问题来逐步解决大问题,并且存储已解决的小问题的答案,以避免重复计算。如果我们知道了找给顾客任意小于或等于30元金额的最少硬币数量(即所有子问题的最优解),那么我们就可以通过组合这些最优解来找到找给顾客30元的最少硬币数量(即原问题的最优解)。是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。一个问题的最优解包含其子问题的最优解,即可以通过组合子问题的最优解来构造原问题的最优解。原创 2024-08-25 14:52:26 · 1141 阅读 · 0 评论 -
LeetCode笔记——链表
请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回。指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。不作为参数进行传递,仅仅是为了标识链表的实际情况。如果链表中存在环,则返回。,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪。来表示链表尾连接到链表中的位置(索引从 0 开始)。,请你判断该链表是否为回文链表。,请你反转链表,并返回反转后的链表。给你两个单链表的头节点。给你一个单链表的头节点。给你一个链表的头节点。原创 2024-08-20 18:30:51 · 1069 阅读 · 0 评论 -
数据结构与算法——滑动窗口
滑动窗口是指通过左右两个指针(或索引)来标记窗口的左右边界,随着指针的移动,窗口内的元素不断变化,从而实现对数组或字符串中连续子序列的操作。原创 2024-08-19 18:54:18 · 906 阅读 · 0 评论 -
数据结构与算法——贪心算法
但是,每个孩子最多只能给一块饼干。贪心算法(Greedy Algorithm),又称贪婪算法,是一种在每一步选择中都采取当前状态下最优(即最有利)的选择,从而希望导致结果是全局最优的算法策略。这种算法并不保证在所有情况下都能找到全局最优解,但在许多实际问题中,它能够以较高的效率得到相当不错的解,甚至是最优解。它并不从整体最优的角度去考虑问题,而是通过在每个阶段选择当前状态下的最优解,来逐步逼近全局最优解。这种策略的关键在于贪心选择性质,即每一步的选择都是基于当前状态的最优解,而不考虑未来的状态或整体情况。原创 2024-08-11 21:13:51 · 727 阅读 · 0 评论 -
数据结构与算法——矩阵
矩阵(Matrix)是一个按照长方阵列排列的复数或实数集合,它是一个二维的数据结构,由行和列组成,通常用来表示二维的数据集合。在数学中,矩阵最早来自于方程组的系数及常数所构成的方阵,这一概念由19世纪英国数学家凯利首先提出。在数据结构中,矩阵主要讨论如何在节省存储空间的前提下,正确高效地运算矩阵。原创 2024-08-02 11:17:36 · 2559 阅读 · 0 评论 -
数据结构与算法——双指针
双指针是一种算法技巧,通常用于在数组或链表等数据结构上进行高效的遍历和查找。双指针技术利用两个指针(或索引)来遍历数据结构,这两个指针可以在数据结构上移动,以协助解决特定的问题。双指针技术的目的是通过减少不必要的遍历,降低算法的时间复杂度。移动到数组的末尾,同时保持非零元素的相对顺序不变。你必须在原地(不使用额外数组)修改输入数组并在使用 O(1) 额外空间的条件下完成。个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。轴共同构成的容器可以容纳最多的水。原创 2024-07-30 15:48:39 · 1105 阅读 · 0 评论 -
数据结构与算法——哈希表
数组的索引位置由哈希函数确定,但由于哈希函数的输出范围可能远大于数组的实际大小,因此会出现多个键映射到同一个索引位置的情况,即冲突。:用于将键(Key)映射到数组的一个索引位置。理想的哈希函数能够将不同的键均匀地映射到数组的不同位置,以减少冲突(Collision)的发生。:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回它们的数组下标。:使用哈希表存储所有数字,然后遍历哈希表,对于每个数字,如果它减一不在哈希表中,则从它开始计算连续序列的长度。原创 2024-07-30 15:09:03 · 1108 阅读 · 0 评论 -
数据结构与算法——二分查找
问题描述:在一个升序排列的数组中查找最后一个等于给定值的元素的索引,如果不存在则返回-1。// 继续向右查找看是否有更大的索引也等于target} else {原创 2024-07-23 10:27:13 · 418 阅读 · 0 评论