本系列博客来源于coursera.org上Princeton的Algorithm I课程,也可看做另一种意义上的学习笔记。因为涉及到honor code,如果有读者发现本博客出现不恰当内容,还请通知笔者,以便及时改正;同时欢迎各位读者参与讨论具体算法或对问题的解决思路,但还请不要在讨论中直接出现实现代码。同时由于博主本身水平有限,有心的读者可以去C站直接学习该课程,这也算是对C站的推广吧。
如果有幸其中某篇文章让您觉得有价值,那是我莫大的荣幸,但如果想转载,还请先联系博主,商量过后再处理,多谢配合。
所谓算法,即解决问题是方法;所谓数据结构,即存储信息的方法。
算法存在的意义是为了解决问题,所以本系列博客将从实际问题出发,讨论数据类型,经典的排序与搜索算法,基础图论算法,字符串处理以及可能还有的其他高级算法。
本博客中的文章的形式暂定为先提出一个具体问题,由分析此问题开始,提出朴素算法,并逐步优化,最后讨论相关经典算法。文章中可能会出现伪代码或者某些基本的实现代码,实现代码为JAVA语言,但可能会同时给出C/C++版本(这完全看博主心情),不会对编程基础内容进行讲解,要求读者有一定的CS基础。
最后,本系列博客会有很多博主自己的观点,对可能出现的谬误先在此道歉,还请各位读者不吝斧正。