Pular para o conteúdo

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
Perfil removido removido
Hits: 8.858 Categoria: Python Subcategoria: Outros
  • Indicar
  • Impressora
  • Denunciar

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.

   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?

Pós-instalação do Solus OS para um desktop voltado ao usuário final

Sylpheed - Cliente de e-mail para terminais leves

Linux: For Human Beings?

Instalação do XFCE 4.2 no Debian

Introdução ao Protocolo Internet - IP

Reconhecimento de placas de veículos com OpenALPR

Python para pesquisadores: material didático

Python Flask Básico

Alimentando Desktopcouch com Zeitgeist

Gerar senhas seguras com Python

Contribuir com comentário

Entre na sua conta para comentar.