Complexidade de tempo é a medida de quanto tempo um algoritmo levará para completar uma corrida através do processo. Para medir a complexidade de tempo com C + +, você tem uma variedade de opções. Este tutorial funciona através do processo de encontrar complexidade de tempo . Instruções
1
Identifique o seu algoritmo. Dependendo do seu algoritmo , você terá que usar uma medida diferente de complexidade de tempo . Há uma variedade de diferentes tipos de algoritmos , incluindo logarítmica, força bruta, a iteração eo índice de array. Depois de ter identificado o seu algoritmo você pode começar a analisá-lo.
2
Encontre o Tempo Complexidade. Esta é a parte difícil . Para encontrar a complexidade de tempo do seu algoritmo específico, alimentá-lo com quantidades cada vez maiores de dados e ver como ele fica mais lento. Você também pode analisar os passos do algoritmo e ver como ele se encaixa em problemas de complexidade de tempo analisado passadas . Confira informações sobre Big O notação e informações sobre algoritmos para obter mais ajuda (consulte Recursos) .
3
Analisar a complexidade de tempo para encontrar o melhor caso para o seu processo. Se o algoritmo pode ser realizado com um método mais rápido , você pode querer trabalhar no sentido de implementar o método mais rápido. Geralmente , os algoritmos de ir mais rápido para o mais lento , por esta ordem : constante de tempo , tempo logarítmica , tempo linear , polinomial , tempo exponencial e tempo factorial . O mais rápido é geralmente um olhar direto e até o momento é a mesma, não importa o quanto a entrada de grande porte. O mais lento é geralmente um método de força bruta de uma espécie que corre através de cada possibilidade e diminui consideravelmente com o aumento da entrada de tamanho. Pode não valer a pena para otimizar o algoritmo para uma complexidade de tempo mais rápido se o aumento seria bastante pequeno ou se você está lidando com menores quantidades de dados. No entanto, se você está lidando com grandes quantidades de dados , então você pode querer considerar tomar o tempo extra para descobrir como criar o código mais otimizado .