- 博客(6)
- 收藏
- 关注
原创 蓝桥杯算法(4)----------动态规划(1)
动态规划(Dynamic Programming,简称DP)是一种常用的优化问题求解方法,它通过将原问题拆分为若干子问题,并保存子问题的解,以便在需要时进行查找,从而避免重复计算,提高算法效率。动态规划算法通常适用于具有重叠子问题和最优子结构性质的问题。重叠子问题指的是原问题的解可以通过一系列子问题的解来表示,而这些子问题在求解过程中可能会被多次重复计算。最优子结构性质指的是原问题的最优解可以由其子问题的最优解推导得到。
2023-10-26 15:24:51
138
2
原创 蓝桥杯算法(3)--------滑动窗口
滑动窗口(Sliding Window)是一种常用的算法技巧,用于处理连续子序列问题。它可以通过建立一个窗口,使其在序列上进行滑动,并可以在每次滑动时更新窗口内的内容。在处理连续子序列问题时,滑动窗口通常用于寻找满足特定条件的子序列或获取子序列的某些统计信息。滑动窗口算法具有线性时间复杂度,通常比暴力方法更高效。它在解决字符串、数组和链表等数据结构相关问题(例如最小/最大子数组和、字符串匹配等)时经常被使用。
2023-08-25 21:21:00
202
4
原创 蓝桥杯算法(2)----------最短路径
最短路径算法是图论中的经典问题,用于寻找图中两个节点之间的最短路径。最短路径算法有多种实现方法,其中最常见且广泛应用的算法包括迪杰斯特拉算法(Dijkstra's algorithm)和贝尔曼-福特算法(Bellman-Ford algorithm)。迪杰斯特拉算法适用于没有负权边的图,它的基本思想是通过逐步扩展节点的方式,从起点开始逐渐找到到达目标节点的最短路径。算法维护一个距离数组,记录从起点到每个节点的当前最短路径长度,然后遍历相邻节点,更新距离数组的值,直到所有节点都被遍历为止。
2023-08-17 18:11:22
482
6
原创 蓝桥杯算法(1)---------二分查找
确保数组有序,找出中间的数,接着与查找的数进行对比,若发现中间的数小于查找的数,则将区间向右移动,再进行查找,重复此步骤,直到找到目标数或者找不到。若发现中间的数大于查找的数,则将区间向左移动,再进行查找,重复此步骤,直到找到目标数或者找不到。
2023-07-24 10:12:53
125
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人