Articles of algoritmo

Encontre duplicatas em uma matriz

Dada uma matriz de n elementos inteiros, como você vai encontrar se há duplicatas na matriz em tempo O (n) sem usar nenhum espaço extra. Com espaço extra, significa espaço extra de ordem O (n). O operador Xor ajuda de alguma forma.

Armazene os maiores 5000 números de um stream de números

Dado o seguinte problema: “Armazene os maiores 5000 números de um stream de números” A solução que vem à mente é uma tree de pesquisa binária que mantém uma contagem do número de nós na tree e uma referência ao menor nó quando a contagem atinge 5.000. Quando a contagem atinge 5.000, cada novo número […]

Um algoritmo de compactação eficiente para cadeias de texto curtas

Eu estou procurando por um algoritmo para compactar pequenas seqüências de texto: 50-1000 bytes (ou seja, URLs). Qual algoritmo funciona melhor para isso?

O que é um algoritmo eficiente para encontrar a área de retângulos sobrepostos

Minha situação Entrada: um conjunto de retângulos cada rect é composto por 4 duplas como esta: (x0, y0, x1, y1) eles não são “girados” em qualquer ângulo, todos eles são retângulos “normais” que vão “para cima / baixo” e “esquerda / direita” em relação à canvas eles são colocados aleatoriamente – eles podem estar tocando […]

Pesos negativos usando o Algoritmo de Dijkstra

Estou tentando entender por que o algoritmo de Dijkstra não funciona com pesos negativos. Lendo um exemplo em Shortest Paths , estou tentando descobrir o seguinte cenário: 2 A——-B \ / 3 \ / -2 \ / C A partir do site: Assumindo que as arestas são todas direcionadas da esquerda para a direita, se […]

Descobrir se um ponto está dentro de um retângulo ou não

Eu quero descobrir se um ponto está dentro de um retângulo ou não. O retângulo pode ser orientado de qualquer forma e não precisa ser alinhado ao eixo. Um método que eu poderia pensar era girar as coordenadas do retângulo e do ponto para alinhar o eixo do retângulo e, em seguida, simplesmente testar as […]

Melhorando o desempenho da detecção de cliques em uma grade isométrica de coluna escalonada

Estou trabalhando em um motor de jogo isométrico e já criei um algoritmo para detecção de cliques perfeitos em pixels. Visite o projeto e observe que a detecção de cliques é capaz de detectar qual borda do bloco foi clicada. Ele também verifica o índice y para clicar no bloco mais inicial. Uma explicação do […]

Cálculo fatorial de grandes números em C

No meu código C, eu quero calcular o fatorial para números no intervalo de 1 a 100. Para números pequenos, a function funciona, mas para números maiores, por exemplo, 100! ele retorna um resultado incorreto. Quaisquer maneiras de lidar fatorial de grandes números em C? O compilador que estou usando é o gcc v4.3.3. Meu […]

Como encontrar o antepassado comum mais baixo de dois nós em qualquer tree binária?

A Árvore Binária aqui pode não ser necessariamente uma Árvore de Busca Binária. A estrutura poderia ser tomada como – struct node { int data; struct node *left; struct node *right; }; A solução máxima que eu poderia resolver com um amigo era algo desse tipo – Considere esta tree binária : Árvore binária http://sofpt.miximages.com/algorithm/img151.gif […]

como rasterizar o retângulo girado (em 2d por setpixel)

Eu tenho um quadrângulo de quatro vértices ABCD de retângulo girado, eu preciso rasterizar / desenhar (eficientemente) em pixelbufer com setpixel (x, y, color) como fazer isso? Eu estava tentando com algum código como // convertilg abcd do up down left right, // calculating some dx_left dx_right on y– // etc (frustrating on special cases […]