54:图的深度优先遍历与广度优先遍历 时间限制: 20000ms 内存限制: 131072kB 描述 给出一个无向图顶点和边的信息,输出这个无向图的深度优先遍历序列和广度优先遍历序列。从一个顶点出发如果有2个以上的顶点可以访问时,我们约定先访问编号大的那个顶点。示例输入对应的图如下图所示: 输入 输 ...
分类:
编程语言 时间:
2020-06-25 21:51:03
阅读次数:
80
一、计算器的计算思路分析 我们以计算3+8*2-6这个算式为例: 将算式解析为数字和符号:3,+,8,*,2,-,6 准备一个用于存放数字的数字栈numStack,还有一个存放运算符号的符号栈symbolStack,下面分别简称栈n和栈s 按顺序扫描解析后的数字和符号, 如果是数字,就直接入数栈n, ...
分类:
其他好文 时间:
2020-06-25 21:07:46
阅读次数:
46
哈希表 开放寻址法: 找到初位置, 如果该位置已经有元素, 在其下一个位置放置 代码模板 int find(int x) { int t = (x % N + N) % N; while (h[t] != null && h[t] != x) { t ++ ; if (t == N) t = 0; ...
分类:
其他好文 时间:
2020-06-25 17:45:13
阅读次数:
49
用于高效存储字符串的数据结构-Trie(字典树) 代码模板 void insert(char s[]) { int p = 0; for(int i = 0; s[i]; i++){ int u = s[i] - 'a'; if(!sons[p][u]) sons[p][u] = ++idx; p ...
分类:
其他好文 时间:
2020-06-25 17:36:06
阅读次数:
39
Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表), set(集合)及 zsetsorted set:有序集合)。 我们实际项目中比较常用的是 string,hash 如果你是 Redis 中高级用户,还需要 加上下面几种数据结构 HyperLogLog、Geo ...
分类:
其他好文 时间:
2020-06-25 17:25:30
阅读次数:
68
1、Redis 不仅仅支持简单的 k/v 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。而 memcache 只支持简单数据类型,需要客户端自己处理复 杂对象 2、Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可 以再次加载进行使用(PS: ...
分类:
系统相关 时间:
2020-06-25 17:19:42
阅读次数:
76
看《深入理解Java虚拟机》中传统垃圾收集器(非G1)使用记忆集(Remembered Set)来处理跨代引用时根节点枚举的问题。里边说到 在新生代上建立一个全局的称为记忆集的数据结构,这个结构把老年代划分为若干个小块,标识出老年代哪一块内存会存在跨代引用。当发生 Minor GC 时,只有包含了跨 ...
分类:
编程语言 时间:
2020-06-25 16:05:02
阅读次数:
90
数组模拟队列 代码模板 const int N = 1e6 + 10; int q[N], hh = 0, rr = -1; void push(int x) { q[++rr] = x; } void pop() { ++hh; } void isempty() { return hh <= tt ...
分类:
其他好文 时间:
2020-06-25 16:04:50
阅读次数:
49
1.介绍 八皇后问题,是一个古老而著名的问题,是回溯算法的经典案例,该问题是国际西洋棋棋手马克斯.贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即 任意两个皇后都不能处于同一行、同一列、同一斜线。问有多少种摆法(92)。 2.思路分析 第一个皇后先放第一行第一列 第二 ...
分类:
编程语言 时间:
2020-06-25 15:48:18
阅读次数:
69
数组模拟栈 代码模板 const int N = 1e6 + 10; int st[N], tt = -1; void push(int x) { st[++tt] = x; } void pop() { --tt; } bool isempty() { return tt >= 0; } void ...
分类:
其他好文 时间:
2020-06-25 15:46:10
阅读次数:
50