Skip to content

Commit c30e331

Browse files
committed
Arrays, collections and data structures
1 parent 9bebe43 commit c30e331

File tree

28 files changed

+56
-0
lines changed

28 files changed

+56
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Covering Vector API structure and terminology:
2+
Explain with examples the Vector API terminology. Cover notions such as element type, shape, species, lanes, and so on.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Summing two arrays via Vector API:
2+
Write an application that uses Vector API for summing up two Java arrays.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Summing two arrays via Vector API:
2+
Write an application that uses Vector API for summing up two Java arrays.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Summing two arrays unrolled via Vector API:
2+
Write an application that uses Vector API for summing two Java arrays using the unrolled technique.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Benchmarking Vector API:
2+
Consider two given arrays, x[], y[]. Write an application that benchmark the computation z[] = x[] + y[], w[] = x[] * z[] * y[], k[] = z[] + w[] * y[] using plain Java and Vector API.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Applying Vector API to compute FMA:
2+
Provide a Vector API implementation of the famous Fused Multiply Add (FMA).
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Multiplying matrices via Vector API:
2+
Write a Vector API implementation for multiplying two matrices.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Hooking the image negative filter with Vector API:
2+
Write a program that uses Vector API to apply the negative filter to an image.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Dissecting factory methods for collections:
2+
Exemplify several approaches for creating unmodifiable/immutable maps, lists, and sets in Java.

Chapter05/P116_StreamToList/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Getting a list from a stream:
2+
Provide several snippets of code useful for collecting Stream content into a Java List.

Chapter05/P117_newHashMap/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Handling map capacity:
2+
Explain what the capacity of a Java Map is and how it can be used to control the number of effective mappings.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Tackling Sequenced Collections:
2+
Provide a deep dive into the JDK 21 Sequenced Collections API. Exemplify this API on your favorite Java collections and explain what the alternatives before this API are.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Tackling Sequenced Collections:
2+
Provide a deep dive into the JDK 21 Sequenced Collections API. Exemplify this API on your favorite Java collections and explain what the alternatives before this API are.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Tackling Sequenced Collections:
2+
Provide a deep dive into the JDK 21 Sequenced Collections API. Exemplify this API on your favorite Java collections and explain what the alternatives before this API are.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Tackling Sequenced Collections:
2+
Provide a deep dive into the JDK 21 Sequenced Collections API. Exemplify this API on your favorite Java collections and explain what the alternatives before this API are.

Chapter05/P119_TheRopeDS/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Rope data structure:
2+
Explain what the Rope data structure is and provide a Java implementation for its main operations (index, insert, delete, concatenation, and split).
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Skip List data structure:
2+
Explain and exemplify the Skip List data structure.

Chapter05/P121_TheKDTreeDS/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the K-D-trees data structure:
2+
Provide a brief introduction of K-D Trees and a Java implementation for 2-D Trees.

Chapter05/P122_TheZipperDS/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Zipper data structure:
2+
Explain and exemplify on a tree the Zipper data structure.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Binomial Heap data structure:
2+
Provide a deep coverage of a Binomial Heap data structure. Explain its main operations and exemplify them in a Java implementation.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Fibonacci Heaps data structure:
2+
Explain and exemplify the Fibonacci Heap data structure.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Pairing Heaps data structure:
2+
Explain and exemplify the Pairing Heap data structure.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Huffman Coding data structure:
2+
The Huffman Coding algorithm was developed by David A. Huffman in 1950. Explain its usage and exemplify it via a Java implementation.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Splay Tree data structure:
2+
A Splay Tree is a flavor of Binary Search Tree (BST). Explain what its particularities are and provide an implementation of its main operations.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Interval Tree data structure:
2+
An Interval Tree is another flavor of Binary Search Tree (BST). Highlight its usage and exemplify it via a Java implementation.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Unrolled Linked List data structure:
2+
Explain and exemplify the Unrolled Linked List data structure.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Introducing the Unrolled Linked List data structure:
2+
Explain and exemplify the Unrolled Linked List data structure.
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# Implementing joins algorithms:
2+
There are three famous join algorithms: Nested Loop Join, Hash Join, and Sort Merge Join. Explain and exemplify each of them on two tables that are involved in a one-to-many relationship.

0 commit comments

Comments
 (0)