算法设计
文章平均质量分 60
算法学习记录
韭菜盖饭
一名自学爪哇的小学生
展开
-
求序列中最大子序列和---分治法
文章预览1、分治算法基本思想2、题目3、调用测试1、分治算法基本思想分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。当我们求解某些问题时,由于这些问题要处理的数据相当多,或求解过程相当复杂,使得直接求解法在时间上相当长,或者根本无法直接求出。对于这类问题,我们往往先把它分解成几个子问题,找到求出这几个子问题的解法后,再找到合适的方法,把它们组合成求整个问题的解法。如果这些子问题还较大,难以解决,可以再把它们分原创 2021-11-01 20:28:19 · 2378 阅读 · 0 评论 -
插入排序性能分析
基本思想插入排序的基本思想是:将数组的第一个数认为是有序数组,从后往前(从前往后)扫描该有序数组,把数组中其余n-1个数,根据数值的大小,插入到有序数组中,直至数组中的所有数有序排列为止。这样的话,n个元素需要进行n-1趟排序!!!举个例子:4个数字4,6,7,5进行从大到小的排序。前插排序法具体过程如下:把第一个数4插入到空的有序数组中的第一个位置上,得到新数字序列4;第一趟:从后往前扫描有序数组,将第二个数字6和有序数组中的4进行比较,6大于4,此时将4后移一个位置。此时已经扫描完有序数组中的数原创 2021-10-24 17:43:45 · 372 阅读 · 0 评论 -
求解最大连续子序列和问题----蛮力法
文章预览问题:求解最大连续子序列和问题思路一:穷举法思路二:穷举法思路三:穷举法问题:求解最大连续子序列和问题题目:给定一个有n(n>=1)个整数的序列,求解其中最大连续子序列的和。规定一个序列的最大子序列和至少为0,若结果小于0,则其结果为0例:序列(-2,11,-4,13,-5,-2)的最大子序列和为20序列(-6,2,4,-7,5,3,2,-1,6,-9,10,-2)的最大子序列和为16。思路一:穷举法时间复杂度O(n^3)设含有n个整数的序列a[0 … n-1]和其中任何连续原创 2021-10-23 17:28:29 · 2123 阅读 · 0 评论 -
循环赛日程表---分治法
设有n=2k个运动员要进行网球循环赛。现要设计一个满足以下要求的比赛日程表:(1)每个选手必须与其他n-1个选手各赛一次;(2)每个选手一天只能赛一次;(3)循环赛一共进行n-1天。参考答案#include<iostream>using namespace std;void gametable(int k){ int a[100][100];//赛程表 int n;//当前选手数 int temp;//已安排的选手数 int i;//行 i原创 2021-10-23 16:54:18 · 417 阅读 · 0 评论