In-place algorithms for computing a largest clique in geometric intersection graphs ?
In this paper, we study the problem of designing in-place algorithms for finding the maximum clique in the intersection graphs  of axis-parallel rectangles and disks in R2 R 2 . First, we propose an O(n2logn) O ( n 2 log n ) time in-place algorithm for finding the maximum clique of the intersection graph of a set of n n axis-parallel rectangles of arbitrary sizes. For the intersection graph of fixed height rectangles, the time complexity can be slightly improved to O(nlogn+nK) O ( n log n + n K ) , where K K is the size of the maximum clique. For disk graphs, we consider two variations of the maximum clique problem, namely geometric clique and graphical clique. The time complexity of our algorithm for finding the largest geometric clique is O(mlogn+n2) O ( m log n + n 2 ) where m m is the number of edges in the disk graph, and it works for disks of arbitrary radii. For graphical clique, our proposed algorithm works for unit disks (i.e., of same radii) and the worst case time complexity is O(n2+m(n+K3)) O ( n 2 + m ( n + K 3 ) ) ; m m is the number of edges in the unit disk intersection graph and K K is the size of the largest clique in that graph. It uses O(n3) O ( n 3 ) time in-place computation of maximum matching in a bipartite graph, where the vertices are given in an array, and the existence of an edge between a pair of vertices can be checked by an oracle on demand (from problem specification) in O(1) O ( 1 ) time. This problem is of independent interest. All these algorithms need O(1) O ( 1 ) work space in addition to the input array.
in-place algorithms clique geometric intersection graphs bipartite matching