- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 C++表达式求值
表达式求值1 问题描述输入为四则运算表达式如(2+3)*(5+7)+9/3,仅由+ - * / ( )构成,没有空格,要求其值。2 问题分析有两种方法,一是用递归,将表达式分解为项和因子,再通过递归逐块解决。其中,我们需要清楚的是,表达式为项的加减,项为因子的乘除,因子为数值或带括号的表达式。第二种方法是通过堆栈,先将表达式转化成后缀表达式,利用栈依次求解。3 完整代码
2017-03-05 19:30:19 1598
原创 递归 N皇后问题 逆波兰表达式
N皇后问题1 问题描述在n×n格的棋盘上放置彼此不受攻击的n个皇后。按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。n后问题等价于再n×n的棋盘上放置n个皇后,任何2个皇后不妨在同一行或同一列或同一斜线上。要求输出所有的放置方法。2 问题分析这里用递归求解,思路很简单,即从第0行开始,遍历判断每个能够放置皇后的位置,然后在确定前k行的情况下,进行第k+1行
2017-03-05 14:51:19 410 1
原创 熄灯问题——枚举
1 问题描述有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。请你写一个程序,确定需要按下哪些按钮,恰好使得所有的灯都熄灭。
2017-03-04 16:31:42 650
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人