
算法
文章平均质量分 96
计算机科学与技术-欧阳彪
c/c++方向一位努力学习的前行者。目前专栏开设了:《编程tool》分享一些常用编程软件的安装配置和使用。《C语言初阶》《C语言进阶》由浅入深的分享了C语言的知识,《linux》分享关于操作系统的知识,《数据结构与算法》主要分享关于C语言数据结构的知识和学习经验,此外还穿插了人工智能,云计算虚拟技术和算法的相关知识。喜欢和大家交流学习,希望能得到大家的多多指教
展开
-
01背包问题的动态规划算法和回溯算法对比研究
摘 要: 本文介绍了01背包问题和动态规划已经回溯两种算法。并使用两种方法对01背包问题进行求解。关键词: 背包问题; 动态规划算法;回溯算法 目录1 引言2 动态规划算法2.1 动态规划算法思想介绍2.2 动态规划算法求解的基本步骤2.2.1 确定状态表示2.2.2写状态转移方程2.2.3 初始化状态表2.2.4 确定状态表的填写顺序2.2.5确定返回值2.3 算法设计2.4算法实现2.5 案例分析3.回溯算法3.1回溯算法思想介绍3.2回溯算法解题步骤3.原创 2024-07-18 20:50:08 · 1166 阅读 · 1 评论 -
动态规划算法解决01背包问题的优化及分析
观察发现,optp[i][j]只 与optp[i-1][j]和optp[i-1][J—weight[i]]有关,与 optp[k][1](k=1,2,……,i一2,i+l,……由于我们的dp[i][j]的值由optp[i-1][j]和dp[i-1][j-Vi]两个位置的状态值确定,两点在d[x][y]的上方或者忧伤,所以填表顺序从上往下填写。(有三件物品),三个物品的重量为{20,15,10},三个物品的价值为{20,30,25},对于一个最大承重为25的背包,求包中物品的组合最大的价值是多少?原创 2024-07-18 20:41:16 · 1475 阅读 · 0 评论 -
【算法】回溯:与递归,dfs的同质与分别,剪枝与恢复现场的详细理解,n皇后的回溯解法及算法复杂度分析。
本文先带大家了解什么是回溯:走不通回头,然后给出了第一个回溯算法的定义,然后给大家区分了递归和深度搜素和回溯的区别,然后引出了对回溯的剪枝和恢复现场的讲解,接着通过二叉树路径这道简单题目让大家对以上概念得到运用和更深入理解,最后使用递归解决了n皇后的问题,分析了时间复杂度和空间复杂度。创作不易,希望大家多多指教,如果觉得今天讲解的有学到东西,可以留下一个三连,持续关注后续的文章。原创 2024-04-14 22:17:58 · 2954 阅读 · 55 评论