算法习题
文章平均质量分 94
算法习题笔记
Giant NG
我要一步一步往上爬……
展开
-
那些常用的排序算法
参考链接 常见的7种排序算法 常见排序算法及其对应的时间复杂度和空间复杂度 冒泡排序 基本思想是两两比较,交换顺序。 假设长度为 n 的数组 arr,要按照从小到大排序。采用冒泡排序的具体过程可以描述为: 从数组第一个元素开始,到数组最后一个元素为止;相邻的元素进行比较,将元素交换顺序以使其满足左小右大的条件。直至遍历最后一个元素(n-1)为止;进入第二轮遍历; 第二轮遍历则只需遍历至倒数第二个元素(n-2)即可; 以此类推直到整个数组有序排列; 时间复杂度 示例代码 /* 冒泡排序 */ voi转载 2022-05-13 15:31:09 · 162 阅读 · 0 评论 -
01背包问题
参考链接: 总结——01背包问题 (动态规划算法) 01背包问题 问题描述 有 n 件物品,每件物品的重量为 w[i],价值为 c[i]。现有一个可承载的最大重量为 V 的背包,问如何选取物品放入背包,使得背包内的物品的总价值最大。注意:每种物品都只有一件。 解析 面对每个物品,我们只有两种选择:拿与不拿; 声明一个二维数组m[i][j],m[i][j] 表示在面对(注意这里是面对这件物品,不一定要拿它)第 i 件物品,且背包容量为 j 时所能获得的最大价值; 当 j < w[i] 时,背包容原创 2021-11-08 10:53:00 · 304 阅读 · 0 评论