Basics of Arrays:
- JavaArrayInitialization-1: Write a Java program to declare and initialize an array of integers, access elements using index notation, and print the contents of the array.
- DynamicArrayImplementation-2: Develop a Java program to implement a dynamic array that can grow or shrink as needed. Implement add, remove, and access elements at any index.
Singly Linked Lists:
- SinglyLinkedListOperations-3: Implement a Java program for a singly linked list. This should include creating nodes, inserting and deleting nodes, and traversing the list.
- ReverseSinglyLinkedList-4: Write a Java program to reverse a singly linked list by iterating through the list and reversing the pointers.
Doubly Linked Lists:
- DoublyLinkedListOperations-5: Develop a Java program to implement a doubly linked list. This includes creating nodes, inserting and deleting nodes, and traversing the list in both directions.
- FindMiddleNodeDoublyLinkedList-6: Write a Java program to find the middle node of a doubly linked list using slow and fast pointer techniques.
Circular Linked Lists:
- CircularLinkedListOperations-7: Implement a Java program for a circular linked list. This includes creating nodes, inserting and deleting nodes, and traversing the list in a circular fashion.
- CircularQueueImplementation-8: Write a Java program to implement a circular queue using a circular linked list. This should include enqueue, dequeue, and front operations.
Stacks:
- StackImplementation-9: Develop a Java program to implement a stack using an array or linked list. Include push, pop, and peek operations.
- EvaluateExpressionUsingStack-10: Write a Java program to evaluate an expression using a stack. Handle arithmetic operators and parentheses.
Queues:
- QueueImplementation-11: Implement a Java program to create a queue using an array or linked list. Include enqueue, dequeue, and front operations.
- BankTellerQueueSimulation-12: Simulate a bank teller queue using a queue in Java. This should include adding customers, processing transactions, and displaying the current queue.
Binary Trees:
- BinaryTreeImplementation-13: Write a Java program to implement a binary tree. This includes creating nodes, inserting nodes, and traversing the tree in different orders (in-order, pre-order, post-order).
- CheckBinaryTreeType-14: Implement a Java program to check if a given binary tree is a full binary tree, a perfect binary tree, or a complete binary tree.
Binary Search Trees (BSTs):
- BSTImplementation-15: Write a Java program to implement a BST. This includes searching for a specific element, inserting new elements, and deleting elements.
- BalanceBSTUsingAVLRotations-16: Develop a Java program to balance a BST using AVL rotations, including maintaining the height.