首页 | 本学科首页   官方微博 | 高级检索  
     检索      


Finding dominators via disjoint set union
Institution:1. Benbria Corporation, 390 March Road, Suite 110 Ottawa, Ontario K2K 0G7, Canada;2. Université du Québec en Outaouais, Gatineau, Québec, Canada;3. Department of Computer Science & Engineering, University of Ioannina, Greece;4. Department of Computer Science, Princeton University, Princeton, NJ, United States;5. Microsoft Research Silicon Valley, United States
Abstract:The problem of finding dominators in a directed graph has many important applications, notably in global optimization of computer code. Although linear and near-linear-time algorithms exist, they use sophisticated data structures. We develop an algorithm for finding dominators that uses only a “static tree” disjoint set data structure in addition to simple lists and maps. The algorithm runs in near-linear or linear time, depending on the implementation of the disjoint set data structure. We give several versions of the algorithm, including one that computes loop nesting information (needed in many kinds of global code optimization) and that can be made self-certifying, so that the correctness of the computed dominators is very easy to verify.
Keywords:Depth-first search  Directed graph  Disjoint set union  Dominators  Flow graph  Global code optimization  Program certification
本文献已被 ScienceDirect 等数据库收录!
设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号