Estrutura de dados e resumo do algoritmo (fim)

Depois de aprender o algoritmo do tempo geek, comecei a seguir Huahuajiang para retocar as perguntas. Provavelmente desde abril. A partir de hoje (2020-8-24), comece a resumir e revisar os tópicos que foram escovados. Até agora, o Leetcode corrigiu 323 questões.
2020/8/24 conclua a classificação dos tópicos, a próxima etapa é adicionar um hiperlink para cada tópico. Este hiperlink aponta para o blog do csdn tanto quanto possível.

23/10/2020 Completou 12 questões e completou a tabela de hash. O progresso é um pouco lento. A maioria dos problemas não pode ser resolvida à primeira vista, como se você tivesse esquecido tudo o que fez antes. Mas assim que olhei para a resposta, lembrei-me da situação em que eu mesmo estava fazendo a pergunta. continuar.

2020/11/5 Complete a árvore binária, tabela de salto e partes de string. Algum código na árvore binária não foi escrito, apenas olhei para ele. Pular fora do relógio por muito tempo queria escrever à mão. Eu queria revisar a parte da corda há muito tempo.

2020/11/14 completou a parte da imagem. Os exercícios na parte da estrutura de dados são concluídos. Comece os exercícios na parte do algoritmo.

2020/11/30 completou dois pontos.

O algoritmo de escovação de retrocesso 2020/12/18 é relativamente simples, tópicos difíceis precisam pintar um
algoritmo de retrocesso de
2020/12/24 escovando a escovação de programação dinâmica de 2021/1/2. Descobri que ainda há algumas coisas que não consigo entender ao lidar com a programação dinâmica de strings. Este artigo foi atualizado.

1 Princípios de perguntas de escovar

De acordo com as recomendações de Huahuajiang, as seguintes conclusões são tiradas.
Quantas perguntas escovar
1 10-20 para cada tipo, 200-300 perguntas no total

Como escovar as perguntas
1 Escove o mesmo tipo de perguntas
2 Veja o código é muito importante, veja pelo menos 3 a 5 implementações diferentes
3 Primeira passagem: Veja a resposta se você não conseguir pensar nela em 5 minutos; Segunda passagem: tente não ver a resposta totalmente realizada, uma pergunta Não mais do que 60 minutos; na terceira vez: tente alcançá-la rapidamente, basta olhar para a resposta se falhar dentro de 15-20min
4 Código escrito à mão completo para melhorar a memória muscular
5 Cultive o estilo do código

2 Classificando questões de estrutura de dados

De acordo com o princípio de reescrever perguntas, esta é a minha segunda vez que reescrever perguntas. Na verdade, contando as anteriores intermitentes, não é exagero contar três pincéis.
Desta vez, a classificação de tópicos resolverá os tópicos pós-aula no tópico do algoritmo do horário geek anterior e os tópicos eliminados desta vez. Esta parte classifica os tópicos da estrutura de dados.

2.1 Array

  1. 15 3sum
  2. 169 Elemento Majoritário
  3. 41 Positivo ausente

2.2 Lista Vinculada

  1. 141 LinkedListCycle I
  2. 23 Mesclar k listas classificadas

2.3 Pilha

  1. 20 parênteses válidos
  2. 32 mais longos parênteses válidos
  3. 150 Avaliar Notatio Polonês Inverso

2.4 Fila

  1. Toque agradável Design 641
  2. 239 Janela Deslizante Máxima

Tabela de hash 2,5

Implementar uma tabela de hash com base no método de lista vinculada para resolver o problema de conflito e
implementar um algoritmo de eliminação de cache LRU

2.6 Árvore Binária

Realiza uma árvore de pesquisa binária e oferece suporte a operações de inserção, exclusão e pesquisa.
Realiza a pesquisa pelo sucessor e predecessor de um nó na árvore de pesquisa binária.
Realiza a ordem anterior, intermediária e posterior da árvore binária e atravessa a
Árvore Binária Invertida
Profundidade máxima da árvore binária.
Valide a
soma do caminho da árvore de pesquisa binária

2.7 Heap

Realiza um heap superior pequeno, um heap superior grande ( descrição da estrutura do heap ), fila de prioridade
Realiza a classificação do heap Usar fila de prioridade
Mesclar K matrizes ordenadas
Encontre o K superior máximo de um grupo de conjuntos de dados dinâmicos

2.8 Tabela de salto

A realização da tabela de salto (consulte Xiaohui )

2.9 Diagrama

Realize a matriz de adjacência e os métodos de representação da lista de adjacência de grafos direcionados, grafos não direcionados, grafos ponderados e grafos não ponderados
Realize busca em profundidade e busca em amplitude de grafos
Realize o algoritmo de Dijkstra, algoritmo A *
Realize o algoritmo de Kahn, algoritmo DFS para classificação topológica

2.10 Árvore Trie

  1. Árvore de teste contendo apenas 26 letras em inglês de a a z

3 Organização de tópicos algorítmicos

3.1 Classificar

1 Classificar : implementar classificação por mesclagem, classificação rápida, classificação por inserção, classificação por bolha, classificação por seleção
2 programação para atingir complexidade de tempo O (n) para encontrar o K-ésimo maior elemento de um conjunto de dados
3 também lembre-se de ter classificação por bucket e classificação por contagem

3.2 Dois pontos

  1. 35 Pesquisa Inserir Posição
    Tópicos semelhantes: 34, 704, 981
    tag: upper_bound
  2. 33 Search in Rotated Sorted Array
    相似 题目 : 81 、153154162、 852
    tag: rotated; peek
  3. 69 tag Sqrt (x)
    : upper_bound
  4. 74 Pesquisar uma matriz 2D
  5. 875 Koko Eating Bananas
    Título semelhante: tag 1011
    : guess ans and check
  6. 4 mediana de duas matrizes classificadas
  7. 378 K-ésimo menor elemento em uma matriz classificada
    Perguntas semelhantes: 668
    tag: k-ésimo + matriz Dicotomize os valores na matriz, sinta-se como se estivesse tentando adivinhar e verificar
  8. 719 Encontrar K-th menor distância de par
    Título semelhante: 786
    tag: k-th + two pointers

3.3 Pesquisa (BFS, DFS) / retrocesso

  1. 17 combinações de letras de um número de telefone
    Perguntas semelhantes: 39 , 40, 77 , 78 , 90 , 216
    tag: combinação
  2. 46 Permutações
    tópicos semelhantes: 47, 784 , 943 , 996
    tag: permutação
  3. 22 Gerar parênteses
    Tópicos semelhantes 301
    tag: DFS
  4. 37 Sudoku Solver
    Tópicos semelhantes: 51 52
    tag: DFS
  5. 79 Word Search
    tópicos semelhantes: 212
    tag: DFS
  6. 127 Word Ladder
    Tópicos similares: 126 , 752 , 818
    tag: BFS
  7. 542 01 Matrix
    tópicos semelhantes: 675 , 934
    tag: BFS
  8. 698 Partição para subconjuntos de soma igual de K
    Tópicos semelhantes: 93 , 131 , 241 , 282 , 842
    tag: permutação

3.4 Hash

3.5 Ganância

3.6 Dividir e conquistar

  1. 169 Elemento Majoritário
  2. 153 Encontre o mínimo em
    problemas semelhantes de matriz classificada girada 154
  3. 912 Sort and Array
  4. 315 Contagem de números menores depois de mim

3.7 Programação dinâmica

  1. 70 Subindo escadas Tópicos semelhantes: 746 , 1137
  2. 303 Range Sum Query - Immutable Título semelhante: 1218
  3. 53 Maximum Subarray Tópicos semelhantes: 121
  4. 62 Tópicos semelhantes de caminhos exclusivos : 63 , 64 , 120 , 174 , 931, 1210
  5. 85 Retângulo máximo Tópicos semelhantes: 221 , 304, 1277
  6. 198 House Robber Tópicos semelhantes: 213 , 309 , 740 , 790 , 801
  7. Tópicos semelhantes para 279 quadrados perfeitos :
  8. 139 Quebra de palavras perguntas semelhantes 140 , 818
  9. Subseqüência crescente de 300 Tópicos semelhantes: 673 , 1048
  10. E um caminho mínimo (veja um acabamento detalhado @Smallfly Minimum Path Sum)
  11. Programação para alcançar a menor distância de edição de Levinstein
  12. Programação para encontrar a subsequência comum mais longa de duas strings

3.8 Correspondência de strings

  1. 344 String reversa
  2. 151 Reverter palavras em uma string
  3. 8 String para Inteiro (atoi)
  4. km²
  5. Autômatos
    AC - Introdução aos
    autômatos AC Os autômatos AC são um kmp de correspondência de padrões múltiplos. O artigo não o leu em detalhes. O código copiado foi executado.

Acho que você gosta

Origin blog.csdn.net/flying_all/article/details/108192559
Recomendado
Clasificación