{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,1,13]],"date-time":"2026-01-13T21:19:09Z","timestamp":1768339149601,"version":"3.49.0"},"reference-count":56,"publisher":"Association for Computing Machinery (ACM)","issue":"3","license":[{"start":{"date-parts":[[2019,9,30]],"date-time":"2019-09-30T00:00:00Z","timestamp":1569801600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"Google India under the Google India PhD Fellowship Award"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Parallel Comput."],"published-print":{"date-parts":[[2019,9,30]]},"abstract":"<jats:p>\n            Depth first search (DFS) tree is a fundamental data structure for solving various graph problems. The classical algorithm\u00a0[54] for building a DFS tree requires\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>m<\/jats:italic>\n            +\n            <jats:italic>n<\/jats:italic>\n            ) time for a given undirected graph\n            <jats:italic>G<\/jats:italic>\n            having\n            <jats:italic>n<\/jats:italic>\n            vertices and\n            <jats:italic>m<\/jats:italic>\n            edges. Recently, Baswana et al.\u00a0[5] presented a simple algorithm for updating the DFS tree of an undirected graph after an edge\/vertex update in \u00d5(\n            <jats:italic>n<\/jats:italic>\n            )\n            <jats:sup>1<\/jats:sup>\n            time. However, their algorithm is strictly sequential. We present an algorithm achieving similar bounds that can be easily adopted to the parallel environment.\n          <\/jats:p>\n          <jats:p>\n            In the parallel environment, a DFS tree can be computed from scratch in expected \u00d5(1) time\u00a0[2] on an EREW PRAM, whereas the best deterministic algorithm takes \u00d5(\u221a\n            <jats:italic>n<\/jats:italic>\n            ) time\u00a0[2, 27] on a CRCW PRAM. Our algorithm can be used to develop optimal time (to\n            <jats:italic>poly<\/jats:italic>\n            log\n            <jats:italic>n<\/jats:italic>\n            factors) deterministic parallel algorithms for maintaining fully dynamic DFS and fault tolerant DFS of an undirected graph.\n          <\/jats:p>\n          <jats:p>\n            (1)\n            <jats:italic>Parallel Fully Dynamic DFS<\/jats:italic>\n            : Given an arbitrary online sequence of vertex or edge updates, we can maintain a DFS tree of an undirected graph in \u00d5(1) time per update using\n            <jats:italic>m<\/jats:italic>\n            processors on an EREW PRAM.\n          <\/jats:p>\n          <jats:p>\n            (2)\n            <jats:italic>Parallel Fault tolerant DFS<\/jats:italic>\n            : An undirected graph can be preprocessed to build a data structure of size\n            <jats:italic>O<\/jats:italic>\n            (\n            <jats:italic>m<\/jats:italic>\n            ), such that for any set of\n            <jats:italic>k<\/jats:italic>\n            updates (where\n            <jats:italic>k<\/jats:italic>\n            is constant) in the graph, a DFS tree of the updated graph can be computed in \u00d5(1) time using\n            <jats:italic>n<\/jats:italic>\n            processors on an EREW PRAM. For constant\n            <jats:italic>k<\/jats:italic>\n            , this is also work optimal (to\n            <jats:italic>poly<\/jats:italic>\n            log\n            <jats:italic>n<\/jats:italic>\n            factors).\n          <\/jats:p>\n          <jats:p>\n            Moreover, our fully dynamic DFS algorithm provides, in a seamless manner, nearly optimal (to\n            <jats:italic>poly<\/jats:italic>\n            log\n            <jats:italic>n<\/jats:italic>\n            factors) algorithms for maintaining a DFS tree in the semi-streaming environment and a restricted distributed model. These are the first parallel, semi-streaming, and distributed algorithms for maintaining a DFS tree in the dynamic setting.\n          <\/jats:p>","DOI":"10.1145\/3364212","type":"journal-article","created":{"date-parts":[[2019,11,4]],"date-time":"2019-11-04T14:04:16Z","timestamp":1572876256000},"page":"1-33","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":4,"title":["Near Optimal Parallel Algorithms for Dynamic DFS in Undirected Graphs"],"prefix":"10.1145","volume":"6","author":[{"given":"Shahbaz","family":"Khan","sequence":"first","affiliation":[{"name":"Department of CSE, IIT Kanpur, Kanpur, UP, India"}]}],"member":"320","published-online":{"date-parts":[[2019,11,2]]},"reference":[{"key":"e_1_2_1_1_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF02122548"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1137\/0219025"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1137\/1.9781611973099.40"},{"key":"e_1_2_1_4_1","doi-asserted-by":"publisher","DOI":"10.1145\/1391289.1391292"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1137\/17M114306X"},{"key":"e_1_2_1_6_1","doi-asserted-by":"publisher","DOI":"10.1137\/1.9781611974331.ch52"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-48054-0_9"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-662-43948-7_12"},{"key":"e_1_2_1_9_1","first-page":"35","article-title":"Fully dynamic randomized algorithms for graph spanners","volume":"8","author":"Baswana Surender","year":"2012","journal-title":"ACM Trans. Algor."},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1145\/2746539.2746592"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/33.3.247"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(88)90187-1"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1137\/0217049"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1137\/0222081"},{"key":"e_1_2_1_15_1","volume-title":"Introduction to Algorithms","author":"Cormen Thomas H.","edition":"3"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1142\/S012962649900013X"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1002\/rsa.3240020207"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1145\/1281100.1281128"},{"key":"e_1_2_1_19_1","doi-asserted-by":"crossref","first-page":"290","DOI":"10.5486\/PMD.1959.6.3-4.12","article-title":"On random graphs I","volume":"6","author":"Erd\u0151s Paul","year":"1959","journal-title":"Publ. Math. (Debrecen)"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1137\/0204043"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-21840-3_30"},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626496000212"},{"key":"e_1_2_1_23_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-0190(96)00202-5"},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.1145\/2935764.2935795"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01937481"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.1006\/jagm.1993.1009"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1137\/0219047"},{"key":"e_1_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-39212-2_53"},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the 5th International Workshop on Distributed Algorithms (WDAG\u201991)","author":"Italiano Giuseppe F.","year":"1991"},{"key":"e_1_2_1_31_1","volume-title":"An Introduction to Parallel Algorithms","author":"J\u00e1J\u00e1 Joseph"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.5555\/648246.753671"},{"key":"e_1_2_1_33_1","doi-asserted-by":"publisher","DOI":"10.1137\/141002281"},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1145\/3087556.3087576"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the 36th International Symposium on Theoretical Aspects of Computer Science (STACS\u201919)","author":"Khan Shahbaz"},{"key":"e_1_2_1_36_1","doi-asserted-by":"publisher","DOI":"10.1080\/00207168608803503"},{"key":"e_1_2_1_37_1","doi-asserted-by":"publisher","DOI":"10.1145\/2767386.2767405"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(90)90175-W"},{"key":"e_1_2_1_39_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(87)90228-6"},{"key":"e_1_2_1_40_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(96)00037-3"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-0190(96)00141-X"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1145\/2627692.2627694"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-319-58747-9_4"},{"key":"e_1_2_1_44_1","doi-asserted-by":"crossref","unstructured":"Thomas C. O\u2019Connell. 2009. A survey of graph algorithms under extended streaming models of computation. In Fundamental Problems in Computing: Essays in Honor of Professor Daniel J. Rosenkrantz. 455--476.  Thomas C. O\u2019Connell. 2009. A survey of graph algorithms under extended streaming models of computation. In Fundamental Problems in Computing: Essays in Honor of Professor Daniel J. Rosenkrantz. 455--476.","DOI":"10.1007\/978-1-4020-9688-4_17"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1109\/71.605773"},{"key":"e_1_2_1_46_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(86)90098-0"},{"key":"e_1_2_1_47_1","doi-asserted-by":"publisher","DOI":"10.1137\/1.9780898719772"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1016\/0196-6774(92)90017-7"},{"key":"e_1_2_1_49_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(85)90024-9"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1137\/0217079"},{"key":"e_1_2_1_52_1","doi-asserted-by":"publisher","DOI":"10.1016\/0020-0190(89)90041-0"},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1137\/0215058"},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1137\/0201010"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1137\/0203006"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF00268499"},{"key":"e_1_2_1_57_1","volume-title":"Proceedings of the 25th Annual Symposium on Foundations of Computer Science. 12--20","author":"Tarjan Robert Endre","year":"1984"},{"key":"e_1_2_1_58_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0020-0190(01)00273-3"}],"container-title":["ACM Transactions on Parallel Computing"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3364212","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3364212","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,17]],"date-time":"2025-06-17T23:44:26Z","timestamp":1750203866000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3364212"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,9,30]]},"references-count":56,"journal-issue":{"issue":"3","published-print":{"date-parts":[[2019,9,30]]}},"alternative-id":["10.1145\/3364212"],"URL":"https:\/\/doi.org\/10.1145\/3364212","relation":{},"ISSN":["2329-4949","2329-4957"],"issn-type":[{"value":"2329-4949","type":"print"},{"value":"2329-4957","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,9,30]]},"assertion":[{"value":"2017-10-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-08-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-11-02","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}