如何在数据结构和分析方面做得好?

时间:2021-06-30 15:53:31

I want to be good in Data Structures and Analysis esp. in Java. I often find myself very weak. What should I do to be good in it? Any good mental exercises?

我想在数据结构和分析方面做得很好。在Java中。我经常发现自己非常虚弱。我该怎么做才能做得好呢?有什么好心理练习吗?

4 个解决方案

#1


13  

An excellent book on complexity analysis, including the properties of popular and not-so-popular data structures, is Introduction to Algorithms, Second Edition, also referred to as CLRS. It's widely considered to be the bible of algorithms and their analysis.

一本关于复杂性分析的优秀书籍,包括流行和不那么流行的数据结构的属性,是算法导论,第二版,也称为CLRS。它被广泛认为是算法及其分析的圣经。

For something more Java-centric, my undergraduate intro Java course used this book, and I found it to be adequate.

对于更加以Java为中心的东西,我的本科入门Java课程使用了本书,我发现它足够了。

For mental exercises, you might familiarize yourself through practice. Try Project Euler, TopCoder, or google "acm practice problem". This is perhaps the thing that will give you the most tangible benefits in everyday coding. Most all of these will accept and evaluate Java (and C/C++) solutions, so you're all set on the language front.

对于心理练习,您可以通过练习熟悉自己。尝试Project Euler,TopCoder或谷歌“acm练习题”。这或许可以为您提供日常编码中最切实的好处。大多数这些都将接受并评估Java(和C / C ++)解决方案,因此您已经完全掌握了语言。

#2


3  

For the analysis of the data structures, you need to study discrete mathematics (combinatorics) and statistics.

对于数据结构的分析,您需要研究离散数学(组合学)和统计学。

#3


2  

Normally I would recommend CLRS, but since you specifically called out Java in your question, I recommend Objects, Abstraction, Data Structures and Design: Using Java version 5.0. It has really fantastic explanations of data structures and the algorithms that make them work.

通常我会推荐CLRS,但由于你在问题中专门调用了Java,我推荐使用Objects,Abstraction,Data Structures和Design:Using Java 5.0。它对数据结构和使其工作的算法有非常出色的解释。

#4


1  

Algorithms in Java, by R. Sedgewick is a very good book on algorithms, with java implementations.

R. Sedgewick的Java算法是一本非常好的算法书,有java实现。

#1


13  

An excellent book on complexity analysis, including the properties of popular and not-so-popular data structures, is Introduction to Algorithms, Second Edition, also referred to as CLRS. It's widely considered to be the bible of algorithms and their analysis.

一本关于复杂性分析的优秀书籍,包括流行和不那么流行的数据结构的属性,是算法导论,第二版,也称为CLRS。它被广泛认为是算法及其分析的圣经。

For something more Java-centric, my undergraduate intro Java course used this book, and I found it to be adequate.

对于更加以Java为中心的东西,我的本科入门Java课程使用了本书,我发现它足够了。

For mental exercises, you might familiarize yourself through practice. Try Project Euler, TopCoder, or google "acm practice problem". This is perhaps the thing that will give you the most tangible benefits in everyday coding. Most all of these will accept and evaluate Java (and C/C++) solutions, so you're all set on the language front.

对于心理练习,您可以通过练习熟悉自己。尝试Project Euler,TopCoder或谷歌“acm练习题”。这或许可以为您提供日常编码中最切实的好处。大多数这些都将接受并评估Java(和C / C ++)解决方案,因此您已经完全掌握了语言。

#2


3  

For the analysis of the data structures, you need to study discrete mathematics (combinatorics) and statistics.

对于数据结构的分析,您需要研究离散数学(组合学)和统计学。

#3


2  

Normally I would recommend CLRS, but since you specifically called out Java in your question, I recommend Objects, Abstraction, Data Structures and Design: Using Java version 5.0. It has really fantastic explanations of data structures and the algorithms that make them work.

通常我会推荐CLRS,但由于你在问题中专门调用了Java,我推荐使用Objects,Abstraction,Data Structures和Design:Using Java 5.0。它对数据结构和使其工作的算法有非常出色的解释。

#4


1  

Algorithms in Java, by R. Sedgewick is a very good book on algorithms, with java implementations.

R. Sedgewick的Java算法是一本非常好的算法书,有java实现。