1.逆波兰表达式 是称为 后缀表达式, 把运算量写在前面, 把算符写在后面
写出a*(b-c*d)+e-f/g*(h+i*j-k)的逆波兰表达式
拆开写各个部分的: 按优先级
(1).
a*(b-c*d) -> abcd*-* (逆波兰表达式)
(2).
f/g*(h+i*j-k) -> fg/hij*+k-*
(3).
a*(b-c*d)+e-f/g*(h+i*j-k) -> abcd*-*e+fg/hij*+k-*- (逆波兰表达式)
2. 连续自然数之和为1000的共有几组?(m,n都为自然数,单独1个数也算作“连续自然数”)
首先第一个, 1000
设x, 则 x+(x+1)+(x+2)+.....+(x+n-1)=1000 -> nx + n(n-1)/2 -> x = 1000/n - (n-1)/2
由于 (n-1)/2 必须是偶数, 则n必须是奇数,必须被1000整除,则 n=1, 5 或者 5的倍数,
n=1, x=1000
n=5, x=200 - 2, (1000/5=200=5*5*5*4)
n=5*5, n=5*5*5, 则 共有 4组。
3. 插入排序算法
3.1 对含有31个元素的序列采用直接选择排序算法排序,在最坏情况下需要进行多少次移动才能完成排序
4. 已知存在8阶对称矩阵,采用压缩存储方式按行序为主序存储,每个元素占一个地址空间。若a22为元素的存储地址为1,每个元素占一个地址空间,则a74的地址为( )
5.在数据库ER图中,菱形框表示 联系,
6. 已知主串S=“ababcabcacbab”,模式T=“abcac”。利用KMP算法进行匹配时,需要进行几次才可以匹配成功( ) KMP算法
7. 利用Apriori算法计算频繁项集可以有效降低计算频繁集的时间复杂度。在以下的购物篮中产生支持度不小于3的候选3-项集,在候选2-项集中需要剪枝的是( )
ID 项集
1 面包、牛奶
2 面包、尿布、啤酒、鸡蛋
3 牛奶、尿布、啤酒、可乐
4 面包、牛奶、尿布、啤酒
5 面包、牛奶、尿布、可乐
需要剪枝: 啤酒、面包; 啤酒、牛奶;