Given an acyclic undirected unweighted connected graph, find its representation as a tree with the least height. Brute force is O(n^2). Come up with an O(n) solution
-----------------------------------------------------------------------
start from an arbitrarily node, do
a bfs or dfs to find out the furtherest node, denote it as node a. O(n)
start from node a, do a bfs or dfs again to find out the furtherest node from node a, get the length len. O(n)
then the least height of the tree is interget part of (len+1)/2, and the root node is node b which is (len+1)/2 from node a.
total time complexity is O(2n)=O(n)
correct me if sth wrong

本文介绍了一种在给定的无向、无权、连通、无环图中找到具有最小高度二叉树的算法,通过两次遍历实现O(n)的时间复杂度。
2144

被折叠的 条评论
为什么被折叠?



