算法
「已注销」
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
快速排序
一 快速排序快速排序采用了分治思想和递归思想。二 代码数据结构p274(清华大学出版社,严蔚敏)#include <iostream>using namespace std;// 交换数组的两个成员void quick_sort_swap(int arr[], int i, int j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp;}/** * 快速排序 */void quic..原创 2021-03-04 18:11:24 · 212 阅读 · 1 评论 -
集装箱装载问题:回溯算法
一 回溯法回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为“回溯点”。二 问题有一批共n个集装箱要装上2艘载重量分别为c1和c2的轮船,其中集装箱i的重量为wi,且,装载问题要求确定是否有一个合理的装载方案可将这些集装箱装上这2艘轮船。如果有,找出一种装载方案。首先将第一艘船尽可能装满,再将剩余集装...原创 2021-03-02 12:31:12 · 3463 阅读 · 1 评论 -
0-1背包问题
一 概述背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。二 算法分析1 红色箭头是计算顺序。 从最后一行,依次计算到第一行。 对于每一行,依次从第一列计算到最后一列。2 橙色箭头是回溯顺序。三 C++代码// knapsack...原创 2021-02-07 19:59:05 · 258 阅读 · 0 评论
分享