蓝桥杯真题及原理讲解
文章平均质量分 55
深度讲解蓝桥杯真题必备知识原理
小森( ﹡ˆoˆ﹡ )
(ง •̀_•́)ง加油
展开
-
DFS算法及应用
搜索算法:穷举问题解空间所有情况深度优先搜索:既暴力枚举,尽可能一条路走到底,走不了再回退给定一个数字x,将其拆分成3个正整数,后一个要求大于等于前一个,给出方案.就需要实现n重循环n重循环=特定的树状结构=DFS搜索给定一个数字x=6,将其拆分成3个正整数,后一个要求大于等于前一个,给出方案。原创 2024-02-23 11:48:00 · 1243 阅读 · 0 评论 -
数据结构算法--4堆排序
将9拿下来,为了节约内存,提高利用率,可以将9放到3(最后一个元素),然后3放到堆顶,再此经过调整,3放到合适的位置并且除了9的最大元素又被调到堆顶。每次经过调整,整个堆的最后几个元素不断形成有序区,即,大根堆在不断变小。我们可以看出是从最后一个元素的根节点开始调整,即5,9,1...首先我们要调整一个无序列表等成为一个大根堆(先将列表看成一个堆)列表长为n=len(li),所以5的下标为(n-2)//2。我们要从最末尾开始调整,才能保证大元素一步步被调上去。此时是建立堆后的大根堆模型。原创 2023-08-22 09:42:25 · 1344 阅读 · 7 评论 -
数据结构算法--2 冒泡排序,选择排序,插入排序
思想就是将相邻元素两两比较,当一个元素大于右侧相邻元素时,交换他们的位置,小于右侧元素时,位置不变,最终序列中的最大元素,像气泡一样,到了最右侧。这时冒泡排序第一轮结束,数列最右侧元素9的位置可认为是一个有序区,有序区目前有一个元素.第二轮排序结束后,数列右侧的有序区有了两个元素.由于该排序算法每一轮都要遍历所有元素,平均时间复杂度为O(n*n)原创 2023-08-15 08:22:01 · 1166 阅读 · 7 评论 -
数据结构算法--1 顺序查找二分查找
我们可以借助Python中的函数enumerate,通过enumerate遍历列表返回其索引和值。顺序查找时间复杂度为O(n)原创 2023-08-14 21:38:42 · 1143 阅读 · 7 评论 -
数据结构算法--6 希尔排序和计数排序
首先取一个整数d1=n/2,将元素分为d1个组,每组相邻两元素之间距离为d1,在各组内之间插入排序。取第二个整数d2=n/2,重复上述分组排序过程,直到di=1,即所有元素在同一组内直接插入排序。希尔排序每趟并不使某些元素有序,而是使整体数据越来越接近有序;最后d=1,整体插入排序使数组有序:1,2,3,4,5,6,7,8,9。将其按大小写出:1,1,1,2,2,3,3,3,4,5。数组在第一轮变为3,1,2,6,5,7,4,9,8。给一个数组:5,7,4,6,3,1,2,9,8。原创 2023-09-27 10:18:17 · 874 阅读 · 3 评论 -
蓝桥杯宝藏排序题目算法(冒泡、选择、插入)
第n-2次循环从[n-2,n-1]中找最小元素,与a[n-2]交换时间复杂度:O(n'2),空间复杂度O(1),稳定。如果a[i]>a[i]:则a[i]往后挪一个位置;如果a[i]原创 2023-12-23 22:59:10 · 1189 阅读 · 0 评论