分析Perm()函数功能、代码、时间复杂度
Perm()函数功能:
Perm函数的功能是将传递过来的数组的后size - N 位进行全排列,将排列的每一组数都输出。
代码实现:
#include<iostream>
#include<String>
using namespace std;
void Perm(int* array, int size, int N) //全排列
{if (N == size) {for (int i = 0; i < size; ++i)cout << array[i];cout << " ";}else{for (int i = N; i < size; ++i){swap(array[i], array[N]);Perm(array, size, N + 1);swap(array[i], array[N]);}}
}
int main()
{int arr[5] = { 1, 2, 3, 4, 5 };Perm(arr, 5, 3);return 0;
}
输出:
时间复杂度:
时间复杂度为 : O(n!)
Perm函数是一个递归函数,它的作用是对数组的后size-N 位进行全排列,缺点是时间复杂度高。
分析Perm()函数功能、代码、时间复杂度相关推荐
- python函数是一段具有特定功能的语句组_Python学习笔记(五)函数和代码复用
本文将为您描述Python学习笔记(五)函数和代码复用,具体完成步骤: 函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Pyth ...
- [7]深入浅出工作开源框架Camunda: camunda-webapp 用户登录功能代码分析
在上个章节<[6]深入浅出工作开源框架Camunda: 如何远程Debug camunda-webapp的源代码>笔者解释了如何进行Camunda的远程Debug,这个章节笔者给大家分享如 ...
- python中cos函数_Python代码中cos()函数有什么功能呢?
摘要: 下文讲述Python代码中cos()函数的简介说明,如下所示: cos()函数功能 用于计算出x 弧度-所对应的的余弦值 cos()函数语法 math.cos(x) ---------参数说明 ...
- Qt5.10实现图片转文字功能添加截图功能代码分析
继续更新之前的图片转文字功能,并添加截图功能代码. 这里我仅仅只是先截取全屏图片,点击截图功能就可以将屏幕截图.后续功能待完善. 我们来分析一下,这个是怎么实现的. 源码下载地址:ocr2019121 ...
- c语言字符串连接作用,C语言 不使用strcat函数实现连接两个字符串功能代码
字符串连接函数: 字符串连接就是将一个字符串连接到另一个字符串的末尾,使其组合成一个新的字符串,在字符串处理函数中,strcat 函数具有字符串连接功能.下面是用C语言实现不使用是strcat 函数 ...
- c语言字体移动函数,C语言字符函数、内存函数功能及实现代码
C语言字符函数.内存函数 功能及实现 strlen函数(求字符串长度)注意点模拟实现 strcpy函数(字符串拷贝函数)注意点模拟实现 strcat函数(字符串衔接函数)注意点模拟实现 strcmp函 ...
- android锁屏代码分析,Android 监听锁屏、解锁、开屏 功能代码
1.首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android. ...
- React.js 小书 Lesson27 - 实战分析:评论功能(六)
React.js 小书 Lesson27 - 实战分析:评论功能(六) 本文作者:胡子大哈 本文原文:http://huziketang.com/books/react/lesson27 转载请注明出 ...
- (48)逆向分析 KiFastCallEntry 函数填充 _KTRAP_FRAME 部分
一.回顾 上一篇博客我逆向了 KiSystemService 函数填充 _KTRAP_FRAME 部分. 逆向分析 KiSystemService 函数填充 _KTRAP_FRAME 部分 里面涉及了 ...
最新文章
- es6 promise
- 【ArcGIS 10.2新特性】Geodatabase 10.2 常见问题
- 已知三个用不同数制表示的整数_数制的概念与常用的数制之间的转换。大学生必看!...
- leetcode 794. Valid Tic-Tac-Toe State | 794. 有效的井字游戏(Java)
- linux内核博大精深,Linux Kernel里的cpu_to_le32是干啥的?
- 小巧数据库 Apache Derby 使用攻略
- PThread 学习笔记
- python能做什么-揭秘python都能做什么?
- PowerShell 远程连接与其它技巧
- cetnos6.4 基础版安装
- 【 Codeforces Round #301 (Div. 2) D】Bad Luck Island【概率DP】
- c语言产品信息管理课程设计,商品信息管理系统(C语言课程设计).doc
- InstallShield 使用说明
- java lame_音视频编解码——LAME
- 电子签名如何制作——word
- html5用语义元素做旅游网站,HTML5语义元素
- 清华大学五道口金融学院2023年博士生招生简章(普博+直博)
- 道翰天琼认知智能为您解密:Rust语言杀疯了!前有谷歌高薪争夺 Rust 人才,Facebook再官宣加入Rust基金会 「自2016年以来,Facebook 就已开始使用 Rust,并应用在开发
- html下拉菜单换背景颜色,如何在select框下拉菜单中更改蓝色突出显示的颜色
- java Lambda表达式详解