数据结构之——栈

2017-04-26  本文已影响58人  zhangivon

栈的规则

先进后出。如:依次入栈顺序为:A,B,C,D;怎出栈顺序为:D,C,B,A .

二叉树和表达式

表达式二叉树
当我们对此二叉树进行先序、中序和后序遍历后,便可得到表达式的前缀、中缀和后缀书写形式:
前缀:-+a*b-cd/ef
中缀:a+b*c-d-e/f
后缀:abcd-*+ef/-
一般的解法,可以考虑将中缀表达式转换成二叉树,在求值。 使用栈求前缀表达式 使用栈求后缀表达式

根据表达式反推二叉树

两个栈共用存储空间

栈满条件:栈1向上增长,栈2向下增长,显然当top[1]和top[2]相邻时,栈满。

栈满

栈和堆

栈区(stack)— 由编译器自动分配释放 ,存放为运行函数而分配的局部变量、函数参数、返回数据、返回地址等。
堆区(heap) — 一般由程序员分配释放, new, malloc之类的,若程序员不释放,程序结束时可能由OS回收 。

上一篇下一篇

猜你喜欢

热点阅读