CHUNG-YANG HUANGLai, C.-Y.C.-Y.LaiCheng, K.T.K.T.Cheng2020-06-112020-06-112009https://www.scopus.com/inward/record.uri?eid=2-s2.0-84882817867&doi=10.1016%2fB978-0-12-374364-0.50011-4&partnerID=40&md5=10c5c72a3ef700a8d46ddb96f6575ec3This chapter presents various fundamental algorithms to the electronic design automation (EDA) research and development-from the classic graphic theories, the practical heuristic approaches, and then to the theoretical mathematical programming techniques. The chapter goes through the fundamentals of algorithms that are essential for the readers to appreciate the various EDA technologies. Many of the EDA problems can be either represented in graph data structures or transformed into graph problems. The most representative ones, in which the efficient algorithms have been well studied, are elaborated. The readers should be able to use these graph algorithms in solving many of their research problems. Heuristic algorithms that yield suboptimal, yet reasonably good results are usually adopted as practical approaches. Several selected heuristic algorithms are also covered. The mathematical programming algorithms, which provide the theoretical analysis for the problem optimality, are explored and the mathematical programming problems that are the most common in the EDA applications are focused on. © 2009 Elsevier Inc. All rights reserved.Fundamentals of Algorithmsbook part10.1016/B978-0-12-374364-0.50011-42-s2.0-84882817867