Skip to content

包含了数据结构,排序算法,LeetCode刷题指南,面试真题等源码

Notifications You must be signed in to change notification settings

H2pl4U/Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 

Repository files navigation

Algorithm

个人算法学习与总结,参考《算法图解》书籍并结合本人理解,编程语言会选择Java和Python,后期可能使用go。 算法图解GitHub网址:https://github.com/egonschiele/grokking_algorithms

学习路线(按书中的来)

  • 第1章:你将学习第一种实用算法——二分查找;还将学习使用大O表示法分析算法的速度。本书从始至终都将使用大O表示法来分析算法的速度。

  • 第2章:你将学习两种基本的数据结构——数组和链表。这两种数据结构贯穿本书,它们还被用来创建更高级的数据结构,如第5章介绍的散列表。

  • 第3章:你将学习递归,一种被众多算法(如第4章介绍的快速排序)采用的实用技巧。

  • 问题解决技巧:将在第4、8和9章介绍。遇到问题时,如果不确定该如何高效地解决,可尝试分而治之(第4章)或动态规划(第9章); 如果认识到根本就没有高效的解决方案,可转而使用贪婪算法(第8章)来得到近似答案。

  • 散列表:将在第5章介绍。散列表是一种很有用的数据结构,由键值对组成,如人名和电子邮件地址或者用户名和密码。散列表的用途之大, 再怎么强调都不过分。每当我需要解决问题时,首先想到的两种方法是:可以使用散列表吗?可以使用图来建立模型吗?

  • 图算法:将在第6、7章介绍。图是一种模拟网络的方法,这种网络包括人际关系网、公路网、神经元网络或者任何一组连接。广度优先搜索 (第6章)和狄克斯特拉算法(第7章)计算网络中两点之间的最短距离,可用来计算两人之间的分隔度或前往目的地的最短路径。

  • K最近邻算法(KNN):将在第10章介绍。这是一种简单的机器学习算法,可用于创建推荐系统、OCR引擎、预测股价或其他值(如“我们认为 Adit会给这部电影打4星”)的系统,以及对物件进行分类(如“这个字母是Q”)。

  • 接下来如何做:第11章概述了适合你进一步学习的10种算法。

About

包含了数据结构,排序算法,LeetCode刷题指南,面试真题等源码

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages