Trabalhando com permutações em ordem lexicográfica crescente

Digamos que com os inteiros de 1 a N escrevemos todas as possíveis permutações em ordem crescente. Aprenda a calcular a posição de uma dada permutação e a permutação de uma dada posição! Ideias importantes em problemas de matemática e computação

[ Hits: 6.364 ]

Por: Perfil removido em 24/11/2020


Introdução



Suponha que tenhamos a seguinte coleção de inteiros {1,2,3,4}. Podemos formar permutações com esses números(com todos os elementos distintos). Por exemplo, podemos formar os números 1234,3241,4321 e vários outros números, há 24 opções possíveis. Porém, quero colocar essas permutações em ordem crescente, ou seja, os números formados devem estar em ordem crescente. Começando do início, [1,2,3,4] é a primeira, pois é a menor possível, depois vem a [1,2,4,3], depois [1,3,2,4] e assim por diante.
					Permutação ------------ Posição
					[1,2,3,4] ------------------  1
					[1,2,4,3] ------------------  2
					[1,3,2,4] ------------------  3
					[1,3,4,2] ------------------  4
					[1,4,2,3] ------------------  5
					[1,4,3,2] ------------------  6
					[2,1,3,4] ------------------  7
					[2,1,4,3] ------------------  8
					     ...				...

Pegou a ideia?

Isso é o que chamamos de colocar as permutações em ordem lexicográfica crescente. Diante disso há algumas perguntas que podemos fazer:
  • Qual é a posição da permutação [4,2,3,1]?
  • Qual permutação ocupa a 16a posição?

Nesse artigo você aprenderá a responder essa perguntas! Porém primeiro é necessário aprender o básico de análise combinatória.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Básico de Análise Combinatória
   3. Qual a posição de uma dada permutação?
   4. Qual a permutação de uma dada posição?
Outros artigos deste autor

Instalando o maravilhoso Arch Linux

A imbecilidade real revelada pela realidade virtual

Como se comunicar com outros usuários da rede

Fornecendo informações úteis para obter respostas válidas

As novidades do Java 1.5

Leitura recomendada

Port Scanner com Python

Python - Enviando Backup para Servidor Secundário

Convertendo Texto em Fala com Python e pyttsx3

Varredura de PING Utilizando o Python

Monitorando produtos no ML com Python 3 via BeautifulSoup

  
Comentários
[1] Comentário enviado por maurixnovatrento em 25/11/2020 - 13:03h


Ficou top.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts