三 数据结构站和队列的应用

3.1 栈的应用

3.1.1 表达式求值

后缀表达式

栈求解方法

1)若当前字符是操作数,直接发送给后缀表达式

2)若当前字符是运算符:

若当前运算符的优先级高于栈顶运算符,则进栈

否则,退出栈顶运算符发送给后缀表达式

3.1.2 迷宫问题

深度优先遍历

设定当前位置的初值为入口位置

do{

  若当前位置可通:

     则{将当前位置插入栈顶;

          若该位置为出口位置,则算法结束

          否则切换当前位置的下邻方块为新的当前位置

         }

   否则,当前位置不通

    则{若栈不空

         {若栈顶位置尚有其他方向未探索:

             设定新的当前位置为栈顶的下一相邻快,继续试探

            若栈顶的四周均不通

              {

                  删去栈顶位置;

                  若栈不空,重新测试新的栈顶位置

                   直至找到一个可通的相邻块或出栈至栈空

              }

 

        }

     若栈空:表明没有出口

      }

}

3.2 队列的应用

3.2.1 迷宫问题

广度优先搜索

队列数据类型

typedef struct

{int x,y;

}PoseType;

typedef struct

{int pre;

  PoseType seat;

}QElemType;

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值