Articles of algoritmo

Obtendo Programaticamente a Eficiência Big-O do Código

Gostaria de saber se existe alguma maneira automática de determinar (pelo menos aproximadamente) a complexidade do tempo Big-O de uma dada function? Se eu fiz o gráfico de uma function O (n) versus uma function O (n lg n), acho que seria capaz de verificar visualmente qual é qual; Estou pensando que deve haver alguma […]

Calcular mediana em c #

Eu preciso escrever a function que irá aceitar matriz de decimais e vai encontrar a mediana. Existe uma function na biblioteca de matemática do .net?

Rotate JPEG sem perdas (90/180/270 graus) em Java?

Existe uma biblioteca Java para girar arquivos JPEG em incrementos de 90 graus, sem incorrer em degradação de imagem?

Encontre o tempo máximo possível HH: MM, permutando quatro dígitos dados

Recentemente, fiz um teste de codificação para uma promoção no trabalho. Essa foi uma das tarefas com as quais eu realmente lutei e fiquei imaginando qual seria a melhor maneira de fazer isso. Eu usei uma carga de se e se mais, não a solução mais limpa, mas tenho o trabalho feito. A pergunta que […]

Como obter um elemento random de um contêiner C ++?

O que é uma boa maneira de obter um elemento [pseudo-] random de um intervalo de STL? O melhor que posso fazer é fazer std::random_shuffle(c.begin(), c.end()) e, em seguida, pegue meu elemento random de c.begin() . No entanto, talvez eu queira um elemento random de um contêiner const ou talvez eu não queira o custo […]

Ordenar quatro pontos no sentido horário

Quatro pontos 2D em uma matriz. Eu preciso ordená-los no sentido horário. Eu acho que isso pode ser feito com apenas uma operação de swap, mas eu não consegui colocar isso para baixo formalmente. Edit: Os quatro pontos são um polígono convexo no meu caso. Edit: Os quatro pontos são os vértices de um polígono […]

Etiquetagem de componentes conectados

Eu fiz uma pergunta semelhante há alguns dias, mas ainda não encontrei uma maneira eficiente de resolver meu problema. Estou desenvolvendo um jogo de console simples e tenho um array 2D como este: 1,0,0,0,1 1,1,0,1,1 0,1,0,0,1 1,1,1,1,0 0,0,0,1,0 Eu estou tentando encontrar todas as áreas que consistem em vizinhos 1 (conectividade de 4 vias). Então, […]

O que é bom para uma bolha?

Os tipos de bolhas têm algum uso no mundo real? Toda vez que vejo uma mencionada, é sempre: Um algoritmo de sorting para aprender. Um exemplo de um algoritmo de sorting que não deve ser usado.

Encontre os principais elementos N em uma matriz

Qual seria a melhor solução para encontrar elementos top N (digamos 10) em uma lista não ordenada (digamos 100). A solução que veio na minha cabeça foi para 1. classificá-lo usando quick sort, 2. get top 10. Mas existe alguma alternativa melhor?

Como std :: make_heap pode ser implementado ao fazer no máximo 3N comparações?

Eu olhei para o padrão C ++ 0x e encontrei o requisito que make_heap não deveria fazer mais que 3 * N comparações. Ou seja, heap uma coleção não ordenada pode ser feita em O (N) /* @brief Construct a heap over a range using comparison functor. Por que é isso? A fonte não me […]