先要理解算法是解决问题的思路,语言是用来实现这个思路的工具。学一门语言和学算法没有必然的顺序。
语言仅仅是一种工具,因此,当我们能够自由地使用它来表达自己的想法时,这表明我们对它的初步掌握。
解决问题的思路是算法,所以我们只需要理解算法所体现的解题思路。
但是,仅仅掌握以上两点,就想编写一个有效正确的程序是不可行的。
由于程序由数据结构和算法组成,因此在编写有效、正确的程序时,还需要有一定的数据结构基础,因为具体的算法都是基于数据结构来实现的。也就是,有了什么样的数据存储结构,就有了什么样的算法。因此建议在学习算法的时候,把算法和数据结构结合起来学习。
算法都需要有具体的业务场景,才能知道该算法的适用范围和优点。
算法和语言是相互补充的。一些简单的算法可以先学习,至于机器学习相关的算法在特定领域没有什么用处。
最好还是找一些业务场景用适合的算法来了解更深层次。
至于二叉树就是没有你想象的那么难,他也不过是对程序中客观事物的抽象,先去理解客观事物,自然就可以翻译成程序语言了。
证书可以去阿里巴巴大学去考,有些免费的有的要一点钱,毕竟阿里成了国内的神。考试通过后的认可度也比较高,也不贵。