后缀式:
说说x=(a+b)X(c-d/e).(假设你中间那个X是乘号)
后缀式,符号在后.
首先看成2部分(a+b)和(c-d/e)
a + b: ab+
c-d/e: 先de/,然后 c de/ -
2部分结合,乘号放到后面.
就是:ab+cde/-x
不知道楼主那个答案怎么出来的.
如果式子前要x=,那么答案应该是xab+cde/-x=
如果不要x=,答案应该是ab+cde/-x.
后缀式就是按照正常的计算顺序把计算符号放在后面!
树中已知先序和中序求后序:
如先序为:abdc,中序为:bdac .
则程序可以求出后序为:dbca 。此种题型也为数据结构常考题型。
算法思想:先序遍历树的规则为中左右,则说明第一个元素必为树的根节点,比如上例中的a就为根节点,由于中序遍历为:左中右,再根据根节点a,我们就可以知道,左子树包含元素为:db,右子树包含元素:c,再把后序进行分解为db和c(根被消去了),然后递归的进行左子树的求解(左子树的中序为:db,后序为:db),递归的进行右子树的求解(即右子树的中序为:c,后序为:c)。如此递归到没有左右子树为止。
有限自动机·正规式:
●某一确定有限自动机(DFA)的状态转换图如下图所示,该DFA接受的字符串集是____(28)___,与之等价的正规式是___(29)___。
供选择的答案:
(28)A.以1开头的二进制代码串组成的集合
B.以1结尾的二进制代码串组成的集合
C.包含偶数个0的二进制代码串组成的集合
D.包含奇数个0的二进制代码串组成的集合
(29)A. 1*0(0|1)*
B. ((0|1*0)*1*)*
C. 1*((0|1)0)*
D. (1*(01*0)*)*
28.C 29.D
双环圈是可以做为终点的状态,而单环不可以
即在题中q0可以是终点,而q1不可以
当处于q0状态,接受到0信号转换成q1状态后,一定会再接受到0信号回到q0状态
这个过程中的两个0信号始终成对出现,即会有偶数个0,可以排除D
初始状态为q0,此时q0可以接受0信号,也可以接受1信号
也就是说第一个字符可以是0也可以是1,排除A
末状态也是q0,可能是从q0接受1信号而终止的,也可以是从q1接受0信号转换成q0而终止的
最后一个数字。。。。,排除B
第二问:求等价正规式
a*表示有若干个a,可以是0个到无穷多个,(ab)*表示有若干个ab相连,可以是0个到无穷多个
初始状态q0,优先考虑自身循环的情况,即先得到1*
之后接受0信号,得到一个0
此时为q1状态,自身循环得到1*
接受0信号回到q0,得到一个0
上述过程可以理解为:自动机停止之前的一次循环,得到的表达式为1*01*0
考虑到,初始状态可以是末状态,可能没有接受信号自动机就停止了
也就是说自动机可以执行0次到无穷多次上述循环后停止,即得到(1*01*0)*
执行*次循环后,自动机处于q0状态,并在接受0个或多个1之后停止,得到1*
综上,等价正规式为(1*01*0)*1*
子网掩码的计算与划分详解:
前言:
1. A类地址
(1)A类地址第1字节为网络地址,其它3个字节为主机地址。
(2)A类地址范围:1.0.0.1—127.255.255.254
(3)A类地址中的私有地址和保留地址:
① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
范围(10.0.0.0-10.255.255.255)
② 127.X.X.X是保留地址,用做循环测试用的。
2. B类地址
(1) B类地址第1字节和第2字节为网络地址,其它2个字节为主机地址。
(2) B类地址范围:128.0.0.1—191.255.255.254。
(3) B类地址的私有地址和保留地址
① 172.16.0.0—172.31.255.255是私有地址
② 169.254.X.X是保留地址。如果你的IP地址是自动获取IP地址,而你在网络上又没有找到可用的DHCP服务器。就会得到其中一个IP。
3. C类地址
(1)C类地址第1字节、第2字节和第3个字节为网络地址,第4个个字节为主机地址。另外第1个字节的前三位固定为110。
(2)C类地址范围:192.0.0.1—223.255.255.254。
(3) C类地址中的私有地址:
192.168.X.X是私有地址。(192.168.0.0-192.168.255.255)
子网掩码与IP地址结合使用,可以区分出一个网络地址的网络号和主机号。
例如:有一个C类地址为:192.9.200.13,按其IP地址类型,它的缺省子网掩码为:255.255.255.0,则它的网络号和主机号可按如下方法得到:
第1步,将IP地址192.9.200.13转换为二进制11000000 00001001 11001000 00001101
第2步,将子网掩码255.255.255.0转换为二进制11111111 11111111 11111111 00000000
第3步,将以上两个二进制数逻辑进行与(AND)运算,得出的结果即为网络部分。“11000000 00001001 11001000 00001101”与“11111111 11111111 11111111 00000000”进行“与”运算后得到“11000000 00001001 11001000 00000000”,即“192.9.200.0”,这就是这个IP地址的网络号,或者称“网络地址”。
第4步,将子网掩码的二进制值取反后,再与IP地址进行与(AND)运算,得到的结果即为主机部分。如将“00000000 00000000 00000000 11111111(子网掩码的取值)反”与“11000000 00001001 11001000 00001101”进行与运算后得到“00000000 00000000 00000000 00001101”,即“0.0.0.13”,这就是这个IP地址主机号(可简化为“13”)。
二、子网掩码的划分
如果要将一个网络划分成多个子网,如何确定这些子网的子网掩码和IP地址中的网络号和主机号呢?本节就要向大家介绍。子网划分的步骤如下:
第1步,将要划分的子网数目转换为2的m次方。如要分8个子网,8=23。如果不是愉好是2的多少次方,则取大为原则,如要划分为6个,则同样要考虑23。
第2步,将上一步确定的幂m按高序占用主机地址m位后,转换为十进制。如m为3表示主机位中有3位被划为“网络标识号”占用,因网络标识号应全为“1”,所以主机号对应的字节段为“11100000”。转换成十进制后为224,这就最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。
在这里,子网个数与占用主机地址位数有如下等式成立:2m≥n。其中,m表示占用主机地址的位数;n表示划分的子网个数。根据这些原则,将一个C类网络分成4个子网。
为了说明问题,现再举例。若我们用的网络号为192.9.200,则该C类网内的主机IP地址就是192.9.200.1~192.9.200.254,现将网络划分为4个子网,按照以上步骤:
4=22,则表示要占用主机地址的2个高序位,即为11000000,转换为十进制为192。这样就可确定该子网掩码为:192.9.200.192。4个子网的IP地址的划分是根据被网络号占住的两位排列进行的,这四个IP地址范围分别为:
(1)第1个子网的IP地址是从“11000000 00001001 11001000 00000001”到“11000000 00001001 11001000 00111110”,注意它们的最后8位中被网络号占住的两位都为“00”,因为主机号不能全为“0”和“1”,所以没有11000000 00001001 11001000 00000000和11000000 00001001 11001000 00111111这两个IP地址(下同)。注意实际上此时的主机号只有最后面的6位。对应的十进制IP地址范围为192.9.200.1~192.9.200.62。而这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 00000000,为192.9.200.0。
(2)第2个子网的IP地址是从“11000000 00001001 11001000 01000001”到“11000000 00001001 11001000 01111110” ,注意此时被网络号所占住的2位主机号为“01”。对应的十进制IP地址范围为192.9.200.65~192.9.200.126。对应这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 01000000,为192.9.200.64。
(3)第3个子网的IP地址是从“11000000 00001001 11001000 10000001”到“11000000 00001001 11001000 10111110” ,注意此时被网络号所占住的2位主机号为“10”。对应的十进制IP地址范围为192.9.200.129~192.9.200.190。对应这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 10000000,为192.9.200.128。
(4)第4个子网的IP地址是从“11000000 00001001 11001000 11000001”到“11000000 00001001 11001000 11111110” ,注意此时被网络号所占住的2位主机号为“11”。对应的十进制IP地址范围为192.9.200.193~192.9.200.254。对应这个子网的子网掩码(或网络地址)为 11000000 00001001 11001000 11000000,为192.9.200.192。
在此列出A、B、C三类网络子网数目与子网掩码的转换表,如表5.1所示,供参考。
表1 子网划分与子网掩码对应表
A类网络划分子网数与对应的子网掩码
子网数目 占用主机号位数 子网掩码 子网中可容纳的主机数
2 1 255.128.0.0 8388606
4 2 255.192.0.0 4194302
8 3 255.224.0.0 2097150
16 4 255.240.0.0 1048574
32 5 255.258.0.0 524286
64 6 255.253.0.0 262142
128 7 255.254.0.0 131070
256 8 255.255.0.0 65534
B类网络划分子网数与对应的子网掩码
子网数目 占用主机号位数 子网掩码 子网中可容纳的主机数
2 1 255.255.128.0 32766
4 2 255.255.192.0 16382
8 3 255.255.224.0 8190
16 4 255.255.240.0 4094
32 5 255.255.248.0 2046
64 6 255.255.252.0 1022
128 7 255.255.254.0 510
256 8 255.255.255.0 254
C类网络划分子网数与对应的子网掩码
子网数目 占用主机号位数 子网掩码 子网中可容纳的主机数
2 1 255.255.255.128 126
4 2 255.255.255.192 62
8 3 255.255.255.224 30
16 4 255.255.255.240 14
32 5 255.255.255.248 6
64 6 255.255.255.252 2