自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 蓝桥杯每日一练之使用栈解决迷宫问题(深度搜索)

maze = [dirs = [迷宫矩阵maze:这是一个二维列表,用来表示迷宫的布局。其中,0代表该位置是通路,1代表该位置是墙壁,不能通行。方向函数列表dirs:这是一个包含四个匿名函数(lambda函数)的列表,每个函数代表一个移动方向。:表示向左移动,即横坐标x不变,纵坐标y减 1。:表示向下移动,即横坐标x加 1,纵坐标y不变。:表示向右移动,即横坐标x不变,纵坐标y加 1。:表示向上移动,即横坐标x减 1,纵坐标y不变。

2025-03-04 17:31:41 869

原创 蓝桥杯每日一练之 查找排序习题 2

给你一个满足下述两条属性的。

2025-02-28 20:12:28 235

原创 蓝桥杯每日一练之 查找排序习题 1

【代码】蓝桥杯每日一练之 查找排序习题 1。

2025-02-26 23:58:20 195

原创 蓝桥杯每日一练之 基数排序

基数排序是基于桶排序的思想,它将整数按位数切割成不同的数字,然后按每个位数分别进行排序。具体来说,它从最低位开始,依次对每一位数字进行排序,直到最高位排序完成。在每一轮排序中,会根据当前位的数字将元素分配到不同的桶中,然后再按照桶的顺序依次收集元素,这样经过若干轮后,数据就会完全有序。用基数排序对有限数进行排序。

2025-02-26 23:18:26 1046

原创 蓝桥杯每日一练之 桶排序

桶排序(Bucket Sort)是一种分布式排序算法,它的工作原理是将数组元素分配到有限数量的桶里,每个桶再分别进行排序(可以使用其他排序算法,如插入排序),最后将所有桶中的元素按顺序合并起来,得到最终的排序结果。对已知最大数的列表进行排列。

2025-02-25 16:45:59 450

原创 蓝桥杯每日一练之 希尔排序

这种希尔排序算法在处理中等规模的数据时,性能通常比普通插入排序要好,因为它利用了插入排序在部分有序序列上性能较好的特点,通过逐步缩小间隔,让序列逐渐变得更加有序,最终达到整体有序的目的。希尔排序是一种基于插入排序的改进排序算法,它通过将数组分成多个子序列进行插入排序,最终达到整体有序的目的。运用希尔排序对随机数组进行排序。

2025-01-20 21:19:23 450

原创 蓝桥杯每日一练之 NB三人组小结

1.如上图所示,时间复杂度都很好理解,至于这个空间复杂度,因为快排和归并排序涉及到递归算法,所以他的空间复杂度会变成O(n)2.关于稳定性这块,大家可能不是很好理解,排序算法的稳定性是指在排序过程中,相等元素的相对顺序是否保持不变。因此,像pycharm的内置排序函数就是选择的归并排序,以确保排序速度和稳定性。具体代码大家可以自己去尝试,在这里我就不逐一罗列,有需要的可以去看我之前的文章。,其中年龄相同的员工按照加入公司的先后顺序排列,现在要按照年龄对员工进行排序。总结NB三人组的算法优劣。

2025-01-18 16:01:41 1311

原创 蓝桥杯每日一练之 NB组 之 归并排序

归并排序的基本思想是将一个数组分成两个子数组,对每个子数组进行排序,然后将排序好的子数组合并成一个最终的排序数组。这个过程是递归进行的,直到每个子数组只包含一个元素,因为单个元素的数组可以被认为是已经排序好的。在合并步骤中,将两个已排序的子数组合并成一个更大的已排序数组。**空间复杂度**:归并排序需要额外的空间来存储临时的合并结果,其空间复杂度为 O(n),因为在合并过程中,需要创建一个大小为 n 的临时数组来存储合并后的元素。是一个临时列表,用于存储合并过程中的元素。函数将排序好的左右子列表合并。

2025-01-16 19:47:44 596

原创 蓝桥杯每日一练之堆排序(topk问题)

2.依次向后遍历原列表,对于列表中的元素,如果小于堆顶,则忽略该元素;如果大于堆顶,则将堆顶更换为该元素,并且对堆进行一次调整;排序后切片 O(nlogn)堆排序思路 O(nlogk)1.取列表前k个元素建立一个小根堆。堆顶就是目前第k大的数。排序low B三人组 O(kn)3.遍历列表所有元素后,倒序弹出堆顶。现有n个数,设计算法得到前k大的数。

2024-11-13 20:34:21 1129

原创 蓝桥杯每日一练之 NB组 之堆排序

首先进行堆排序的第一步,构建大根堆。创建一组随机数并用堆排序来排序。

2024-11-07 21:44:07 464

原创 蓝桥杯每日一练——数组中的第k个最大元素(快速排序)

只要右指针所指元素小于等于基准值,就继续向左移动右指针。只要左指针所指元素大于等于基准值,就继续向右移动左指针。:返回基准值的位置索引,这个索引将用于后续的快速排序或快速选择等算法中,以确定进一步处理的子区间。:当找到第一个大于基准值的元素时,将这个元素放到左边,即将右指针所指元素赋值给左指针所指位置。:当找到第一个小于基准值的元素时,将这个元素放到右边,即将左指针所指元素赋值给右指针所指位置。:循环结束后,将基准值放到正确的位置,此时左指针所在位置就是基准值的最终位置。个最大的元素,而不是第。

2024-11-06 21:09:46 558

原创 蓝桥杯每日一练——有序数组找唯一数

1.暴力解法:直接遍历数组,因为每个元素都出现两次,唯有一个数出现一次,当遍历到一个元素与下一个元素不相等时,那么这个元素就是唯一的数。如果遍历完整个数组都没有找到唯一的元素,那么唯一的元素就是数组的最后一个元素。,每个元素都会出现两次,唯有一个数只会出现一次,请找出这个唯一的数字。给定一个只包含整数的有序数组。

2024-11-06 20:36:26 769

原创 蓝桥杯排序算法之low B三人组——冒泡,插入,选择

冒泡排序:它重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢 “浮” 到数列的顶端(升序或降序排列)。选择排序:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。插入排序:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。

2024-11-05 18:58:10 527

原创 蓝桥杯每日一练--搜索旋转排序数组

整数数组nums按升序排列,数组中的值。在传递给函数之前,nums在预先未知的某个下标k)上进行了,使数组变为(下标计数)。例如,在下标3处经旋转后可能变为。给你的数组nums和一个整数target,如果nums中存在这个目标值target,则返回它的下标,否则返回-1。你必须设计一个时间复杂度为O(log n)的算法解决此问题。4-1-1。

2024-10-31 19:43:49 527

原创 蓝桥杯每日一练--二分查找

每日一练第二天~~提示:以下是本篇文章正文内容,下面案例可供参考顺序查找遍历整个列表,逐个比较元素与目标值,时间复杂度为 O(n),其中 n 是列表的长度。二分查找利用了列表的有序性,每次将搜索范围缩小一半,时间复杂度为O(logn)。当列表较大时,二分查找的效率明显高于顺序查找。

2024-10-31 16:01:32 554

原创 蓝桥杯每日一练--汉诺塔问题

蓝桥杯每日一练

2024-10-30 21:34:31 449 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除