萨维奇定理(英语:Savitch's theorem)是计算复杂性理论中的一个定理,由沃尔特·萨维奇(Walter Savitch)于1970年证明。萨维奇定理的证明是构造性的。证明过程为设计一个针对有向图连通性问题的算法(其它问题可以通过图灵机的格局图归约到此问题)。有向图连通问题可以简述为对于一个有向图和给定的两个顶点s和t,是否存在从s到t的有向路径。对于n个顶点,存在一个算法在{\displaystyle {\mbox{O}}\left((\log {n})^{2}\right)}空间内解决这一问题。这一算法的基本思路是利用递归解决一个更一般化的问题:检查是否存在从s到t的一条至多包含k条边的有向路径,k是递归的输入参数。原始的有向图连通问题当{\displaystyle k=n}时与此问题等价。为了测试是否存在一条从s到t的长度为k的有向边,可以测试是否存在一条从s到t的以u为中点的有向边。如果存在,那么对从s到u和从u到t递归此算法。