GATE CS 2016 Set 2 — Question 51
Go beyond PYQs with Success TrackerAI-powered personalised practice and doubt support. Unlimited practice on eligible plans; AI usage limits apply.MCQ+2 / -0.67MediumAdjacency Matrix & ListGraphs (Data Structure)Programming & Data Structures
Programming & Data Structures → Graphs (Data Structure) → Adjacency Matrix & List
Last updated
Question
In an adjacency list representation of an undirected simple graph , each edge has two adjacency list entries: in the adjacency list of , and in the adjacency list of . These are called twins of each other. A twin pointer is a pointer from an adjacency list entry to its twin. If and , and the memory size is not a constraint, what is the time complexity of the most efficient algorithm to set the twin pointer in each entry in each adjacency list?
Correct answer
(B) Θ(n+m)
Solution
We need to link each adjacency entry with its twin . There are such entries in total.An efficient algorithm is as follows:
1.Create a list of all adjacency entries. Each entry stores the vertices and a pointer to the node in the adjacency list.
2.For each entry representing edge , define a canonical key, e.g., .
3.Sort the list of entries based on this key. Since the vertex indices are integers in the range , we can use Radix Sort or Bucket Sort.
4.The sorting takes time (since there are items and range is ).
5.After sorting, the twin entries and will be adjacent in the sorted list. We can iterate through the list and link them in time.
Total time complexity is .Continue learning with Success Tracker
A step still unclear? Work through it with support
Use Success Tracker to ask about the reasoning, then try another GATE CS question to check your understanding.
AI-powered practice· Unlimited practice on eligible plans
- PYQs with solutions
- Attempt available previous-year questions, then compare your reasoning with the worked solution. Coverage varies by stream.
- Practice that adapts
- Choose a topic, work on weaker areas and bookmark questions to revisit. Your attempts feed your progress tracking.
- AI doubt support
- Ask follow-up questions about a step or concept while practising, instead of stopping at the final answer.
Unlimited practice is available on eligible plans. Free practice and AI usage have limits; check the current plan allowances before choosing.
This page stays readable without an account. AI responses can be wrong; check them against the solution and source material.
More questions on Graphs (Data Structure)
2026 Set 2 Q12The set T represents various traversals over binary tree. The set S represents the order of…2026 Set 2 Q19Consider the following three ANSI-C programs, P1, P2, and P3. P1 [code] P2 [code] **P3**…2026 Set 1 Q23Let be an odd number greater than 100. Consider a binary minheap with elements stored in an…2026 Set 1 Q24Consider a hash table that is initially empty. The hash table is maintained…2026 Set 1 Q27Consider the following C statements: Which of the following options is/are correct? [figure]