Postura de aprendizagem correta da estrutura de dados e algoritmo: 10 recomendações de lista de livros de alta qualidade, para download

Um leitor diao me pediu para recomendar um livro sobre estruturas de dados e algoritmos.Acho que é necessário popularizá-lo para todos, porque algoritmos e estruturas de dados são tão importantes - parece que nós humanos não podemos viver sem oxigênio e plantas verdes. Inseparável do dióxido de carbono!

Por favor, goste sem escrúpulos, procure por [ Silent King Two ] no WeChat e siga este programador que viveu em Luoyang, a antiga capital das Nove Dinastias.

Este artigo   foi incluído no GitHub  github.com/itwanger e também há perguntas para entrevistas que preparei cuidadosamente para você.

Além de diao, há uma garota que deixou uma mensagem para mim em segundo plano, e também recomendou uma onda de livros sobre estruturas de dados e algoritmos:

Diante disso, passei dois dias sem comer nem beber e, finalmente, resolvi tudo. Além disso, também preenchi os membros do Baidu Netdisk e da CSDN (bons recursos de download) e também pedi a vários especialistas em estrutura de dados e algoritmos para verificar se minha lista de livros é confiável - eles concordam. A afirmação da minha contribuição.

Alguns leitores podem ter essas dúvidas, para que servem as estruturas de dados? O algoritmo de aprendizagem é necessário? Deixe-me responder a essas duas perguntas primeiro.

No campo da informática, esses problemas costumam ser tratados:

1) Se os dados estiverem armazenados no computador.

2) Qual método é usado para resolver este problema.

Dados são a síntese de todas as informações que podem ser inseridas no computador. A estrutura se refere à relação entre os dados, e a estrutura de dados é para armazenar os dados e a relação entre eles no computador. Como realizar o armazenamento? Você precisa escolher o algoritmo certo para ser mais eficiente.

Niklaus Wirth, o pai de Pascal e o pioneiro da programação estruturada, tem um livro muito famoso chamado " Algoritmo + Estrutura de Dados = Programa ". Pode-se ver que as estruturas de dados e algoritmos são muito importantes para o design de programas.

Estruturas de dados e algoritmos, como sistemas operacionais e redes de computadores, parecem estar muito próximos de nós, mas parecem estar distantes.

A razão é que, se você não entender a estrutura de dados e o algoritmo, basicamente não conseguirá passar na entrevista, seja recrutamento escolar ou social. A razão para isso é que, no trabalho real, se o negócio subjacente do sistema operacional, mecanismo de pesquisa, programação de rede, etc. não estiver envolvido, se o desempenho não for considerado, parece que ele não é usado de forma alguma. Contanto que a API encapsulada pela linguagem de programação seja chamada corretamente , Contanto que a estrutura seja usada proficientemente, o código ainda pode ser escrito em 66.

Como um veterano que está no campo da programação há mais de dez anos, devo lembrar solenemente a todos aqui.

Se você é um estudante universitário, deve aprender estruturas de dados e algoritmos; do contrário, você se arrependerá ao bater em um obstáculo na entrevista, a menos que planeje passar a vida inteira em uma pequena empresa.

Se você faz um exame de admissão à pós-graduação, a estrutura de dados também é uma disciplina obrigatória.

Se você já participou do trabalho e quer se livrar do rótulo CRUD, você também deve aprender a estrutura de dados e algoritmo, caso contrário, você só pode ficar no estágio de engenheiro assistente e engenheiro e não pode ir mais longe.

Além disso, o domínio da estrutura de dados e do algoritmo também ajudará a ler o código-fonte e a entender as ideias de design por trás dele.

Depois de entender a importância das estruturas de dados e algoritmos, acredito que os leitores e amigos mal podem esperar, se preparando e ansiosos para tentar: "Diga-nos quais livros devemos ler!"

O primeiro livro, "Dahua Data Structure"

A maior característica do livro "Dahua Data Structure" é que torna a teoria muito interessante e não entediante. O maior problema em ler livros técnicos não é que o livro seja clássico ou não, mas se você pode lê-lo na, e se você pode ler, depois de aprender, este livro é um bom livro. Se você não pode entrar nele, mesmo um livro clássico, não vai te ajudar a aprender em nada, certo?

Existem análises mistas deste livro na Internet, mas as vendas gerais ainda são muito boas, e o autor também é um antigo programador. A linguagem C usada para os exemplos do livro.

O segundo livro, "An Illustrated Algorithm"

Assim como o subtítulo do livro "Ilustração de Algoritmos" (código implementado em linguagem Python), "Introdução a Algoritmos tão interessantes quanto romances", o tema principal é "gráficos", fáceis de entender, e o aprendizado é muito mais fácil, sim Certo?

Através do estudo dos dois livros "Dahua Data Structure" e "Algorithm Illustration", acredito que os leitores e amigos poderão começar a trabalhar com estruturas de dados e algoritmos. Se você quiser aprender mais sistematicamente e em profundidade, continue lendo.

O terceiro livro, "Estrutura de Dados e Análise de Algoritmo"

O livro preto, à primeira vista, você sabe que é um livro clássico, certo? O autor do livro "Data Structure and Algorithm Analysis" também está muito atento.Os exemplos não estão apenas na versão Java, mas também na versão C e na versão C ++.

Isso resolve os problemas de muitos leitores e amigos. Não sou bom em C. Só quero assistir a versão Java. O leitor giao me pediu para recomendar alguns livros da versão Java para ele.

O quarto livro, "Sword Finger Offer"

Este livro analisa 80 perguntas típicas de entrevistas de programação. Se você pode entender o conteúdo deste livro, não deve ser um problema lidar com entrevistas em empresas em geral.

Para ser franco, aprender algoritmos e estruturas de dados será muito difícil. Como tanto esforço foi dedicado, nosso objetivo é muito claro. Para obter uma posição de trabalho melhor, o livro "Sword Finger Offer" irá certamente ajudar. nós.

Se você quiser escovar as perguntas, pode escolher Niuke.com ou Likou. Se você for um programador Java, use o Java para escovar as perguntas.

Niuke Net:

https://www.nowcoder.com/ta/coding-interviews

Botão Forçar:

https://leetcode-cn.com/problemset/lcof/

Depois de ler esses quatro livros cuidadosamente, se você puder lê-los um por um, acredito que os leitores e amigos podem dizer com segurança: "Estrutura de dados e algoritmo, venci!"

“Existem mil Hamlet para mil leitores.” Diferentes leitores se sentem diferentes quando lêem o mesmo livro. Da mesma forma, quando um leitor lê livros diferentes sobre o mesmo assunto, os resultados serão muito diferentes.

Então eu acho que é necessário recomendar alguns outros livros para diferentes leitores escolherem.

O quinto livro, "Interesting Learning Data Structure"

A explicação é mais vívida, descrita em C ++, adequada para iniciantes básicos. O autor Chen Xiaoyu é de Henan e escreveu outro livro sobre algoritmos, que também é adequado para iniciantes.

O sexto livro, "Aha Algorithm"

Uma introdução interessante aos algoritmos, implementados em linguagem C, sem descrições chatas, sem fórmulas difíceis, tudo é baseado em aplicações práticas.

O sétimo livro, "Comic Algorithm: Xiao Hui's Algorithmic Journey"

Na forma de quadrinhos, descreve o conhecimento básico de algoritmos e estruturas de dados, questões de entrevista de algoritmo complexas e mutáveis ​​e cenários de aplicação prática de algoritmos. Existem duas edições, uma para Python e outra para Java.

O oitavo livro, "Code Interview Guide for Programmers: The Optimal Solution of Algorithms and Data Structure Problems for Famous IT Companies"

Este é um "livro mágico" para entrevistas de código de programador! O livro resume as melhores soluções para várias perguntas nas entrevistas de código de empresas de TI famosas e fornece implementações de código relacionadas. Quase 300 perguntas clássicas da entrevista de código que realmente apareceram são selecionadas. Depois de "escovar" este livro, você será o "rei das perguntas". "!

O mesmo pode ser feito no Niuke online:

https://www.nowcoder.com/ta/programmer-code-interview-guide

O nono livro, "Algorithm"

Este é um livro de algoritmos muito adequado para auto-estudo e como material didático, cujas características são: base muito abrangente, gráficos claros e fáceis de entender e baixos requisitos matemáticos. O código é implementado em Java. Embora seja um grande livro, é difícil de entender.

O décimo livro, "The Beauty of Data Structures and Algorithms"

A rigor, este não é um livro, é uma coluna paga lançada pela plataforma no horário XX (embora seja muito enigmático, mas vamos ganhar dinheiro). Não direi mais sobre os motivos da recomendação. Os livros são uma escolha se estiverem cansados.

Eu recomendo esses dez livros primeiro, o suficiente para que todos possam estudar por um tempo. Por fim, deixe-me falar sobre os métodos de aprendizagem de estruturas de dados e algoritmos. Em suma, há dois pontos:

1) Escolha um livro adequado

Resolvi esse problema para todos. Não importa o livro que você escolher, o mais importante é começar. Não hesite, já é uma vantagem.

2) Realização e aplicação da programação

Compreender não significa que você pode usá-lo, certo? Somente fazendo você mesmo e praticando repetidamente você pode realmente dominá-lo. Você pode não se lembrar da primeira prática, depois da segunda e da terceira vez, não seja impaciente, dê a si mesmo algum tempo e paciência.

Se você tiver algum dinheiro sobressalente em suas mãos, é recomendável comprar diretamente livros de papel para ler; se você estiver realmente apertado e o dinheiro for para comprar presentes para o objeto, o seguinte link do Baidu pode aliviar sua pressão financeira:

Link para download: https://pan.baidu.com/s/1rB-CCjjpKPidOio7Ov_0YA Senha: g5pl

Por fim, espero que essas sugestões sinceras de meu irmão possam lhe ajudar um pouco! ame a paz e durma!

Acho que você gosta

Origin blog.csdn.net/qing_gee/article/details/108577084
Recomendado
Clasificación