算法通关之路
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第1章 预备知识

在正式开始学习本书之前,需要一点预备知识,来帮助我们更好地学习。这些知识包括如下内容。

● 一门编程语言,最好对Python语言有所了解。本书的代码采用Python语言编写,当然不了解Python语言也没关系,书中的每一段代码,作者都使用了多种语言来实现,读者可以到本书的官方网站(leetcode-solution,cn域名)免费查看和获取。另外,本书只用到了Python语言的一小部分,并且尽量不使用语言特有的API,以减轻读者的语言认知负担。

● 基础的数据结构和算法知识。本书主要围绕力扣(LeetCode)上那些经典、高频的题目进行讲解,帮助读者建立系统的知识体系,更有效率地刷题,因此读者需要提前掌握基础的数据结构和算法知识,了解数组、链表、队列、栈、树等数据结构,对二分法、分治法、动态规划、回溯法等要有一个简单的认识。本书将在1.2节对基础的数据结构和算法知识进行梳理。

● 对算法复杂度的分析。要想真正分析透一道算法题目,一定要对其复杂度了如指掌。关于如何分析一个算法的复杂度,本书将在1.3节复杂度分析部分进行讲解。