NOTAÇÃO O
-
Esse artigo apresenta soluções algorítmicas para o problema de inverter strings sem inverter as palavras. Serão mostradas soluções que permite resolver o problema sem utilizar nenhuma variável temporária, ou seja, sem nenhum storage. -
Esse artigo tem como objetivo apresentar o algoritmo de Busca em profundidade em uma solução prática escrita em C++. Serão discutidos sua complexidade de tempo e espaço assim como as características básicas do algoritmoBusca em profundidade
-
Esse artigo tem como objetivo apresentar o algoritmo de Busca em largura em uma solução prática escrita em C++. Serão discutidos sua complexidade de tempo e espaço assim como as características básicas do algoritmoBusca em largura
-
Nesse artigo iremos analisar e implementar a estrutura de dados Tabela Hash utilizando a linguagem C++. Iremos abordar uma função hash básica e porquê ela é importante. Além disso veremos alguns casos de uso dessa estrutura de dados.Tipos abstratos de dados - Tabela Hash
-
Esse artigo tem o objetivo de explicar os fundamentos e técnicas por trás do algoritmo de ordenação Quicksort. Serão apresentadas uma análise de complexidade de tempo e espaço assim como uma implementação completa em C++ do algoritmo.O Algoritmo de ordenação Quicksort
-
Esse artigo descreve a estrutura de dados Ring Buffer ou Buffer circular. São discutidos as características, as aplicações, a versatilidade e as complexidades de tempo de espaço que envolvem essa tão importante estrutura de dados.Ring Buffer ou Buffer circular
-
Esse artigo tem como objetivo explicar a intuição por trás do algoritmo Busca Binária ou Binary Search. Iremos ver como caso base a busca sequencial e, à partir disso, entender as motivações para a Busca Binária. Serão apresentadas implementações em linguagem C de forma recursiva e iterativa.Busca Binária
-
Este artigo explica os fundamentos da notação Ω (letra grega ômega) e os motivos pelos quais ela é tão essencial para a análise e complexidade de algoritmos. Exemplos de algoritmos e comportamento assintótico de funções serão mostrados ao longo deste artigo. Ao final você deverá compreender a importância e como aplicar este fundamento em seu dia à dia como cientista da computação.A notação Ômega
-
Este artigo detalha os fundamentos por trás da notação O e os motivos pelos quais ela é tão essencial para a análise e complexidade de algoritmos. Exemplos de algoritmos, comportamento assintótico de funções, limites e análises serão detalhados ao longo deste artigo. Ao final você deverá compreender a importância e como aplicar este fundamento em seu dia à dia como cientista da computação.A notação O
-
Essa teoria vem da matemática do século 19 e é hoje aplicada como método formal de avaliação de algoritmos dentro da Ciência da Computação. Neste artigo você irá entender a história, a intuição e como adotamos este fundamento na análise de complexidade de algoritmos.Comportamento assintótico de funções
-
Este artigo detalha os fundamentos por trás da notação Θ (letra greta Theta) e os motivos pelos quais ela é tão essencial para a análise e complexidade de algoritmos. Exemplos de algoritmos e comportamento assintótico de funções serão detalhados ao longo deste artigo. Ao final você deverá compreender a importância e como aplicar este fundamento em seu dia à dia como cientista da computação.A notação Theta
-
Esse artigo tem o objetivo de explicar os fundamentos e técnicas por trás do algoritmo de ordenação Insertion Sort. Serão apresentadas uma análise de complexidade de tempo e espaço assim como uma implementação completa em C++ do algoritmo.O algoritmo de ordenação Insertion sort