摘要: 位运算资料 :http://baike.baidu.com/view/379209.htm(百度百科)poj 1753 Flip Gamehttp://poj.org/problem?id=1753 1 #include 2 #include 3 #include 4 #include 5 usin... 阅读全文
posted @ 2013-08-08 16:23 Fann0221 阅读(306) 评论(0) 推荐(0) 编辑
摘要: poj 1068 Parencodingshttp://poj.org/problem?id=1068 1 #include 2 #include 3 #include 4 int vis[100]; 5 int q[100]; 6 void chack(char str[]) 7 { 8 9 int count=0;10 int i,j,k,d;11 int len=strlen(str);12 for(i=0;i=0;j--)18 {19 if(str[j]=='('&&!vis[j])2... 阅读全文
posted @ 2013-08-08 15:57 Fann0221 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 对于用低级编程语言是实现对运算式的处理,后缀式(逆波兰式)最为简便。下面是将中缀式(常见运算式)转换为后缀式的算法:栈底放‘#’,从左至右逐字读取中缀式: a.当当前字符为数字时,直接输出; b.当当前字符为"("时,将其压栈; c.当当前字符为")"时,则弹出堆栈中最上的"("之前的所有运算符并输出,然后删除堆栈中的"(" ; d.当当前字符为运算符时,则依次弹出堆栈中优先级大于等于当前运算符的(到"("之前为止),输出,再将当前运算符压栈; e.当为"#"时,弹出所有栈中 阅读全文
posted @ 2013-07-31 20:02 Fann0221 阅读(4888) 评论(0) 推荐(0) 编辑
摘要: 数据结构与算法——图 图(graph)是一种比线性表、树更为复杂的数据结构。在线性表中,数据元素之间呈线性关系,即每个元素只有一个直接前驱和一个直接后继。在树型结构中,数据元素之间有明显的的层次关系,即每个结点只有一个直接前驱,但可有多个直接后继,而在图结构中,每个结点即可有多个直接前驱,也可有多个直接后继,因此,树结构是图结构的一种特殊情形。当一个树结构中允许同一结点出现在不同分支上时,该树结构实际上就是一个图结构。图的最早应用可以追溯到十八世纪数学家欧拉(EULer)利用图解决了著名的哥尼斯堡桥的问题,为图在现代科学技术领域的应用奠定了基础。一、图的基本概念1、图的定义 图是一种数据结构, 阅读全文
posted @ 2013-06-29 15:24 Fann0221 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 数据结构实验之栈三:后缀式求值Time Limit: 1000MS Memory limit: 65536K题目描述对于一个基于二元运算符的后缀表示式(基本操作数都是一位正整数),求其代表的算术表达式的值。输入输入一个算术表达式的后缀式字符串,以‘#’作为结束标志。输出求该后缀式所对应的算术表达式的值,并输出之。示例输入59*684/-3*+#示例输出57提示基本操作数都是一位正整数! 1 #include 2 #include 3 #include 4 typedef struct Node 5 { 6 int data; 7 struct Node *next;... 阅读全文
posted @ 2013-06-22 19:55 Fann0221 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 栈(Stack)是限定只能在表的一端进行插入和删除操作的线性表。在表中,允许插入和删除的一端称作“栈顶(top)”,不允许插入和删除的另一端称作“栈底(bottom)”。 通常称往栈顶插入元素的操作为“入栈”,称删除栈顶元素的操作为“出栈”。因为后入栈的元素先于先入栈的元素出栈,故被称为是一种“后进先出”的结构,因此又称LIFO表(Last In First Out的缩写)。和线性表类似,栈也有两种存储表示:顺序栈和链栈。 顺序存储结构简称为顺序栈。和顺序表类似,对顺序栈也需要事先为它分配一个可以容纳最多元素的存储空间。用图表示顺序栈如下:链栈即为栈的链式存储结构。顺序栈的实现依靠数组... 阅读全文
posted @ 2013-06-21 21:32 Fann0221 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 整数划分问题是算法中的一个经典命题之一。 所谓整数划分,是指把一个正整数n写成如下形式: n=m1+m2+m3+....+mi;(其中mi为正整数,并且1<=mi<=n),则{m1,m2,m3,....,mi}为n的一个划分。 如果{m1,m2,m3,....,mi}中的最大值不超过m,即max{m1,m2,m3,....,mi} <= m,则称它属于n的一个m划分。这里我们记n的m划分的个数为f(n,m); 例如当n=4时,它有5个划分:{4}、{3,1}、{2,2}、{2,1,1}、{1,1,1,1}; 注意:4=1+3和4=3+1被认为是同一个划分。 该问题是求出n的所 阅读全文
posted @ 2013-06-15 21:15 Fann0221 阅读(506) 评论(0) 推荐(0) 编辑
摘要: 这道题以前做过,当时是照着课本敲了一遍代码,并不是很理解,现在又重做一遍。。。 1 #include 2 int dx[]= {0,1,1,-1,-1,2,2,-2,-2}; 3 int dy[]= {0,2,-2,2,-2,1,-1,1,-1}; 4 int main() 5 { 6 i... 阅读全文
posted @ 2013-04-08 21:34 Fann0221 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 花了三个小时写成的代码。。。。呼。。。累死了。。。 1 #include 2 #include 3 #include 4 typedef struct Node 5 { 6 char s[10]; 7 int data; 8 struct Node *next... 阅读全文
posted @ 2013-04-02 22:28 Fann0221 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 寒假集训时学的有关树的东西都忘得差不多了,复习一遍,再做题。 树 树是一类重要的非线性数据结构,是以分支关系定义的层次结构。定义 定义:树(tree)是n(n>0)个结点的有限集T,其中:有且仅有一个特定的结点,称为树的根(root)。当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,……Tm,其中每一个集合本身又是一棵树,称为根的子树(subtree)。 特点: 树中至少有一个结点——根。 树中各子树是互不相交的集合。 基本术语 结点(node)——表示树中的元素,包括数据项及若干指向其子树的分支; 结点的度(degree)——结点拥有的子树数; 叶子(l 阅读全文
posted @ 2013-03-26 19:48 Fann0221 阅读(227) 评论(0) 推荐(0) 编辑