Vidyalelo
Data Structure · all questions

Miscellaneous on Data Structures
practice.

Practice every MCQ with options. Use Show answers when you want the correct option and solution.

1,171

Questions

16/59

Page

Pick an option on a question to see the right answer and solution.

What is the least time in which we can raise a number x to power y?

Select an option to see the answer and solution.

In a graph G, the total number of edges in maximum matching is called?

Select an option to see the answer and solution.

Topological sort is equivalent to which of the traversals in trees?

Select an option to see the answer and solution.

In the coalesced hashing, the collided element is placed in the first empty place of the hash table.

Select an option to see the answer and solution.

Which of the following is not an application of Euclid's algorithm?

Select an option to see the answer and solution.

In a perfect matching of graph G, every vertex is connected to how many edges?

Select an option to see the answer and solution.

What will be the plain text corresponding to cipher text "IWRWHS" if running key cipher is used with keyword as "DATASTRUCTURE"?

Select an option to see the answer and solution.

How many times is the recursive function called, when the following code is executed?
void my_recursive_function(int n)
{
     if(n == 0)
     return;
     printf("%d ",n);
     my_recursive_function(n-1);
}
int main()
{
     my_recursive_function(10);
     return 0;
}

Select an option to see the answer and solution.

Which of the following is an example of asymmetric encryption technique?

Select an option to see the answer and solution.

What is the time complexity of the following iterative code used to find the smallest and largest element in a linked list?
#include<stdio.h>
#include<stdlib.h>
struct Node
{
     int val;
     struct Node* next;
}*head;
int get_max()
{
      struct Node* temp = head->next;
	  int max_num = temp->val;
	  while(temp != 0)
	  {
	        if(temp->val > max_num)
		    max_num = temp->val;
		temp = temp->next;
	  }
	  return max_num;
}
int get_min()
{
      struct Node* temp = head->next;
	  int min_num = temp->val;
	  while(temp != 0)
	  {
	        if(temp->val < min_num)
		    min_num = temp->val;
		temp = temp->next;
	  }
	  return min_num;
}
int main()
{
      int i, n = 9, arr[9] ={8,3,3,4,5,2,5,6,7};
      struct Node *temp, *newNode;
      head = (struct Node*)malloc(sizeof(struct Node));
      head -> next =0;
      temp = head;
      for(i=0;i<n;i++)
      {
          newNode =(struct Node*)malloc(sizeof(struct Node));
          newNode->next = 0;
          newNode->val = arr[i];
          temp->next =newNode;
          temp = temp->next;
      }
      int max_num = get_max();
      int min_num = get_min();
      printf("%d %d",max_num,min_num);
      return 0;
}

Select an option to see the answer and solution.

. . . . . . . . separates a particular pair of vertices in a graph.

Select an option to see the answer and solution.

What type of graph has chromatic number less than or equal to 2?

Select an option to see the answer and solution.

Consider the following code:
#include<stdio.h>
int recursive_sum(int n)
{
      if(n == 0)
        return 0;
      return n + recursive_sum(n - 1);
}
int main()
{
     int n = 5;
     int ans = recursive_sum(n);
     printf("%d",ans);
     return 0;
}
Which of the following is the base case for the above recursive code?

Select an option to see the answer and solution.

Which header file contains the function rand() in C language?

Select an option to see the answer and solution.

What will be the output for the following code?
#include <stdio.h>
#include <stdlib.h>
void combination(int arr[], int aux[], int start, int end, int index, int r);
int compare (const void * a, const void * b)
{  return ( *(int*)a - *(int*)b );  }
void print(int arr[], int n, int r)
{
    int aux[r];
    qsort (arr, n, sizeof(int), compare);    
    combination(arr, aux, 0, n-1, 0, r);
}
void combination(int arr[], int aux[], int start, int end, int index, int r)
{
    if (index == r)
    {
        for (int i=0; i<r; i++)
            printf("%d " ,aux[i]);
        printf(", ");
        return;
    }    
    for (int i=start; i<=end && end-i+1 >= r-index; i++)
    {
        aux[index] = arr[i];
        combination(arr, aux, i+1, end, index+1, r);
        while (arr[i] == arr[i+1])
             i++;
    }
}
int main()
{
    int arr[] = {1, 2, 2};
    int r = 2;
    int n = sizeof(arr)/sizeof(arr[0]);
    print(arr, n, r);
}

Select an option to see the answer and solution.

Which among the following algorithms can be used to decide which page should be replaced when the new page comes in?

Select an option to see the answer and solution.

What will be the recurrence relation of the following code?
int xpowy(int x, int n)
if (n==0) return 1;
if (n==1) return x;
if ((n % 2) == 0)
return xpowy(x*x, n/2);
else
return xpowy(x*x, n/2) * x;

Select an option to see the answer and solution.

What will be the time complexity of the code to print combinations?

Select an option to see the answer and solution.

What will be the output of the following code?
#include <bits/stdc++.h> 
using namespace std; 
void convert(int arr[], int n) 
{ 
	int temp[n]; 
	memcpy(temp, arr, n*sizeof(int)); 
	sort(temp, temp + n); 	
        unordered_map<int, int> map; 	
	int sort_index = 0; 
	for (int i = 0; i < n; i++) 
		map[temp[i]] = sort_index++; 	
	for (int i = 0; i < n; i++) 
		arr[i] = map[arr[i]]; 
} 
void printArr(int arr[], int n) 
{ 
	for (int i=0; i<n; i++) 
		cout << arr[i] << " "; 
} 
int main() 
{ 
	int arr[] = {3,5,2,4}; 
	int n = sizeof(arr)/sizeof(arr[0]); 
	convert(arr , n); 	
	printArr(arr, n); 
	return 0; 
}

Select an option to see the answer and solution.

What is the running time of the Huffman encoding algorithm?

Select an option to see the answer and solution.