蛮力法设计技术

简介: 实验内容: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



相关文章
|
2月前
|
机器学习/深度学习 人工智能 测试技术
探索软件测试中的“禅”:寻找内在的平和与外在的效率####
在软件测试的世界里,我们常常被缺陷的数量、测试用例的覆盖度以及上线时间的紧迫性所困扰。但如果我们能像禅宗修行者一样,将注意力转向内心的平静与专注,或许能在纷繁复杂的测试工作中找到一种全新的效率和质量提升之道。本文将带您走进软件测试的“禅意世界”,探讨如何在看似枯燥无味的测试过程中,通过调整心态、优化方法,实现个人成长与项目成功的双赢。 ####
|
5月前
|
监控 安全 网络安全
网络安全法中的 HITRUST 框架是什么
【8月更文挑战第19天】
72 0
|
算法 Java C语言
算法界最难的一道题,我解出来了!
算法界最难的一道题,我解出来了!
|
8月前
|
机器学习/深度学习 人工智能 供应链
传统算法是如何在销补调计划中发挥作用的
传统算法是如何在销补调计划中发挥作用的
单源最短路的综合应用
单源最短路的综合应用
67 0
|
算法 网络性能优化 调度
转:鱼群算法在文档管理系统中可以起到怎样的作用
鱼群算法是一种基于自然界中鱼群行为的计算机算法,可以用于优化问题的解决。在文档管理系统中,鱼群算法可以用来管理和优化网络资源的分配和使用。
74 0
|
算法 C++
<<算法很美>>——(五)——回溯算法核心框架(上)
<<算法很美>>——(五)——回溯算法核心框架(上)
<<算法很美>>——(五)——回溯算法核心框架(上)
|
安全
程序人生 - 从一个喷嚏的威力来了解,口罩的重要性与必要性
程序人生 - 从一个喷嚏的威力来了解,口罩的重要性与必要性
118 0
程序人生 - 从一个喷嚏的威力来了解,口罩的重要性与必要性
|
编解码 缓存 JSON
Web设计思想——渐进增强
最近在拜读一本Web体验相关的书《渐进增强——跨平台用户体验设计 》,阅读后做些总结,消化一下书中的精髓。
Web设计思想——渐进增强
|
机器学习/深度学习 移动开发 算法
如何在黎曼流形上避开鞍点?本文带你了解优化背后的数学知识
在一篇名为《Escaping from saddle points on Riemannian manifolds》的论文中,来自华盛顿大学、加州大学伯克利分校的研究人员深入探索了优化问题的细节,这对理解机器学习底层的数学知识非常重要。本文是对该论文的解读。
247 0
如何在黎曼流形上避开鞍点?本文带你了解优化背后的数学知识