Que algoritmos / estruturas de dados devo “reconhecer” e conhecer pelo nome? [fechadas]

69

Eu gostaria de me considerar um programador bastante experiente. Eu tenho programado por mais de 5 anos agora. Meu ponto fraco, porém, é terminologia. Sou autodidata, então, embora eu saiba programar, não conheço alguns dos aspectos mais formais da ciência da computação. Então, quais são algoritmos práticos / estruturas de dados que eu poderia reconhecer e conhecer pelo nome?

Note que não estou pedindo uma recomendação de livro sobre a implementação de algoritmos. Eu não me importo em implementá-los, só quero ser capaz de reconhecer quando um algoritmo / estrutura de dados seria uma boa solução para um problema. Estou pedindo mais uma lista de algoritmos / estruturas de dados que eu deveria "reconhecer". Por exemplo, eu sei a solução para um problema como este:

You manage a set of lockers labeled 0-999. People come to you to rent the locker and then come back to return the locker key. How would you build a piece of software to manage knowing which lockers are free and which are in used?

A solução seria uma fila ou pilha.

O que eu estou procurando são coisas como "em que situação deve ser usada uma árvore-B - Qual algoritmo de busca deve ser usado aqui" etc. E talvez uma introdução rápida de como a mais complexa (mas comumente usada) trabalho de estruturas / algoritmos de dados.

Eu tentei olhar para a lista da Wikipedia de estruturas de dados e algoritmos mas acho que é um pouco exagerado. Então, estou procurando mais por quais são as coisas essenciais que devo reconhecer?

    
por Earlz 04.07.2012 / 22:14
fonte

0 respostas