求一个数组当中最大(最小)值的两种计算方法 1、常用方法(以求最大值为例) 2、同时寻找最大值和最小值 一种思路是将上述常见的寻找最大值和最小值算法分别运行一遍就可以分别将最大值和最小值找出来,这样的话在输入情况最差的情况下面,算法运行的时间复杂度为O(2n)。另外的一种思路是同时对数组当中连续的两 ...
分类:
编程语言 时间:
2016-09-26 12:29:38
阅读次数:
133
#include #include #include using namespace std; int Max(int arr[], int n);void main(int argc, char* argv[]){ srand(time(NULL));//随机种子 int a...
分类:
编程语言 时间:
2016-01-09 18:24:02
阅读次数:
198
二叉排序树/************************************************************************* 这是一个二叉查找树,实现了以下操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继。上述所有操.....
分类:
编程语言 时间:
2015-11-28 13:34:56
阅读次数:
235
堆排序
上一篇博客讲了堆这种数据结构,它提供了一种接口getMax接口,好消息是获得最大值的时间复杂度仅仅为O(lgn),因此联想到之前的选择排序算法,
每次从剩下的未排序元素中找到极值元素,将其放入对应的位置。
由于一般的选择排序在寻找最大值时需要遍历数组,遍历数组的复杂度为O(n),因此造成了时间的浪费,如若将待排序的数组进行一系列整理,
例如将其整理成有特点的堆这种数据结构。那么我们...
分类:
编程语言 时间:
2015-11-12 13:45:21
阅读次数:
264
//输入十个数求其中最大值与最小值
#include<stdio.h>
#include<stdlib.h>
intmain()
{
intarr[10];
inti=0;//初始化
intmin=0;
intmax=0;
printf("请输入10个数字:\n");
for(i=0;i<sizeof(arr)/sizeof(arr[0]);i++)
{
scanf("%d",&arr[i]);//得..
分类:
编程语言 时间:
2015-10-31 18:47:08
阅读次数:
261
Jamie's Contact Groups
Time Limit: 7000MS
Memory Limit: 65536K
Total Submissions: 6902
Accepted: 2261
Description
Jamie is a very popular girl and has quite a lot o...
分类:
其他好文 时间:
2015-08-27 11:07:08
阅读次数:
145
高斯消元法第四个冠军,这个称号是非常令人兴奋~~题目大意:给出9个钟表的状态。给出九种操作,问最少要操作几次能把全部的钟表调回12点。解题思路:对于9个钟表分别列方程,然后高斯消元就可以。因为这次左边的方程系数不是0就是1,所以不用找最大值~以下是代码:#include #include #incl...
分类:
其他好文 时间:
2015-07-30 11:01:30
阅读次数:
137