基于多级前缀树的线性时间算法:用于寻找网络中正权最短路径与最小生成树
数据结构与算法
2007-08-28 v1
摘要
本文对与基本图算法相关的问题进行了总体展望,包括寻找正权最短路径和最小生成树。我将展示迄今为止已知的基本图问题解集,并提出我自己的解法。我所提出的图问题解法的特点在于其具有线性最坏情况时间复杂度。值得注意的是,计算最短路径和最小生成树问题的算法不仅分析弧的权重(这是迄今为止已知算法的主要且往往是唯一的判据),而且在路径权重相同的情况下,会选择经过顶点数最少的路径。我提出了基于多级前缀树(PTrie)的优先队列算法。PTrie 是前缀树(Trie,一种插入和删除操作具有对数时间复杂度的结构)、双向链表和队列的巧妙组合。我将用 C++ 实现计算单终点最短路径问题的线性最坏情况时间算法,并解释其用法。
引用
@article{arxiv.0708.3408,
title = {Linear Time Algorithms Based on Multilevel Prefix Tree for Finding Shortest Path with Positive Weights and Minimum Spanning Tree in a Networks},
author = {David S. Planeta},
journal= {arXiv preprint arXiv:0708.3408},
year = {2007}
}