Articles of algoritmos

Melhor Algoritmo de Agendamento de Ajuste

Estou escrevendo um programa de agendamento com um problema de programação difícil. Existem vários events, cada um com vários horários de reunião. Preciso encontrar um arranjo de horários de reunião de forma que cada agenda contenha um evento específico exatamente uma vez, usando um dos vários horários de cada reunião. Obviamente eu poderia usar força […]

Pesquisa binária na matriz

Como eu implementaria uma pesquisa binária usando apenas uma matriz?

melhor maneira de escolher um subconjunto random de uma coleção?

Eu tenho um conjunto de objects em um vetor do qual eu gostaria de selecionar um subconjunto random (por exemplo, 100 itens voltando; escolha 5 aleatoriamente). Na minha primeira passagem (muito apressada) eu fiz uma solução extremamente simples e talvez excessivamente inteligente: Vector itemsVector = getItems(); Collections.shuffle(itemsVector); itemsVector.setSize(5); Enquanto isso tem a vantagem de ser […]

criando todas as combinações possíveis de n itens em C ++

Existem n pessoas numeradas de 1 a n. Eu tenho que escrever um código que produza e imprima todas as diferentes combinações de k pessoas desses n. Por favor, explique o algoritmo usado para isso.

Gere todas as permutações de uma lista sem elementos iguais adjacentes

Quando classificamos uma lista, como a = [1,2,3,3,2,2,1] sorted(a) => [1, 1, 2, 2, 2, 3, 3] elementos iguais são sempre adjacentes na lista resultante. Como posso realizar a tarefa oposta – embaralhe a lista de modo que os elementos iguais nunca sejam (ou tão raramente quanto possível) adjacentes? Por exemplo, para a lista acima, […]

Matriz remover elementos duplicados

Eu tenho uma matriz não classificada, qual é o melhor método para remover todas as duplicatas de um elemento se presente? por exemplo: a[1,5,2,6,8,9,1,1,10,3,2,4,1,3,11,3] Então, após essa operação, o array deve se parecer a[1,5,2,6,8,9,10,3,4,11]

Como determinar se uma linked list tem um ciclo usando apenas dois locais de memory

Alguém sabe de um algoritmo para descobrir se uma lista encadeada faz um loop em si mesma usando apenas duas variables ​​para percorrer a lista. Digamos que você tenha uma linked list de objects, não importa o tipo de object. Eu tenho um ponteiro para a cabeça da linked list em uma variável e só […]

Gere todas as combinações de várias listas

Dada uma quantidade desconhecida de listas, cada uma com um tamanho desconhecido, preciso gerar uma lista única com todas as combinações únicas possíveis. Por exemplo, dadas as seguintes listas: X: [A, B, C] Y: [W, X, Y, Z] Então eu deveria ser capaz de gerar 12 combinações: [AW, AX, AY, AZ, BW, BX, BY, BZ, […]

Calculando todos os subconjuntos de um conjunto de números

Eu quero encontrar os subconjuntos de um conjunto de inteiros. É o primeiro passo do algoritmo “Soma dos Subconjuntos” com backtracking. Eu escrevi o seguinte código, mas ele não retorna a resposta correta: BTSum(0, nums); ///************** ArrayList list = new ArrayList(); public static ArrayList BTSum(int n, ArrayList numbers) { if (n == numbers.size()) { for […]

Encontre o menor elemento kth em uma tree de pesquisa binária na melhor maneira

Eu preciso encontrar o kth menor elemento na tree de pesquisa binária sem usar qualquer variável estática / global. Como alcançá-lo com eficiência? A solução que tenho em mente é fazer a operação em O (n), o pior caso desde que estou planejando fazer uma travessia dentro da tree inteira. Mas no fundo eu sinto […]