LinkedList Quiz-2

LinkedList Quiz-2

University

11 Qs

quiz-placeholder

Similar activities

Linked List (Chapter 2)

Linked List (Chapter 2)

University

15 Qs

BCSC0006 - Quiz 4 - Linked List & Stacks

BCSC0006 - Quiz 4 - Linked List & Stacks

University

10 Qs

Data Structure

Data Structure

University

15 Qs

QUIZ 1 DS1E

QUIZ 1 DS1E

University

10 Qs

Data structures

Data structures

University

12 Qs

DS Quiz1

DS Quiz1

University

10 Qs

Data Structures Quiz

Data Structures Quiz

University

10 Qs

Linked List 2

Linked List 2

University

10 Qs

LinkedList Quiz-2

LinkedList Quiz-2

Assessment

Quiz

Computers

University

Hard

Created by

Ankur Aggarwal

Used 2+ times

FREE Resource

11 questions

Show all answers

1.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

What does the following function do for a given Linked List with first node as head?

void fun1(struct node* head)

{ if(head == NULL) return;

fun1(head->next);

printf("%d ", head->data); }

Prints all nodes of linked lists

Prints all nodes of linked list in reverse order

Prints alternate nodes of Linked List

Prints alternate nodes in reverse order

2.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Which of the following points is/are true about Linked List data structure when it is compared with array?

Arrays have better cache locality that can make them better in terms of performance.

It is easy to insert and delete elements in Linked List

Random access is not allowed in a typical implementation of Linked Lists

All of the above

3.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Assume that reference of head of the following doubly linked list is passed to the function. What should be the modified linked list after the function call? 1 <--> 2 <--> 3 <--> 4 <--> 5 <--> 6.

void fun(struct node **head_ref)

{

struct node *temp = NULL;

struct node current = head_ref;

while (current != NULL)

{

temp = current->prev;

current->prev = current->next;

current->next = temp;

current = current->prev;

}

if(temp != NULL )

*head_ref = temp->prev;

}

6 <--> 5 <--> 4 <--> 3 <--> 2 <--> 1

5 <--> 4 <--> 3 <--> 2 <--> 1 <--> 6

2 <--> 1 <--> 4 <--> 3 <--> 6 <--> 5

6 <--> 5 <--> 4 <--> 3 <--> 1 <--> 2

4.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

What should be added in place of "/*ADD A STATEMENT HERE*/", so that the function correctly reverses a linked list?

/* Link list node */

struct node

{

int data;

struct node* next;

};

/* head_ref is a double pointer which points to head (or start) pointer

of linked list */

static void reverse(struct node** head_ref)

{

struct node* prev = NULL;

struct node* current = *head_ref;

struct node* next;

while (current != NULL)

{

next = current->next;

current->next = prev;

prev = current;

current = next;

}

/*ADD A STATEMENT HERE*/

}

*head_ref = NULL;

*head_ref = prev;

*head_ref = next;

*head_ref = current;

5.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

What is the output of the following function in which start is pointing to the first node of the linked list 1->2->3->4->5->6?

void fun(struct node* start)

{

if(start == NULL)

return;

printf(\"%d \", start->data);

if(start->next != NULL )

fun(start->next->next);

printf(\"%d \", start->data);

}

1 4 6

6 4 1

1 3 5

1 2 3 5

6.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

What will be the output of the following function when the linked list is 10->20->30->40?

void fun(struct node* start)

{

if(start == NULL)

return;

printf(\"%d \", start->data);

fun(start->next);

printf(\"%d \", start->data);

}

10 20 30 40 40 30 20 10

10 20 30 40 30 20 10

40 30 20 10 10 20 30 40

40 30 20 10

7.

MULTIPLE CHOICE QUESTION

30 sec • 1 pt

Which of the following statements is true regarding the time complexity of inserting an element at the beginning of a linked list?

O(n^2)

O(log n)

O(n)

O(1)

Create a free account and access millions of resources

Create resources
Host any resource
Get auto-graded reports
or continue with
Microsoft
Apple
Others
By signing up, you agree to our Terms of Service & Privacy Policy
Already have an account?