蛮力法设计技术

简介: 实验内容:1.算法设计2.程序设计3.复杂度分析4.实验结果5.实验总结:

实验内容:

给定一个整数数组A=(a0,a1,…,an-1),如果i<j且ai>aj,则<ai,aj>是一个逆序对,例如数组(3,1,4,5,2)的逆序对有<3,1>,<2,2>,<4,2>,<5,2>。设计一个穷举算法求A中的逆序对的个数。


1.算法设计

对于一个给定的数组序列,依次从左往右取每一个元素,从该元素右边第一个元素开始向右扫描,遇到比它小的元素,则计数+1,直到处理完整个序列。


2.程序设计

//
// Created by = on 2023/4/18.
//
#include<iostream>
using namespace std;
int main() {
    int a[] = {3, 1, 4, 5, 2};
    int x = 0;
    int len=sizeof(a)/sizeof(int);
    int i, j;
    for (i = 0; i < len-1; i++)
        for (j = i + 1; j < len; j++)
            if (a[i] > a[j])
                x++;
    cout<<"暴力法计算逆序对个数为 "<<x<<endl;
}


3.复杂度分析

(1)时间复杂度

O(n2)

(2)空间复杂度

O(n)


4.实验结果

结果一


32.png


结果二

33.png



相关文章
|
1月前
|
机器学习/深度学习 人工智能 测试技术
探索软件测试中的“禅”:寻找内在的平和与外在的效率####
在软件测试的世界里,我们常常被缺陷的数量、测试用例的覆盖度以及上线时间的紧迫性所困扰。但如果我们能像禅宗修行者一样,将注意力转向内心的平静与专注,或许能在纷繁复杂的测试工作中找到一种全新的效率和质量提升之道。本文将带您走进软件测试的“禅意世界”,探讨如何在看似枯燥无味的测试过程中,通过调整心态、优化方法,实现个人成长与项目成功的双赢。 ####
|
2月前
|
机器学习/深度学习 数据采集 人工智能
揭开大模型幻觉之谜:深入剖析数据偏差与模型局限性如何联手制造假象,并提供代码实例助你洞悉真相
【10月更文挑战第2天】近年来,大规模预训练模型(大模型)在自然语言处理和计算机视觉等领域取得卓越成绩,但也存在“大模型幻觉”现象,即高准确率并不反映真实理解能力。这主要由数据偏差和模型局限性导致。通过平衡数据集和引入正则化技术可部分缓解该问题,但仍需学界和业界共同努力。
40 4
|
7月前
|
人工智能 vr&ar
找结论——势能
找结论——势能
|
7月前
|
机器学习/深度学习 算法 人机交互
编码之禅:技术洞见与内在平衡
【2月更文挑战第15天】 在技术的世界中,我们常常追求更快、更高效、更智能。然而,在这无限追求的过程中,我们是否忽略了技术本身的精神层面?本文将探讨技术发展背后的哲学思考,以及如何在快节奏的编程生活中寻找内在的平衡点。通过分享个人的编程感悟和实践,旨在启发读者对技术的深入理解和生活的和谐统一。
|
负载均衡 监控 算法
转:启发式算法对网络行为管理系统的应用研究、实用性分析及实现难度
启发式算法在网络行为管理系统中的应用研究是一个重要的领域,它可以帮助改善系统的性能和效率。启发式算法是一种通过模拟自然界的演化过程或启发式规则来解决复杂问题的方法。
88 2
|
存储 关系型数据库 MySQL
第十三章《优化》
第十三章《优化》
第十三章《优化》
|
存储 缓存 算法
当今面试最高频的10道算法题,拿捏
当今,大厂面试必回的十道题,拿捏
647 0
|
安全
程序人生 - 从一个喷嚏的威力来了解,口罩的重要性与必要性
程序人生 - 从一个喷嚏的威力来了解,口罩的重要性与必要性
116 0
程序人生 - 从一个喷嚏的威力来了解,口罩的重要性与必要性
|
存储 人工智能 自然语言处理
High&NewTech:一文了解计算机思维、数学思维的本质区别,以及算法和程序的认知比较
High&NewTech:一文了解计算机思维、数学思维的本质区别,以及算法和程序的认知比较
|
机器学习/深度学习 移动开发 算法
如何在黎曼流形上避开鞍点?本文带你了解优化背后的数学知识
在一篇名为《Escaping from saddle points on Riemannian manifolds》的论文中,来自华盛顿大学、加州大学伯克利分校的研究人员深入探索了优化问题的细节,这对理解机器学习底层的数学知识非常重要。本文是对该论文的解读。
240 0
如何在黎曼流形上避开鞍点?本文带你了解优化背后的数学知识