由买买提看人间百态

topics

全部话题 - 话题: 表达式
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)
K*****k
发帖数: 430
1
来自主题: JobHunting版 - 关于算术表达式求值的谜思?
很多数据结构参考书都说,后缀式(逆波兰式)比较适合求值,用一个操作数栈来计算.
但是表达式通常是中缀式,那么如何转为后缀式呢?一种方法是构造中序表达式树,然
后输出后序。但这方法比较麻烦,还有一种方法是利用一个操作符栈结合算符优先级表
,可以把中缀式转为后缀式。
所以分两步走:
1. 一个操作符栈 + 算符优先级表, 中缀式 ->后缀式
2. 后缀式 + 一个操作数栈, 表达式求出结果
但是严蔚敏的数据结构书还介绍了一个经典的方法:
双栈 + 算符优先级表的方法直接对表达式求值,无需引入后缀式的概念。
请问这两种方法是否本质相同?(都涉及了操作符栈,操作数栈和算符优先级表)
严的方法是否就是不显示求出后缀式,但实际上每一步都直接把后缀式的中间计算结果
算出来入栈?
t****a
发帖数: 1212
2
来自主题: JobHunting版 - 一道题:表达式求值?
表达式包含三种元素:
数字:简单起见仅仅考虑整数
运算符:分为单目和双目运算符两类,单目运算符比如负号。运算符有优先级,^ > */
> +-
括号:括号可以改变计算的优先级
要求写一个算法,可以计算表达式比如 (1+2)*3/4^5
为了方便解析,表达式中所有的相邻元素用空格分开,比如( 1 + 2 ) * 3 / 4 ^ 5
如果表达式有错误那么就报错,否则返回计算结果
怎么做?
c*******i
发帖数: 30
3
如何判断逻辑表达式的内容是否相同?
例如:
已知表达式(String):(a and b) or (b and c) or (a and d)
输入一个形式一样的表达式:
(c and b) or (a and d) or (b and a) 相同
(a and c) or (b and d) or (a and b) 不同
除了brute force,可以用什么数据结构或者比较好的方法做判断么?
d******g
发帖数: 14
4
偶的code里需要有一些数学表达式,长度大概5-20K字节不等,因为
都是Maple自动生成的,写code的时候只要copy paste,不用具体的
去看这个表达式,所以想把每一个表达式都以单行的形式放在code
里面(关掉自动wrapping),这样不用每次都page up/down好几次才能
看到下一行code,不过好像在哪里看到过说C++的compiler对单行的长度有
限制,不知道哪里能找到GCC对单行长度的具体限制?
a*i
发帖数: 126
5
来自主题: Military版 - 作业式学习跟表达式学习
学习方法基于学习能力, 并由学习效率来评价。
20岁以下的,认知能力没有发育完成。表达式学习有困难。
另外,表达式学习需要的资源太多,很多人支付不起。
a****l
发帖数: 8211
6
来自主题: JobHunting版 - 请问关于C语言的复杂表达式。
普通的表达式是中缀表达式,根本的意思就是从中间看起,然后左边看一下右边看一下.
n*******s
发帖数: 482
7
补充一下 在最后的结果表达式中,数字的顺序随便(但必须k个都用到),操作符的选择
和顺序随便,括号
的选择随便,但要合法。
楼上说的递归,没错,在这个题目里backtracking本质上就是permutation,不是么.
另外 在无括号的情况下,backtracking求表达式很好写,但是有括号呢?
g*****g
发帖数: 212
8
没错,基本上就是暴力组合各种表达式
在表达式最后求值。
void allexpressions(vector &num, vector &exps, vector &
ret, int target)
{
int n =num.size();
for(int i=0; i {
swap(num, 0,i);
exps.push_back(""+i);
allexpressions(num, 1, n, exps, ret, target);
exps.pop_back();
swap(num, 0,i);
}
}
void caculateExpressions(vector &exps, vector &ret, int
target)
{
}
void allexp... 阅读全帖
j**********3
发帖数: 3211
9
如果表达式里有variable,比如有个x,要怎么做?
1 + b + 2 = b + 3
或者 (x + 1)* 3 + 2 *(2x + 5) 化简成7x + 13
怎么做?
求个java code
j**********3
发帖数: 3211
10
如果表达式里有variable,比如有个x,要怎么做?
1 + b + 2 = b + 3
或者 (x + 1)* 3 + 2 *(2x + 5) 化简成7x + 13
怎么做?
求个java code
k****e
发帖数: 100
11
来自主题: CS版 - 表达式求值问题
手头上有个软件,不过不支持表达式,比如对于:
a:=4*5
b:=2+a
t: property1=b, property2=a
只能将b和a计算出来,然后写:
t: property1=22, property2=20
我想扩展一下这个程序,模模糊糊感觉lex/yacc(没用过)或者python 的eval(用它

个模块,做表达式计算,然后替代)能帮上点忙。各位有什么建议么?
r**t
发帖数: 937
12
想知道两个正规表达式有没有交集(只要知道有没有,不要知道交集是什么)
例如,正规表达式
^abc/.*\\z (abc开始的string)

^.*ef\\z (ef结尾的string)
有交集;

^ef/.*\\z (ef开始的string)就没有
应该怎么做呢?
r**t
发帖数: 937
13
【 以下文字转载自 Java 讨论区 】
【 原文由 rest 所发表 】
想知道两个正规表达式有没有交集(只要知道有没有,不要知道交集是什么)
例如,正规表达式
^abc/.*\\z (abc开始的string)

^.*ef\\z (ef结尾的string)
有交集;

^ef/.*\\z (ef开始的string)就没有
应该怎么做呢?
e****9
发帖数: 316
14
来自主题: Programming版 - 正则表达式的问题 (转载)
【 以下文字转载自 JobHunting 讨论区 】
发信人: e13369 (googoo), 信区: JobHunting
标 题: 正则表达式的问题
发信站: BBS 未名空间站 (Sat Jun 11 22:18:57 2016, 美东)
最近在看正则表达式 ,看到下面这个题目,不知道大家有什么思路吗?
看字符串中的字符是否出现了两次?并且忽略大小写。
比如Aba, abca, bcdB
k***g
发帖数: 7244
15
来自主题: TeX版 - 长表达式断行问题
有一个很长的表达式,一行写不下,需要换行,我现在用的方法是:
\begin{array}{r} ......\\..... \end{array}
使用右对齐来罗列,但是如果有三行以上的表达式时,这样产生的结果并不是很好看。
请问有没有更好的实现方式?多谢!
x****g
发帖数: 2000
16
原理图如下,
Razavi Fig 11.31b.
就是一个PTAT电流源,
现在考虑他的psrr,求指教点PSRR传输函数主零点的位置的表达式,
power supply rejection在第二张图。dB20(Iout/Vdd),单位是dBS
我自已估计的零点位置跟仿真对不上,我看不出来这个零点是在哪个node产生的?
大虾能给个简单的表达式吗?类似1/RC LG之类的式子?
拜谢!
n*******e
发帖数: 109
17
谢谢各位大牛
求附件贴图里面的图形的表达式,横坐标是时间t,纵坐标是电压E
就是E=f(t),要求只有一个表达式,v和τ已知
r****o
发帖数: 1950
18
来自主题: JobHunting版 - 请问关于C语言的复杂表达式。
请问,像C语言里面的
char (*(*x())[])()

char (*(*x[3])())[5]
这样的比较复杂的表达式,有什么简单的办法能快速辨析出它们的含义吗?
d********w
发帖数: 363
19
来自主题: JobHunting版 - 关于数学表达式解析和求值
这题都连续被apple,facebook问道了,想跟大家探讨一些解决方法。
题目如下,简单的就是四则运算
如:
(2+3)*10-1 =
复杂的是带变量的
r*r - 1/4*pi * r^2
可能的话化简,然后给出变量值
r = 2
pi = 3.14
求最后表达式的值
这里面分2步,一个是parse(String str); 一个是evaluate();
parse编译原理课上是讲过,定义一些term grammer
expression = sum
sum = sum +/- term
| term
term = term *// element
element = constant
| "(" expression ")"
但我发现写出来还是蛮麻烦的,有人说expression tree,如何构造这个tree也是个问题
i******r
发帖数: 793
20
来自主题: JobHunting版 - 关于数学表达式解析和求值
我记得表达式求值都是用stack做的
b*****9
发帖数: 89
21
括号是不是如果当前操作符是乘除就自动给后面出来的表达式加个括号?a * ( rest )
w*******s
发帖数: 138
22
实现高精度运算就可应付溢出,或者直接使用有标准库的,python/ruby/java都有
去重需要先表达式分析去冗余括号,然后排序
y***n
发帖数: 1594
23
计算一个中缀表达式,包含加减乘除,没有括号,比如:“3 + 1 / 1 *2”, return
算式的结果
T*******e
发帖数: 4928
24
算了,给你贴一个: http://www.itint5.com/oj/#26
int getNumber(const string &expr, int &pos){
int num=0;
while(expr[pos]&&expr[pos]<='9'&&expr[pos]>='0'){
num=num*10+expr[pos++]-'0';
}
return num;
}
//返回表达式expr的值
int evaluate(const string& expr) {
int res=0;
int size=expr.size();
if(size==0) return res;
vector v;
int pos=0;
v.push_back(getNumber(expr, pos));
while(pos char op=expr[pos++];
int num=getNumber(expr, pos);
... 阅读全帖
s****a
发帖数: 794
25
正则表达式没法写吧,如果要严格的缩小范围那就是str1和str2两个pattern里选了。
只有这两个满足条件。我觉得要不就是他自己一知半解,被坑了,要不就是有别的条件
没注意到。
e****9
发帖数: 316
26
来自主题: JobHunting版 - 正则表达式的问题
最近在看正则表达式 ,看到下面这个题目,不知道大家有什么思路吗?
看字符串中的字符是否出现了两次?并且忽略大小写。
比如Aba, abca, bcdB
z****k
发帖数: 1057
27
给一个整数,要一个表达式能数出它有多少个数位上是0
懒得一个一个数了
聪明人帮忙
谢谢~
e******r
发帖数: 623
28
【 以下文字转载自 Programming 讨论区 】
【 原文由 explorer 所发表 】
E[1] = a
E[2] = A1 * E[1] + A2 * (E[1]^3)
.
.
.
.
.
.
E[k] = A1 * E[k-1] + A2 * (E[k-1]^3)
求E[1] + E[2] + …… E[n] (即前n项和)的一般表达式。
这是一个抽象的函数问题,请高手帮忙写一个完整代码,多谢!
f*****p
发帖数: 235
29
你既然要抽象的数学表达式,还要什么代码!
要是单纯求数列和,用Haskell很方便。
N**********d
发帖数: 9292
30
【 以下文字转载自 Programming 讨论区 】
发信人: NeedForSpeed (working~~~~~), 信区: Programming
标 题: sed里面正则表达式匹配字符越少越好怎么写?
发信站: BBS 未名空间站 (Sun Mar 13 20:56:30 2011, 美东)
例如:其中引号内长度不定
"abc", "def"
".*"
引号里面内容越少越好,我不想是 abc", "def
想要分别是
abc和def
这个该怎么写呢?
i***c
发帖数: 301
31
来自主题: Programming版 - 问个表达式
请教去掉double quote的正则表达式
这样好像不好使:
[^"]*
C*********m
发帖数: 213
32
来自主题: Programming版 - python 正则表达式请教
向这里的高手请教一个小问题。想用python re 表达式匹配文本
[[xref:12345671|database record]][[wikipedia:AnotherLink]] test line 1
[[xref:12345672]] Test line 2
...
[[xref:12345690|another record]] test line 20
中[[xref:...]]中的内容,但是希望capture返回结果中xref:后面的数字以及|后面的
内容。
用 m = re.compile(r'\[\[xref:(\d+)(.*)\]\]')可以处理后面几行,但是第一行会把
[[wikipedia的内容也抓到一起。
d*******g
发帖数: 36
33
不明白这个表达式是什么意思,怎么求值? 请高手执教, 多谢
d********e
发帖数: 132
34
在一个有关位运算的文章里看到以下三种表达式,请问是什么意思?
alert(1 < <1)
abc=(1 < <0)+(1 < <1)+(1 < <2)=7;
alert((65 & (1 < <2)) !=0);
d*****u
发帖数: 17243
35
来自主题: Programming版 - 问个matlab的表达式
像A=(B==c)这种表达式
在matlab里是怎么运算的
其中c是scalar
A,B都是矩阵
l******t
发帖数: 55733
36
来自主题: Programming版 - 有适合存取lisp表达式的database吗?
你要查表达式?
g*****g
发帖数: 34805
37
正则表达式复杂了就还不如写个几十行的程序做parsing。可读性和可维护性并不是跟
行数线性相关的。你这个东西弄个两个的split要比复杂的正则容易多了。
m******u
发帖数: 12400
38
should be right answer LZ want.
发信人: nickhodge (Nick), 信区: Programming
标 题: Re: 问个关于正则表达式的超弱智问题...
发信站: BBS 未名空间站 (Wed Sep 24 12:11:34 2014, 美东)
嗯,perl里用 =~ /^"id":(\d+)/应该就可以了,好久没用,快忘得差不多了
L******3
发帖数: 18
39
/A1/A2/A3,例如URI,
A1: 含除‘/’的任意字符, 字符数不限
A2: 含除‘/’的任意字符,字符数不限
A3: 任意字符,包括‘/’,字符数不限
如何利用正则表达式提取出“A1/A2”?
d****i
发帖数: 4809
40
来自主题: Programming版 - 正则表达式里括号的转义好乱
最标准的正则表达式应该是Perl了吧,最原生的应该是Bourne shell的。
e********2
发帖数: 495
41
来自主题: Programming版 - 问个正则表达式的问题
要匹配最近的if怎么弄?
比如
if ... if ... else
A B
如果想把第二个if和else之间的B提取出来,正则表达式该怎么写呢?
if(\.*)else
会把A段和B段都提取出来。
谢谢哈。
h*******c
发帖数: 5
42
比如:
HGSSI:MSISDN=msisdn,SS=ss[,BSG=bsg][,FNUM=fnum[,OFA=ofa][,TI
ME=time]]
该如何写成正则表达式,以便替换其中的字符串?
其中[]内的是可能存在的选项。大写的串是变量名,小写的串是变量
值.
谢谢.
g********m
发帖数: 956
43
【 以下文字转载自 Mathematics 讨论区,原文如下 】
发信人: glassdream (dashao), 信区: Mathematics
标 题: 高维空间中,点到曲线最短距离有显性表达式吗?
发信站: Unknown Space - 未名空间 (Mon Feb 9 21:36:35 2004) WWW-POST
假设在N维空间,要计算点A到曲线f的最短
欧氏距离,该如何求解?
多谢先!!
z**r
发帖数: 415
44
来自主题: Computation版 - 请教一个模型表达式
如何表达一个0,1数列,要求有5个0连在一起.比如
一个数列X(t)有10个数,5个0,5个1构成,可以任意排练,但要保证0在一起,
可能性1: 1,1,1,0,0,0,0,0,1,1
可能性2: 0,0,0,0,0,1,1,1,1,1
不可能的排练: 1,0,1,0,1,0,1,1,0,0
请问应该怎么来建立一个表达式可以保证0一定在一起.
谢谢先!
x****g
发帖数: 2000
45
嗯,parasitic bjt
谢谢楼上几位,水木上有版友给帖了篇paper,
有个类似的问题,有个类似的表达式,带进去算起来大概在一个量级
http://att.newsmth.net/att.php?p.264.167096.720.PDF
不过我还是无法直观看出这个零点(或者说极点),就先这样吧
g********m
发帖数: 956
46
【 以下文字转载自 Mathematics 讨论区,原文如下 】
发信人: glassdream (dashao), 信区: Mathematics
标 题: 高维空间中,点到曲线最短距离有显性表达式吗?
发信站: Unknown Space - 未名空间 (Mon Feb 9 21:36:35 2004) WWW-POST
假设在N维空间,要计算点A到曲线f的最短
欧氏距离,该如何求解?
多谢先!!
s**********e
发帖数: 2
47
诚恳地向各位高手求助!
我遇到一个问题:给定一些参数的性质,需要确定一个表达式的正负号。极其复杂繁琐,
但99%的可能是可以解的。如何用MATHEMATICA编写程序予以解决?请赐教。
不是在下懒,实在是手算不可靠,而且也没有办法都算得过来。我已经算了几天几夜了,
已经撑不下去了。
简化的例子大致如下:
已知:A>0, B>4, C 是实数。
我的EMAIL是S**********[email protected]
多谢了。
s**********e
发帖数: 2
48
Sign[]不行啊。好像只能判定具体的数字的正负好。
比如:Sign[100]=1。这种表达式的行不通的。

琐,
了,
然都
h*******r
发帖数: 6
49
计算全过程如附图:
http://sites.google.com/site/hoverstar/ca/test2.JPG?attredirects=0
最后公式(9)得到的 l 结果在 x=0 处的值的确应该是 -3 ,就是不知道表达式 l 的
第一项中头两个减号是什么。
n*******e
发帖数: 109
50
只能有一个表达式,这个很难么,我原先以为因为数学学的不好,所以做不出来
1 2 3 4 5 6 7 8 9 10 下页 末页 (共10页)