This repository contains the content of the Introduction to Data Structures course. This course covered the fundamentals of data structures and the bases for developing robust and efficient solutions, as well as examples and problem solving.
- Linked List: src/main/java/dataStructure/LinkedList.java
 - Stack: src/main/java/dataStructure/Stack.java
 - Queue: src/main/java/dataStructure/Queue.java
 - Tree: src/main/java/dataStructure/Tree.java
 - Binary Search Tree: src/main/java/dataStructure/BinarySearchTree.java
 
- 
Largest Tree Values:
Given a binary tree, find the largest value at each level.
src/main/java/solvingProblems/LargestTreeValues.java - 
Parenthesis Balancing:
Given a string expression exp, write a program to check whether the pairs and orders of "{", "}", "(", ")", "[", "]" are correct in the given expression.
src/main/java/solvingProblems/ParenthesisBalancing.java - 
Queue Reverse:
Given an integer k and a queue of integers, the task is to reverse the order of the first k elements in the queue, leaving the remaining elements in the same relative order.
src/main/java/solvingProblems/QueueReverse.java 
Instructor: João Carlos Sousa do Vale