1.linux里的drwxr-xr-x代表的意思
- 第一位表示文件类型。d是目录文件,l是链接文件,-是普通文件,p是管道。
- 后面的分三个三个来看,即 rwx 、r-x 、r-x。
- 第一个: root :r 是可读,w 是可写,x 是可执行,rwx 意思是可读可写可执行。
- 第二个: 一般用户(用户组):r-x 是可读可执行不可写。
- 第三个: 其他用户,r-x 是可读可执行不可写。综合起来就是权限设置为:文件所有者(root)可读可写可执行,与文件所有者同属一个用户组的其他用户可读可执行,其它用户组可读可执行。
2.可能的出栈序列问题
首先的前提是进栈一定是要按照顺序进栈如1、2、3、4的顺序,如果第一个出的是4,那么要依次先进栈1、2、3、4,
然后出栈,这样的话第一个是4,没有其他的元素可以再进栈了,所以只能按顺序出栈,这样出栈的顺序就是4、3、2、1。
假如出栈的顺序是3、4、2、1,你就要先分析出3的情况,只有先将1、2、3入栈,然后将3出栈。然后进栈4,再出栈4、2、1.
再如果出栈的顺序是3、2、4、1或3、2、1、4,先将1、2、3入栈,再出栈3、2,如果这个时候是前面的序列,就先进4,再出栈4、1,如果是后面的出栈顺序就出1,然后再入栈4,再出栈4,这样就会得到上面的序列了。
可以按照下面的方法来判断的:
假如入栈顺序为1234,给定一个出栈序列,如2431,它是合法的。
因为对于出栈序列中的每一个数字,在它后面的、比它小的所有数字,一定是按递减顺序排列的。
\
例如:
假如出栈序列为4123,显然不满足上述要求,因为对于4,它后面比它小的数字序列为123,递加,所以不是合法出栈序列。
若出栈为3142,也不合法,因为3后面比它小的1和2不是递减排列的。
若出栈为1234,则合法,因为对于每一个数字,它后面没有比它小的数字。
这种方法用来排除那些错误的出栈顺序很有效。
3.二叉树节点问题
某二叉树中有n个叶子节点,则该二叉树中度为2的结点数为?
答案:n+1
对任何一棵二叉树T,如果其终端节点数为n0,度为2的节点数为n2,则n0=n2+1.
设n1为二叉树T中度为1的结点数.因为二叉树中所有结点的度军小于或等于2,所以其结点总数为
n=n0+n1+n2 (1)
再看二叉树中的分支数.除了根结点外,其余结点都有一个分支进入,设B为分支总数,则n=B+1.由于这些分支是由度为1或2的结点射出的,所以B=n1+2n2.于是得
n=n1+2n2+1 (2)
由式(1)(2)得
n0=n2+1