
算法
文章平均质量分 82
算法篇
曙曙学编程
努力学编程!!!!!
展开
-
算法——双指针
双指针算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解递推。双指针算法涉及使用两个指针(索引或引用),通常分别称为“快指针”和“慢指针”或“左指针”和“右指针”,以协同进行遍历或搜索。该算法的核心思想是通过移动这两个指针来实现特定的目标,例如寻找一对元素的和、判断是否存在某种关系或在特定条件下移动其中一个指针。原创 2024-11-06 22:43:41 · 1278 阅读 · 0 评论 -
算法——递推
递推算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解递推。递推算法(也称为递归算法或迭代算法,视具体实现而定)是一种通过已知信息逐步推导未知信息的算法设计技术。它通常用于解决那些可以分解为相似子问题的问题。递推算法的核心思想是利用已经计算出的结果来推导新的结果,从而避免重复计算,提高效率。综上所述,递推算法是一种简单而高效的算法思想,在求解具有递推关系的问题中具有重要作用。原创 2024-11-03 22:12:36 · 2022 阅读 · 0 评论 -
必学算法——哈希算法
哈希算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解哈希算法。哈希算法,也称为散列算法,是一种数学函数或算法,它能够将任意长度的数据(称为“消息”)转换为固定长度的字符串(称为“哈希值”或简称“哈希”)。学习算法是一个很艰难,漫长的过程,我们要克服一切困难,学习算法本就是由易到难,我相信通过我们坚持不懈的努力一定能理解并熟练掌握其中细节,加油,我相信你一定能行。原创 2024-10-29 23:23:01 · 1823 阅读 · 0 评论 -
必学排序算法——堆排序
堆排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解堆排序算法。堆排序(Heap Sort)是一种基于堆数据结构的比较排序算法。堆是一个近似完全二叉树的结构,分为最大堆和最小堆。在最大堆中,父节点的值总是大于或等于其子节点的值;而在最小堆中,父节点的值总是小于或等于其子节点的值。堆排序通常使用最大堆来升序排序数组,使用最小堆则可以降序排序数组。原创 2024-10-27 21:30:45 · 2171 阅读 · 0 评论 -
必学排序算法——基数排序
基数排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解基数排序算法。基数排序(Radix Sort)是一种非比较型整数排序算法,通常用于对数字进行排序。它的基本思想是将数字按位(从最低有效位到最高有效位,或从最高有效位到最低有效位)进行排序,通常使用计数排序或桶排序作为子排序算法。基数排序的时间复杂度为 O(nk),其中 n 是待排序的数字个数,k 是数字的最大位数。原创 2024-10-25 20:36:56 · 2042 阅读 · 0 评论 -
必学排序算法——桶排序
桶排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解桶算法。桶排序(Bucket Sort)是一种基于分配策略的排序算法,其工作原理是将数组分到有限数量的桶子里,然后对每个桶内的元素进行排序(可能再使用其他排序算法或是以递归方式继续使用桶排序),最后合并所有已排序的桶,从而完成整个数据集的排序。原创 2024-10-23 22:13:35 · 4478 阅读 · 1 评论 -
必学排序算法——快速排序
快速排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解归并快速算法。快速排序(Quick Sort)是一种高效的排序算法,采用分治法(Divide and Conquer)策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。学习算法是一个很艰难,漫长的过程,我们要克服一切困难,学习算法本就是由易到难,我相信通过我们坚持不懈的努力一定能理解并熟练掌握其中细节,加油。原创 2024-10-21 21:58:32 · 1934 阅读 · 0 评论 -
必学排序算法——归并排序
归并排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解归并排序算法。归并排序(Merge Sort)是一种经典的分治算法,它采用分治法将一个数组分成若干个子数组,分别对每个子数组进行排序,然后再将已排序的子数组合并成一个完整的排序数组。归并排序的时间复杂度为 O(nlogn),且它是一个稳定的排序算法。原创 2024-10-19 23:06:28 · 1451 阅读 · 0 评论 -
必学排序算法——计数排序
计数排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,并且在一些公司面试题中都可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解计数排序算法。计数排序(Counting Sort)是一种非比较型整数排序算法,适用于一定范围内的整数排序。其基本思想是通过计数来确定每个值在数组中出现的次数,然后根据这些计数来确定每个元素在排序后数组中的位置。计数排序的时间复杂度为 O(n + k),其中 n 是待排序数组的长度,k 是待排序数组中的最大值与最小值之差,原创 2024-10-18 22:43:15 · 1054 阅读 · 0 评论 -
必学的排序算法——冒泡排序
冒泡排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解冒泡排序算法。冒泡排序(Bubble Sort)是一种简单的排序算法,其基本思想是通过多次遍历待排序的数列,比较相邻元素的值,并在必要时交换它们的位置,从而将最大的元素逐步“冒泡”到数列的末尾。这个过程会重复进行,直到整个数列有序为止。原创 2024-10-16 23:20:52 · 3691 阅读 · 0 评论 -
必学排序算法——插入排序
插入排序算法是必须掌握的一种基础算法,在一些比较出名的竞赛acm、蓝桥杯,可能会出现,而且作为简单题我们必须要拿下,所以我们要引起重视,下面让我们来深入了解插入排序算法。插入排序(Insertion Sort)是一种简单直观的排序算法,其工作原理类似于我们平时整理扑克牌或手写数字时的排序方式。该算法的核心思想是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。原创 2024-10-17 23:27:47 · 953 阅读 · 0 评论 -
必学的简单排序算法——选择排序(c++)
排序算法虽然简单,但是我也要掌握熟练应用,因为学习算法这个复杂的过程,我们应该由浅到深,由简单到复杂,并且该算法在acm,蓝桥杯等算法竞赛中可能会用到。让我们来深入了解该算法。选择排序是一种简单的排序算法,**它的基本思想是每次从未排序的部分中选择最小的元素,与未排序部分的第一个元素交换位置。**这样,每次选择后,已排序的部分就增加一个元素,未排序的部分就减少一个元素,直到整个数组都排序完成。选择排序的时间复杂度是O(n^2),空间复杂度是O(1)。原创 2024-10-15 23:27:03 · 1432 阅读 · 0 评论 -
一定要掌握的算法——前缀和(C++)
前缀和是一种非常简单的算法,但是我们也要熟练掌握,前缀和算法是一种用于快速求解一系列数据中某个区间内所有数值和的技巧。它通过一次性计算出从数组开始到每个位置的累积和,从而使得任何区间的和都可以通过简单的减法操作在常数时间内得到。原创 2024-10-14 22:20:43 · 628 阅读 · 0 评论 -
必学算法——滑动窗口
众所周知,滑动窗口算法是算法学习中必须要掌握的算法之一,在蓝桥杯,acm,力扣等编程竞赛的题目中会出现,该算法还不算很难搞懂,是基础算法之一,所以我们要打好基础,下面让我们来学习滑动窗口。原创 2024-10-10 23:13:32 · 1330 阅读 · 0 评论 -
经典哈希算法题——字符串统计
用unordered_map库定义一个键为string,值为int的哈希表,将将字符串中的每一个字符成为哈希表的键,若是从未出现过该键就给该键对应的值赋值为1,哈希表的大小即为所有不同键的个数。原创 2024-10-08 22:31:03 · 251 阅读 · 1 评论 -
经典双指针算法题——回文判定
定义两个指针分别为数组左右两端,让两个指针往数组中间跑,若是回文串跑到到左指针大于等于右指针即结束(L>=r),若其中左指针不等于右指针(s[l]!=s[r])则不是回文串则跳出循环。原创 2024-10-08 22:06:17 · 219 阅读 · 0 评论 -
必学算法——二分查找
二分查找是是必学算法之一,蓝桥杯、acm等竞赛都大概率会出现,面试的时候也需要用到,所以我们要熟练掌握,下面让我们来深入了解二分查找的应用场景。原创 2024-10-13 10:58:31 · 646 阅读 · 0 评论