Articles of algoritmo

Encontre todos os caminhos entre dois nós do gráfico

Eu estou trabalhando em uma implementação do Algoritmo Dijkstras para recuperar o caminho mais curto entre os nós interconectados em uma rede de rotas. Eu tenho a implentação funcionando. Ele retorna todos os caminhos mais curtos para todos os nós quando eu passo o nó inicial para o algoritmo. Minha pergunta: Como é possível recuperar […]

Classificação de contêineres compactados (bloqueados) em C ++ usando boost ou o STL

O que eu quero fazer: eu quero ordenar 2, ou 3 ou N vetores, juntos, sem copiá-los em uma tupla. Ou seja, deixando a verbosidade de lado, algo como: vector v1 = { 1, 2, 3, 4, 5}; vector v2 = { 11, 22, 33, 44, 55}; vector v3 = {111, 222, 333, 444, 555}; […]

Big-O para Oito Anos de Idade?

Estou perguntando mais sobre o que isso significa para o meu código. Eu entendo os conceitos matematicamente, eu só tenho dificuldade em entender o que eles significam conceitualmente. Por exemplo, se fosse para executar uma operação O (1) em uma estrutura de dados, eu entendo que a quantidade de operações a serem executadas não crescerá […]

Rodando um ponto sobre outro ponto (2D)

Estou tentando fazer um jogo de cartas onde as cartas saem. Agora mesmo para exibi-lo Estou usando a Allegro API, que tem uma function: al_draw_rotated_bitmap(OBJECT_TO_ROTATE,CENTER_X,CENTER_Y,X ,Y,DEGREES_TO_ROTATE_IN_RADIANS); Então, com isso eu posso fazer meu efeito de fã facilmente. O problema é saber qual cartão está sob o mouse. Para fazer isso, pensei em fazer um teste […]

Encontrando furos em conjuntos de pontos de 2d?

Eu tenho um conjunto de 2d points . Eles são X,Y coordinates em um sistema de grade cartesiano padrão (neste caso, uma UTM zone ). Eu preciso encontrar os buracos nesse ponto definido preferencialmente com alguma capacidade de definir a sensibilidade do algoritmo que encontra esses buracos. Normalmente, esses conjuntos de pontos são muito densos, […]

Menos múltiplo comum para 3 ou mais números

Como você calcula o mínimo múltiplo comum de vários números? Até agora só consegui calcular entre dois números. Mas não tenho ideia de como expandi-lo para calcular 3 ou mais números. Até agora, foi assim que eu fiz LCM = num1 * num2 / gcd ( num1 , num2 ) Com gcd é a function […]

Encontrar todas as combinações de valores de matriz JavaScript

Como posso produzir todas as combinações dos valores no número N de matrizes JavaScript de comprimentos variables? Digamos que eu tenha um número N de matrizes JavaScript, por exemplo var first = [‘a’, ‘b’, ‘c’, ‘d’]; var second = [‘e’]; var third = [‘f’, ‘g’, ‘h’, ‘i’, ‘j’]; (Três matrizes neste exemplo, mas seu número […]

Implemente uma fila na qual push_rear (), pop_front () e get_min () são operações de tempo constante

Eu me deparei com essa pergunta: Implemente uma fila na qual push_rear (), pop_front () e get_min () são operações de tempo constante. Inicialmente, pensei em usar uma estrutura de dados min-heap que tivesse complexidade O (1) para um get_min (). Mas push_rear () e pop_front () seriam O (log (n)). Alguém sabe qual seria […]

Selecione k elementos randoms de uma lista cujos elementos têm pesos

Selecionar sem nenhum peso (probabilidades iguais) é lindamente descrito aqui . Eu queria saber se existe uma maneira de converter essa abordagem para uma ponderada. Eu também estou interessado em outras abordagens também. Atualização: Amostragem sem substituição

Comparação de sequência de ordenação de ordem natural em Java – uma é integrada?

Eu gostaria de algum tipo de function de comparação de seqüência de caracteres que preserva a ordem de sorting natural 1 . Existe algo como isso embutido em Java? Não consigo encontrar nada na class String , e a class Comparator só sabe de duas implementações. Eu posso fazer o meu próprio (não é um […]