首页 > 编程语言 >算法

算法

时间:2024-10-04 15:23:55浏览次数:8  
标签:调用 求解 局部 问题 算法 最优

常见的算法思想

比较笨的穷举算法思想

又称为枚举法
把所有可能枚举一边,效率低。

递推

从已知到未知,从小到大
典型代表:斐波那契数列,由前两项推后一项

递归

指一种直接或间接地调用原算法本身的算法
在程序中不断反复的调用自身来达到求解问题的方法
递归调用实际上是自身调用自身

分治法

把原问题分解成若干个小的子问题

动态规划

基本思想与分治类似,也是将原问题分解成若干个子问题。
按顺序求解子阶段,前一问题的解,为后一问题的求解提供了有用信息。在求解任一子问题是,列出可能的局部解,毒气其他局部姐,通过决策保留那些有可能达到最优的局部解。依次解决各子问题

局部最优的贪心

指在对问题求解时,总是做出在现在看来的最优解,是在某种意义上的局部最优解

回溯算法

回溯算法实际上是一个类似枚举的搜索尝试过程
基本思想:

程序=数据结构+算法

算法【1】

算法好坏的评价依据

时间复杂度

时间复杂度为一个算法流程中,基本操作数量随数据规模变化的趋势。常用O来表示。(Omicron)

O(n)/O(n2)/……取决于最高次项

标签:调用,求解,局部,问题,算法,最优
From: https://www.cnblogs.com/michaele/p/18446632

相关文章

  • 洛谷P10336 [UESTCPC 2024] 2-聚类算法
    涉及知识点:博弈、贪心题意Alice和Bob在玩选点游戏,所有的点在一个\(k\)维空间中,他们轮流选走一个点放入自己的集合中,Alice先手。定义集合\(S\)的权值\(val(S)\)为集合中点两两之间的\(k\)维曼哈顿距离之和。Alice的得分为\(val(S_A)-val(S_B)\),Bob的得分为\(val(......
  • 代码随想录算法训练营 | 134. 加油站,135. 分发糖果,860.柠檬水找零,406.根据身高重建队
    134.加油站题目链接:134.加油站文档讲解︰代码随想录(programmercarl.com)视频讲解︰加油站日期:2024-10-04想法:1.总汽油大于等于消耗一定能跑完,2.当前剩余汽油小于0了,只能从下一站开始重新计算Java代码如下:classSolution{publicintcanCompleteCircuit(int[]gas,int......
  • 改进的匿名多智能体路径查找算法
    本文提出了一种改进的匿名多智能体路径寻找算法(AMAPF),旨在解决多个未标记的智能体在一个共享环境中从初始位置无冲突地移动到指定目标位置的问题。该研究通过将AMAPF问题转化为辅助图上的最大流问题,并采用了一种新颖的搜索算法,该算法不是单独考虑各个搜索状态,而是同时处理大量状态,以......
  • 使用鼠标点击矩阵上下左右的数字初始化为1 计算所需总共点击次数矩阵所有数字变成1的
    1importjava.util.ArrayList;23publicclassHuaweiTest2{4publicstaticvoidmain(String[]args){5//System.out.println("HelloWorld!");6}78publicstaticIntegergetMilliSecondsForInputInicialize......
  • 文心一言 VS 讯飞星火 VS chatgpt (360)-- 算法导论24.3 2题
    二、请举出一个包含负权重的有向图,使得Dijkstra算法在其上运行时将产生不正确的结果。为什么在有负权重的情况下,定理24.6的证明不能成立呢?定理24.6的内容是:Dijkstra算法运行在带权重的有向图时,果所有权重为非负值,则在算法终止时,对于所有结点,我们有。如果要写代码,请用go......
  • 25赛季算法组第一阶段第二次培训(ubuntu安装与基本使用)
    25赛季算法组第一阶段第二次培训1.Ubuntu的介绍1.1.操作系统和操作系统的选择操作系统,英文名称OperatingSystem,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。操作系统的作用是管理和控制计算机系统中的......
  • 算法基础课——基础算法题解
    排序算法(分治)快速排序:题面:给定你一个长度为\(n\)的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数\(n\)。第二行包含\(n\)个整数(所有整数均在\(1\sim10^9\)范围内),表示整个数列。输......
  • 代码随想录算法训练营Day2|209.长度最小的子数组 59.螺旋矩阵
    学习资料:https://programmercarl.com/数组总结篇.html#数组的经典题目移动窗格,首尾指针根据条件变化模拟行为,循环不变量(左闭右闭或左闭右开)整个过程保持一致学习记录:209.长度最小的子数组(用while使得尾指针遍历全部;用while实现,当[首:尾]之和>目标值,才移动首指针;为了求最小长度......
  • 基础算法--递归算法【难点、重点】
    今天我们即将要开始讲解算法中第一块儿难啃地骨头--递归了,相信有不少小伙伴都因递归而迷惑过,本文就来给大家详细的讲解一下递归到底是什么东西。让你也能瞬间将他打回原形。递归的理解在学习递归之前,我们先理解递归。什么是递归呢?从名字上看我们可以想到递进+回归两个......
  • 算法训练营第七天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
    344.反转字符串状态:成功完成。初始思路:双指针交换位置就可以,如果元素个数为偶数,则刚好交换完最后一组后,left>right;如果元素个数为奇数,交换完最后一组后,left和right同时到达中位数,不需要交换。 541.反转字符串II 状态:没做出来。初始思路:这道题是以上一个题目为基础的,我......