摘要:
问题描述: 用两个栈实现队列,队列的声明如下,请实现他的两个函数AppendTail和DeleteHead,分别完成在队列 尾部插入节点和在队列头部删除节点的功能。 templateclass CQuene{public: CQuene(){}; ~CQuene(){}; void AppendTail(const T &Node); T DeleteHead();pri... 阅读全文
摘要:
struct BinaryTreeNode{ int m_nValue; BinaryTreeNode *m_pLeft; BinaryTreeNode *m_pRight;}; //递归实现二叉树的遍历。递归算法比较简洁易懂这一就不做解释 void Preorder(BinaryTreeNode 阅读全文
摘要:
问题描述: 输入二叉树的前序遍历和后序遍历结果,请重建二叉树。假设输入的前序序列和后序序列都不含重复数字。 思路分析: 在二叉树的前序遍历中第一个数字总是树的根节点的值。但是在中序遍历中根节点的值位于序列中间,左子 树节点的值位于根节点值得左边,右子树节点的值位于根节点值的右边。因此我们需要扫描中序序列擦能找 到根节点的值。通过此方法可以分别找到了左右子树的前序序列和中序序列,然后可以用递归的... 阅读全文