Data Structures


Jan. 4, 2024

The Algorithms Design Manual

The Algorithm Design Manual Podemos nos deparar em alguns momentos com situações onde o algoritmo com a solução correta, não é implementavel na prática, por motivos do poder computacional necessário ou outro, nesses casos recorremos a heuristica. Heuristica irá nos ajudar nesses cenários com atalhos que nos levam a soluções que respondam o problema satisfatoriamente. Heuristica é utilizado em problema de otimização complexos onde algoritmos exatos demoram muito tempo para serem calculados

Sep. 11, 2023

GO - Strings

Uma string é uma sequencia imutavel de bytes. As strings são convencionalmente interpretadas como sequencias de pontos de código Unicode (runas) codificadas em UTF-8. A função lendevolve o número de bytes não de runas s :+ "hello, world" fmt.Println(len(s)) // 12 fmt.Println(s[0], s[7]) // "104 119" O iésimo byte de uma string não corresponde diretamente ao iésimo caracter, pois a codificação UTF-8 de um ponto de código que não seja ASCII exige mais.

Jul. 15, 2023

Gorrotinas e Canais

go f() // cria uma nova gorrotina que chama f() Canais Os canais sãos os meios de comunicação entre as gorrotinas Cada canal é um comunicador de um tipo particular ch := make(chan int) // ch é do tipo chan int Um canal é uma referência a estrutura criada por make instrução de envio: ch <-x instrução de recpção em uma instrução de atribuição: x = <-ch instrução de recepção com resultado descartado: <-ch Para fechar um canal close(ch)