Estrutura de Dados - 1 Conceitos Básicos

1 Conceitos Básicos

1.1 O que é uma estrutura de dados

Exemplo 2 passou um número inteiro positivo N, a fim de imprimir todos inteiro positivo de 1 a N:

//递归实现
void PrintN(int N){
	if(N){
		PrintN(N-1);
		printf("%d\n",N);
	}
}

programa recursivo ocupa um grande espaço
para resolver a eficiência do método, com a eficiência de espaço relacionado com
Aqui Insert Picture Descrição
a segunda função padrão
Aqui Insert Picture Descrição
usando relógio () para testar o programa tempo de execução

, no entanto, algum do tempo de término do programa gasto será muito pequeno, aproximadamente igual a 0, então , você pode 重复executar o programa

O que é uma estrutura de dados

Aqui Insert Picture Descrição
Estrutura lógico: estrutura linear (1-1), árvores (um para muitos), figo (muitos)
estrutura de armazenamento físico: ele é utilizado em uma matriz de computador ou lista para economizar memória ligada

tipo de dados abstrato

Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Para um flutuador ou dupla não é importa, ElementType é um tipo de

1.2 O que é um algoritmo

Aqui Insert Picture Descrição

O que é um bom algoritmo

complexidade de tempo T (n)

De acordo com o algoritmo escrito no tempo de execução do programa 耗费时间的长度. Este comprimento é muitas vezes associada com o tamanho dos dados de entrada. será muito alto levar não esperar pelos resultados.

complexidade espaço S (n)

De acordo com o algoritmo escrito no tempo de execução do programa 占用存储单元的长度. Este comprimento é muitas vezes associada com o tamanho dos dados de entrada. O uso excessivo pode causar estouro de memória, fazendo com que o programa é interrompido de forma anormal.
Aqui Insert Picture Descrição
Recursiva cada chamada ocupa uma certa quantidade de espaço de memória para armazenar informações, mas apenas para um ciclo variável temporária e para o ciclo, não há dúvida de qualquer programa de desenho chamado, então ele ocupava o espaço é uma constante.
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
Exemplo:
Aqui Insert Picture Descrição
Algoritmo 1: violência Act. Três aninhados para-circuito, pode vir a ser um N . 3 * 1 constantes
Aqui Insert Picture Descrição
pode ser visto a partir da figura, quando a soma de i a j saber, em conjunto com um número nele, de modo que o ciclo de k pode ser omitido
Aqui Insert Picture Descrição
na medida do possível do n- 2 melhorou a nlogn

Algoritmo 3: dividir e conquistar, em grande problemas complexos cortados em pedaços pequenos, e depois dividir-se para resolvê-los e, finalmente, os resultados são combinados para
Aqui Insert Picture Descriçãodividi-lo em duas partes, a metade esquerda da pesquisa recursiva dos maiores, direita pesquisa recursiva parcial maior do Encontre o meio de alguns dos maiores
Aqui Insert Picture Descrição
computação complexidade de tempo: imagine, quando todo o problema resolvido, há um número N de tempo, se a complexidade é denotada por T (N), então a disponibilidade da complexidade das figuras metade a T (N / 2), por causa do tamanho reduzido para metade.
porção intermédia vermelho: uma vez que o varrimento intermediário a partir da esquerda para a direita e, em seguida, a digitalização, cada elemento 1 são digitalizados, a complexidade deve ser um múltiplo constante de N
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição
correcção não é óbvio (não compreendido)
Aqui Insert Picture Descrição
Aqui Insert Picture Descrição

Publicado 16 artigos originais · ganhou elogios 0 · visualizações 236

Acho que você gosta

Origin blog.csdn.net/qq_42713936/article/details/104679842
Recomendado
Clasificación