请达人分析一个小算法时间复杂度
要求求出这个重复数,要求TC为O(N)。
帮忙分析下面这个,时间复杂度是多少?详细点哦:)
当然更希望给出O(N)的正解:)
#include <stdio.h>
int duplicated(int a[], int N)
{
int i = 0, ai;
while(i<N) {
ai = a[i];
if(ai == i)
i++;
else if(ai != a[ai]) {
a[i] ^= a[ai];
a[ai] ^= a[i];
a[i] ^= a[ai];
}
else
return a[i];
}
return -1;
}
int main()
{
int ary[] = {1,6,2,4,3,7,5,3};
int d = duplicated(ary, 8);
printf("d=%d\n", d);
return 0;
}
相关推荐
Python算法特点.docx#资源达人分享计划#
输出项(Output):算法至少有一个输出,表示对输入数据处理的结果。Python函数的返回值就是算法的输出,用于提供计算或处理后的信息。5.
SCAN算法深度解析:如何利用结构相似性精准识别网络中的社区、枢纽与噪声
本文深度解析SCAN算法如何利用结构相似性精准识别网络中的社区、枢纽与噪声。通过详细介绍算法原理、关键参数(ε-邻域和μ-核心点)及Python实现,展示其在大规模网络分析中的高效性。文章还探讨了SCAN在生物网络和金融风控等领域的实际应用,并指出其局限性与改进方向。
从海豚家族到算法评测:Dolphin社交网络数据集在社区发现算法中的实战应用与评估
本文探讨了Dolphin社交网络数据集在社区发现算法中的实战应用与评估。作为经典的基准数据集,Dolphin数据集以其清晰的社区结构和真实社交互动数据,成为验证算法有效性的黄金标准。文章详细介绍了如何利用该数据集进行算法评测,包括主流评估指标对比、典型算法实战表现以及深层价值挖掘,为研究者和开发者提供了系统化的实验设计指南。
从LPA到SLPA:标签传播算法在复杂网络社区发现中的演进与实践
本文深入探讨了标签传播算法(LPA)及其改进版本SLPA在复杂网络社区发现中的应用与演进。从LPA的基础原理到SLPA的重叠社区发现能力,文章详细分析了算法的优缺点、改进方向及实战经验,为开发者提供了从算法选型到参数调优的全面指导。
算法设计与分析期末试题考试版 .pdf打包整理.zip
【标签】:“算法 #资源达人分享计划#”标签“算法”明确了这个压缩包的内容侧重于算法领域,而“#资源达人分享计划#”则可能表示这是一个社区共享的学习资源,由某个或某些热心人士整理并分享,旨在促进知识的传播和学习交流


