摘要:
问题描述: 计算给定的逆波兰表达式(即后缀表达式)的值。 事实上,二元运算的前提下,中缀表达式可以对应一棵二叉树;逆波兰式即该二叉树后序遍历的结果。 分析思路: 如果当前是操作数,则直接入栈; 如果当前是操作符,则栈顶的两个元素弹出,然后与当前操作符运算后入栈。 Code: 阅读全文
摘要:
问题描述: 给定字符串,仅包含左括号'('和右括号')',它可能不是括号匹配的,设计算法,找出最长的括号字串,并返回字串的长度。 如: ((): 2 ()(): 4 ()(()):6 (()()): 6 思路分析: 记起始位置start = -1,最大匹配长度为max 考虑当前位置i的符号: 如果是 阅读全文
摘要:
问题描述: 给定如图所示的无向连通图,假定图中所有边的权值都为1,显然,从源点A到终点T的虽短路径有多条,求不同的最短路径的数目。 权值相同的最短路径问题,则但愿点Dijkstra算法退化成广度优先搜索,假定起点为0,终点为N。 用动态规划的思想: 使用两个辅助数组: 步数:step[0...N], 阅读全文
摘要:
1. 拓扑排序 题目描述:对一个有向无环图(Directed Acyclic Graph, DAG)G进行拓扑排序,是将G中所有顶点排成线性序列,是的图中任意一堆顶点u和v,若边(u, v)在E(G)中,则u在线性序列中出现在v之前。 如: 分析: 1)首先我们要将图G存入一个邻接矩阵中,保存该图; 阅读全文