https://github.com/martincastroalvarez/data-structures-java
Data Structures in Java
https://github.com/martincastroalvarez/data-structures-java
array binary-search data-structures hash-table java linked-list queue set stack tree
Last synced: 12 months ago
JSON representation
Data Structures in Java
- Host: GitHub
- URL: https://github.com/martincastroalvarez/data-structures-java
- Owner: MartinCastroAlvarez
- Created: 2022-10-22T14:46:29.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-04-17T13:17:20.000Z (almost 3 years ago)
- Last Synced: 2025-02-14T17:37:33.266Z (about 1 year ago)
- Topics: array, binary-search, data-structures, hash-table, java, linked-list, queue, set, stack, tree
- Language: Java
- Homepage: https://martincastroalvarez.com
- Size: 5.81 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Data Structures in Java

## [Binary Tree](./BinaryTree.java)
```bash
javac BinaryTree.java && java BinaryTree
```
```bash
Insert a number or 'exit' to quit:
>>> 1
Added: 1
Insert a number or 'exit' to quit:
>>> 1
Added: 1
Insert a number or 'exit' to quit:
>>> 5
Added: 5
Insert a number or 'exit' to quit:
>>> 10
Added: 10
Insert a number or 'exit' to quit:
>>> 3
Added: 3
Insert a number or 'exit' to quit:
>>> 8
Added: 8
Insert a number or 'exit' to quit:
>>> 20
Added: 20
Insert a number or 'exit' to quit:
>>> 3
Added: 3
Insert a number or 'exit' to quit:
>>> 6
Added: 6
Insert a number or 'exit' to quit:
>>> 6
Added: 6
Insert a number or 'exit' to quit:
>>> 5
Added: 5
Insert a number or 'exit' to quit:
>>> exit
Sorted values:
1 1 3 3 5 5 6 6 8 10 20
```
## [Set](./Set.java)
```bash
javac Set.java && java Set
```
```bash
Creating Set A:
Insert a number or 'exit' to continue:
>>> 1
Added: 1
Insert a number or 'exit' to continue:
>>> 2
Added: 2
Insert a number or 'exit' to continue:
>>> 3
Added: 3
Insert a number or 'exit' to continue:
>>> 4
Added: 4
Insert a number or 'exit' to continue:
>>> exit
Creating Set B:
Insert a number or 'exit' to continue:
>>> 3
Added: 3
Insert a number or 'exit' to continue:
>>> 4
Added: 4
Insert a number or 'exit' to continue:
>>> 5
Added: 5
Insert a number or 'exit' to continue:
>>> 6
Added: 6
Insert a number or 'exit' to continue:
>>> exit
Set A: [1, 2, 3, 4]
Set B: [3, 4, 5, 6]
Union: [1, 2, 3, 4, 5, 6]
Difference: [1, 2, 5, 6]
Intersection: [3, 4]
```
## [Recursion](./Recursion.java)
```bash
javac Recursion.java && java Recursion
```
```bash
What is value `n`?
>>> 7
What is value `m`?
>>> 6
Calculating: A(7, 6):
>>> 21
n=1: 1
n=2: 1 1
n=3: 1 3 1
n=4: 1 7 6 1
n=5: 1 15 25 10 1
n=6: 1 31 90 65 15 1
n=7: 1 63 301 350 140 21
```
## [Complexity](./Complexity.java)
```bash
javac Complexity.java && java Complexity
```
## [Linked List](./LinkedList.java)
```bash
javac LinkedList.java && java LinkedList
```
```bash
Insert a comma separated list of values:
>>> 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17
LinkedList:
|17|->|16|->|15|->|14|->|13|->|12|->|11|->|10|->|9|->|8|->|7|->|6|->|5|->|4|->|3|->|2|->|1|
Inverted LinkedList:
|1|->|2|->|3|->|4|->|5|->|6|->|7|->|8|->|9|->|10|->|11|->|12|->|13|->|14|->|15|->|16|->|17|
```
```bash
Insert a comma separated list of values:
>>>
LinkedList:
|1|
Inverted LinkedList:
|1|
```
## [Stacks & Queues](./StackedQueues.java)
```bash
javac StackedQueue.java && java StackedQueue
```
```bash
Insert a comma separated list of values:
>>> 1,2,3,4,5,6,7,8,9,10
How many elements to unshift from the Queue?
>>> 3
Queue:
10, 9, 8, 7, 6, 5, 4,
```
```bash
Insert a comma separated list of values:
>>> 1,2,4
How many elements to unshift from the Queue?
>>> 5
Queue:
```
```bash
Insert a comma separated list of values:
>>> 1
How many elements to unshift from the Queue?
>>> 0
Queue:
1,
```
## [Hash Map](./HashMap.java)
```bash
javac HashTable.java && java HashTable
```
```bash
HashMap:
0 -> 96-14556 Delia Gutiérrez 5.0
1 -> 96-11797 Emely Arraiz 5.0
2 -> 96-14551 Martha Arteaga 4.5
3 -> 96-11052 Wilmer Pereira 4.5
4 -> 96-12965 Lázaro Rech 4.5
5 -> 96-14145 Steven Andrea 4.5
6 -> 96-13955 Maria Ortega 5.0
7 -> 96-12087 Alberto Mendoza 4.5
8 -> 96-14477 Oscar Meza 3.0
9 -> 96-14878 Maria Fuenmayor 5.0
```