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.128 ]

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

soundKonverter - o maravilhoso conversor de áudio

Gerenciamento centralizado de usuários de rede com GOSA

Por que existem mais games para Windows do que para Linux?

aMSN com fontes bonitas

Convertendo MBR para GPT com gdisk

Leitura recomendada

Gerar Códigos QRCode com Python

Crie um bot para Telegram e gerencie a escala de plantonistas

Desenvolvendo aplicações GUI simples em Python & Glade (PyGTK) com banco de dados SQLite

Como baixar vídeos do Facebook via terminal

Python + ADB

  
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