数据结构
齐豪
...
展开
-
hash
hash定义hash也称散列、哈希。把任意长度的输入通过散列算法变换成固定长度的输出,该输出就是散列值。hash算法加法、乘法、除法等位运算除留余数h(k) = k % m平方取中法。取关键字平方后的中间几位作为散列地址。hash算法的特点不可逆,从hash值不可以反向推导出原始的数据,既散列算法的不可逆性。计算高效分布均匀,hash算法的冲突概率要小hash 冲突由于hash的原理是将输入空间的值映射成hash空间内,而hash值的空间远小于输入的空间。根据抽屉原理,一定原创 2020-07-24 19:43:42 · 1000 阅读 · 1 评论 -
poj-1182-食物链(并查集)
题目地址http://poj.org/problem?id=1182解题思路对于每只动物i创造三个元素i-A, i-B, i-C, 并用这3*N个元素建立并查集。 i-x表示“i属于种类x”并查集里的每一组内所有元素代表的情况都同时发生或不发生例如,如果i-A和j-B在同一个组里,那么就表示如果i属于种类A那么j一定属于种类B,如果j属于 种类B那么i一定属于种类A。所以: x,y同一类—原创 2017-08-27 17:25:29 · 400 阅读 · 1 评论 -
Expression Expression tree Expression evaluation
题目地址http://dsalgo.openjudge.cn/binarytree/7/题目大意表达式·表达式树·表达式求值 描述 众所周知,任何一个表达式,都可以用一棵表达式树来表示。例如,表达式a+b*c,可以表示为如下的表达式树:+ / \ a * / \ b c现在,给你一个中缀表达式,这个中缀表达式用变量来表示(不含数字),请你将这个中缀表达式用表达式二原创 2017-08-27 16:04:17 · 433 阅读 · 0 评论 -
poj-2255-Tree Recovery(tree)
题目地址http://poj.org/problem?id=2255题目大意给出前序和中序序列,求后续遍历Code#include <stdio.h>#include <iostream>#include <stdlib.h>#include <string.h>#include <sstream>#include <queue>#include <map>#include <ve原创 2017-08-26 20:35:47 · 290 阅读 · 0 评论 -
poj-1686-Lazy Math Instructor(stack)
题目地址http://poj.org/problem?id=1686Code#include <stdio.h>#include <iostream>#include <stdlib.h>#include <string.h>#include <queue>#include <stack>#include <string>#include <map>#include <sstream原创 2017-08-26 01:25:38 · 203 阅读 · 0 评论 -
poj-3295-Tautology
题目地址http://poj.org/problem?id=3295题目大意p, q, r, _s, t是取值0或1的变量K,A,N,C,E是操作给出一个表达式,问这个逻辑表达式是否为永真式。解题思路使用stack遍历p, q, r, _s, t遍历整个字符串,当遇到变量 p, q, r, s ,t 则将其当前的值压栈;遇到 K,A,N,C,E进行出栈操作后入栈最终判断是否为永真原创 2017-08-20 22:26:42 · 208 阅读 · 0 评论 -
排序
#include <iostream>#include <math.h>#include <stdio.h>#include <stdlib.h>#include <algorithm>#include <set>#include <queue>#include <string.h>#define INF 0x3fffffff#define maxn 10005typedef lo原创 2017-07-16 22:43:52 · 187 阅读 · 0 评论 -
多维树状数组
CubeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submission(s): 174 Accepted Submission(s): 90 Problem DescriptionGiven原创 2017-02-03 20:41:39 · 651 阅读 · 0 评论 -
树状数组
KiKi's K-NumberTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 215 Accepted Submission(s): 90 Problem Description原创 2017-02-03 17:54:01 · 149 阅读 · 0 评论 -
并查集
Is It A Tree?Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1164 Accepted Submission(s): 358 Problem Description原创 2017-01-31 17:18:28 · 185 阅读 · 0 评论 -
带权并查集
How Many Answers Are WrongTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 636 Accepted Submission(s): 286 Problem原创 2017-01-31 19:53:35 · 333 阅读 · 0 评论 -
字典树
Hat’s WordsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 293 Accepted Submission(s): 136 Problem Description原创 2017-02-01 21:31:03 · 187 阅读 · 0 评论