目录 1 问题描述 2 解决方案 2.1 构造最小生成树示例 2.2 伪码及时间效率分析 2.3 具体编码(最佳时间效率) 1 问题描述 何为Kruskal算法? 该算法功能:求取加权连通图的最小生成树。假设加权连通图有n个顶点,那么其最小生成树有且仅有n - 1条边。 该算法核心思想:从给定加权连 ...
分类:
编程语言 时间:
2017-03-08 15:35:11
阅读次数:
322
目录 1 问题描述 2 解决方案 2.1 蛮力法 2.2 分治法(归并排序) 1 问题描述 给定一个随机数数组,求取这个数组中的逆序对总个数。要求时间效率尽可能高。 那么,何为逆序对? 引用自百度百科: 设 A 为一个有 n 个数字的有序集 (n>1),其中所有数字各不相同。 如果存在正整数 i, ...
分类:
编程语言 时间:
2017-03-06 20:47:14
阅读次数:
340
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 这题想得分吗?想,请输出“yes”;不想,请输出“no”。 输出格式 输出包括一行,为“yes”或“no”。 2 解决方案 初步一看,这题竟然没有输入输出示例,不过也不难吧。好吧,第一次,代码长这样: 然后,结果评分为0分,查看一下输入输出示 ...
分类:
编程语言 时间:
2017-03-04 15:31:19
阅读次数:
654
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 给两组数,各n个。 请调整每组数的排列顺序,使得两组数据相同下标元素对应相乘,然后相加的和最小。要求程序输出这个最小值。 例如两组数分别为:1 3 -5和-2 4 1 那么对应乘积取和的最小值应为: (-5) * 4 + 3 * (-2) + ...
分类:
编程语言 时间:
2017-03-04 13:12:22
阅读次数:
326
排序算法2 2、归并排序 归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 原理:通过对若干个有序节点的归并实现排序。 方法:1、先将原序列拆分成若干子序列 2、将子序列重组成两个有序列 3、合并两个有序列 例 待排序序 ...
分类:
编程语言 时间:
2017-03-01 11:02:26
阅读次数:
247
目录 1 问题描述 2 解决方案 2.1 一头一尾指针往中间扫描法 2.2 一前一后两个指针同时往后扫描法 1 问题描述 给定一个整数数组,请调整 数组中数的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。要求时间复杂度为O(n)。 2 解决方案 2.1 一头一尾指针往中间扫描法 ...
分类:
编程语言 时间:
2017-02-23 15:38:10
阅读次数:
208
目录 1 问题描述 2 解决方案 2.1 动态规划法 1 问题描述 现需找零金额为n,则最少需要用多少面值为d1 < d2 < d3 < ... < dm的硬币?(PS:假设这m种面值d1 < d2 < d3 < ... < dm的硬币,其中d1 = 1,且每种硬币数量无限可得) 2 解决方案 2. ...
分类:
编程语言 时间:
2017-02-23 13:17:11
阅读次数:
315
目录 1 问题描述 2 解决方案 1 问题描述 何为最小公倍数?能同时被数字m和数字n整除的最小整数。例如,24和60的最小公倍数等于120。下面请编写相关函数实现求取数字m和n的最小公倍数。 2 解决方案 关于本文求解最小公倍数的思想,来自于《算法设计与分析基础》第三版上一段讲解,具体如下: 具体 ...
分类:
编程语言 时间:
2017-02-21 13:24:49
阅读次数:
171
目录 1 问题描述 2 解决方案 2.1 排序夹逼法 1 问题描述 输入一个整数数组和一个整数,在数组中查找两个数,满足他们的和正好是输入的那个整数。如果有多对数的和等于输入的整数,输出任意一对即可。例如,如果输入数组[1,2,4,5,7,11,15]和整数15,那么由于4+11 = 15,因此输出 ...
分类:
编程语言 时间:
2017-02-19 21:15:15
阅读次数:
161
1 问题描述 首先,了解一下何为俄式乘法?此处,借用《算法设计与分析基础》第三版上一段文字介绍: 2 解决方案 具体编码如下: 运行结果: ...
分类:
编程语言 时间:
2017-02-14 20:32:46
阅读次数:
274