Skip to content

pandavickey/Algorithms

 
 

Repository files navigation

Algorithms

每天写点算法。

所有算法的测试用例在Main.java中,运行这个文件便可以看到结果。

##二叉树遍历(递归与非递归)

2016年5月18日

前序遍历

中序遍历

后序遍历

##八皇后(回溯法)

2016年5月19日

八皇后

##二叉排序树

2016年5月20日

二叉排序树

##二叉树的高度(递归和非递归)

2016年5月21日

初中开始编程,之前很擅长递归变非递归。这两年算法题几乎没怎么做,所以最近自己多写写。

个人觉得非递归算法很有意思,校招迅雷的时候,跟面试官将了一下怎么将递归变非递归,当时他觉得太牛了。

很多人会觉得我代码太复杂,尤其昨天BST节点删除的代码估计很多人看了会吐血。我写算法一般不看别人的代码,完全是自己理解后写的,是适合自己的。我觉得时间复杂度都差不多,最多差个常数,所以代码复杂点无所谓。何况我自己写算法只是想保持思维,不是想考ACM。

二叉树的高度

##并查集

2016年5月22日

并查集

##骑士巡游(递归和非递归)

2016年5月23日

骑士巡游

##阿克曼函数(Ackermann function)递归与非递归

2016年5月24日

Ackermann function

##快速排序(递归与非递归)

2016年5月25日

自虐一番,写一个非递归快速排序,这次用state表示递归函数执行到的地方,并且将需要用到的临时变量i保存在stack中。

估计不会有人蛋疼地写一个非递归快排,呵呵!

我觉得非递归先放一下啦,还有好多算法要温习,所以最近暂时不写非递归了。

非递归快速排序

##八数码问题(九宫格问题)

2016年5月26日

这次练一下BFS,下次用A*解决问题。

八数码问题

About

每天写点算法。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%