O(1)就是最低的时空复杂度了,也就是耗时/耗空间与输入数据大小无关,无论输入数据增大多少倍,耗时/耗空间都不变。 哈希算法就是典型的O(1)时间复杂度,无论数据规模多大,都可以在一次计算后找到目标(不考虑冲突的话)
1.代码如下:
#include<iostream>
using namespace std;
#define MaxSize 100
typedef struct
{
int data[MaxSize];
int length;
}SeqList;
void fuzhi(SeqList &L, int len)
{
L.length = len;
for (int i = 0; i < L.length; i++)
{
scanf_s("%d", &L.data[i]);
}
}
void Reverse(SeqList &L)
{
int temp;
for (int i = 0; i < L.length/2; i++)
{
temp = L.data[i];
L.data[i] = L.data[L.length-1-i];
L.data[L.length -1-i] = temp;
}
}
void PrintList(SeqList &L)
{
for (int i = 0; i < L.length; i++)
{
printf("L.data[%d]=%d\n", i, L.data[i]);
}
}
int main()
{
SeqList L;
int len;//输入长度
printf("length=");
scanf_s("%d", &len);
fuzhi(L, len);
Reverse(L);
PrintList(L);
return 0;
}
2.执行结果