Trace: Semana 4 de 2024

Semana 4 de 2024

Semana 4 de 2024

Ensino

  • Caso interessante de erros desapercebidos em algoritmos do cotidiano. Por muitos anos, a implementação de referência do Java possuía um erro na busca binária. Em Java, um array (agregado sequencial homogêneo de dados?) possui um tamanho máximo, correspondente ao maior número inteiro (int, 2^64). Na busca binária, é necessário encontrar iterativamente o elemento do meio da sequência de dados ordenados, usando como base os índices da esquerda e da direita. Eis aí o problema: se o array for muito grande e os valores dos índices à esquerda e à direita forem também grandes, a conta trivial típica (índice_esquerdo + índice_direito) / 2 pode causar um estouro (overflow) do número inteiro. Felizmente, é possível substituir esta conta por uma em que nunca ocorre o estouro do número: índice_esquerdo + (índice_direito - índice_esquerdo) / 2. Referências:

Miscelânea

  • Cansado de abrir mensagens longas cortadas automaticamente pelo Gmail, instalei a extensão Trimless for Google Mail. Para que ela funcione adequadamente, é necessário desativar as opções para indentação e alteração de cores na configuração da extensão. Feito isso, ela funciona perfeitamente! Criei um fork dela em https://github.com/magsilva/trimless-gmail para, quem sabe, revisá-la.
work/2024-4.txt · Last modified: 2024/01/23 01:52 by magsilva