The document discusses algorithms and linked lists. It covers topics like what an algorithm is, why algorithm analysis is important, common algorithmic approaches like greedy algorithms and divide-and-conquer, and complexity analysis using asymptotic notations. For linked lists, it discusses their uses, pros and cons compared to arrays, different types of linked lists, common operations like sorting, reversing, detecting cycles, and more.
Original Description:
Advanced data structure questions from bits pillani
The document discusses algorithms and linked lists. It covers topics like what an algorithm is, why algorithm analysis is important, common algorithmic approaches like greedy algorithms and divide-and-conquer, and complexity analysis using asymptotic notations. For linked lists, it discusses their uses, pros and cons compared to arrays, different types of linked lists, common operations like sorting, reversing, detecting cycles, and more.
The document discusses algorithms and linked lists. It covers topics like what an algorithm is, why algorithm analysis is important, common algorithmic approaches like greedy algorithms and divide-and-conquer, and complexity analysis using asymptotic notations. For linked lists, it discusses their uses, pros and cons compared to arrays, different types of linked lists, common operations like sorting, reversing, detecting cycles, and more.
3. What are the criteria of algorithm analysis? 4. What are asymptotic notations? 5. Briefly explain the approaches to developing algorithms. 6. Give some examples of greedy algorithms. 7. What are some examples of divide and conquer algorithms? 8. Which problems can be solved using recursion? 9. How does recursion work in Java? 10. What is a tower of hanoi? 11. Why is recursion used? 12. What are the advantages o and disadvantages of recursion? 13. Differentiate between recursion and iteration. 14. What is head and tail recursion? 15. Discuss applications of recursion. 1. What is a Linked List? 2. What are some real-life use cases of Linked Lists? 3. What are some pros and cons of Linked List compared to Arrays? 4. When is doubly linked list more efficient than singly linked list? 5. When is a circular linked list useful? 6. Why is Merge sort preferred over Quick sort for sorting Linked Lists? 7. Can traverse a Linked List in O(n1/2)? 8. How to apply Binary Search O(log n) on a sorted Linked List? 9. Reverse a singly Linked List 10. Reverse a singly Linked List using only two pointers. 11. Convert a Singly Linked List to a Circular Linked List. 12. Convert a Singly Linked List to a Doubly Linked List. 13. Insert an item in a sorted Linked List, while maintaining order. 14. Merge two sorted Singly Linked Lists without creating new nodes. 15. Remove duplicates from an unsorted Linked List. 16. Given a Singly Linked List, determine if it is a Palindrome. 17. Find common elements in two given Linked Lists and return them as a new Linked List. 18. Find the length of a Linked List that contains a cycle. 19. Detect if a List is cyclic 20. Find Nth element from the end of a singly Linked List.