算法
阿文施瓦辛格
这个作者很懒,什么都没留下…
展开
-
蛇形(回形)矩阵
最近面试又碰到了蛇形矩阵的输出,算是比较基础的算法实现,但以为时间紧迫思路有点乱做的不太完美感觉有些东西还是得动手记录一下才有助于记忆和理解,以后碰到了想不起来也可以翻来看看,所以还是得坚持写一下博客。 问题描述: 根据输入的树n,输出其回形矩阵,实例如下: 输入: 4 输出: 1 2 3 4 12 13 14 5 ...原创 2018-03-17 20:15:30 · 1991 阅读 · 0 评论 -
二叉树递归和非递归遍历(先序、中序、后序)
二叉树是一种非常重要的数据结构,很多其他数据机构都是基于二叉树的基础演变过来的。二叉树有前、中、后三种遍历方式,因为树的本身就是用递归定义的,因此采用递归的方法实现三种遍历,不仅代码简洁且容易理解,但其开销也比较大,而若采用非递归方法实现三种遍历,则要用栈来模拟实现(递归也是用栈实现的)。下面先简要介绍三种遍历方式的递归实现,再详细介绍三种遍历方式的非递归实现。 一、三种遍历方式的递归实现 ...原创 2018-03-17 23:01:25 · 982 阅读 · 0 评论 -
快速排序改进优化
以前写的快速排序,基本上按下面伪代码这个套路写出来就完了,但其实对于快排,可以通过很多方面来进行改进以达到更好的效率。 algorithm quicksort(A, lo, hi) is if lo < hi then p := partition(A, lo, hi) quicksort(A, lo, p) quicksort(...原创 2018-03-20 22:46:43 · 1750 阅读 · 0 评论 -
银行家算法
原文地址:https://zh.wikipedia.org/wiki/%E9%93%B6%E8%A1%8C%E5%AE%B6%E7%AE%97%E6%B3%95 背景 在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的需要。在这样的描述中,...转载 2018-04-13 16:25:34 · 452 阅读 · 0 评论