那些年一起追过的算法
希望借助这个专栏,能集合各种常用,经典的算法,为自己学习,也为分享给在校大学生或者已经工作的IT从业者
E等于MC平方
这个作者很懒,什么都没留下…
展开
-
关于二叉树的几种遍历方法
先说说二叉树的存储结构,跟很多其它模型一样,也有顺序和链式两种方式。前者虽然使用简单,但是存在浪费空间的问题,举个例子,下图的二叉树,用顺序的方式存储(0表示空,没有子树)是:二叉树就是每个结点最多有两个子树的树形存储结构。先上图,方便后面分析。原创 2014-08-05 20:57:46 · 205892 阅读 · 6 评论 -
KMP算法模式匹配
在一个长串中查找一个子串是较常用的操作。各种信息检索系统,文字处理系统都少不了。本文介绍一个非常著名的KMP模式匹配算法用于子串查找原创 2014-07-15 21:49:56 · 11039 阅读 · 1 评论 -
集合划分问题
转载请注明出处http://blog.csdn.net/pony_maggie/article/details/18048599作者:小马思考下面一个问题,给定正整数n和m,计算出n个元素的集合可以划分为多少个不同的由m(m 这类题可以叫做集合划分问题。面试题里经常出现。先来考虑一个问题,这个算法有实际的应用吗?可能用在类似资源分配的例子上,比如有n个资源,原创 2014-07-12 22:21:56 · 11345 阅读 · 1 评论 -
关于符号位扩展你又知道多少
先看两段代码, 一个是C,一个是java。int _tmain(int argc, _TCHAR* argv[]){ char b = 0x83; short s1 = (short)b; short s2 = (short)(b&0xff); printf("s1 = %d\n", s1); printf("s2 = %d\n", s2); r...原创 2014-07-07 21:48:16 · 17306 阅读 · 2 评论 -
求一个集合的所有子集问题
一个包含n个元素的集合,求它的所有子集。比如集合A= {1,2,3}, 它的所有子集是:{ {1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}, @}(@表示空集)。这种问题一般有两种思路,先说说第一种,递归。递归肯定要基于一个归纳法的思想,这个思想用到了二叉树的遍历,如下图所示:可以这样理解这张图,从集合A的每个元素自身分析...原创 2014-06-15 21:44:56 · 34992 阅读 · 5 评论 -
关于栈及其应用示例
作为一种常用的数据结构, 了解栈对于算法的学习是非常必要的。栈有先进后出的特点,栈底指向数据表中的第一个元素,栈顶指向最后一个元素的下一个位置。如下图所示:栈和线性表类似,也是有两种存储结构,分别为顺序结构和链式结构。大部分情况下,栈使用前者,这和它的使用场景有关,因为通常情况下我们不会对栈进行频繁地,随机地插入,删除操作。下面是我用顺序结构实现的栈,这个栈有个特点就是...原创 2014-06-14 21:38:18 · 14028 阅读 · 0 评论