SKILL BENCHMARK

# Java Advanced Data Structures and Algorithm Competency (Intermediate Level)

• 20m
• 20 questions
The Java Advanced Data Structures and Algorithm Competency (Intermediate Level) benchmark evaluates your knowledge of using code to check for binary tree types, implementing the binary search tree data structure, and performing insert and lookup operations. You will be evaluated on your skills in recognizing and implementing graph algorithms, such as topological sort, shortest path, and Dijkstra's algorithm. The learners who score high on this benchmark demonstrate that they have the skills to solve binary tree problems and solve problems using binary search trees.

## Topics covered

• calculate the maximum depth of a binary tree
• compute and check to see whether a path with a certain sum exists
• contrast the algorithms for shortest path in unweighted and weighted graphs
• describe Dijkstra's algorithm for the shortest path in a weighted graph
• describe how lookup works in a binary search tree
• describe the topological sorting algorithm
• find the minimum and maximum value in a binary search tree
• identify when the shortest path to a node needs to be updated
• implement the mirroring of a binary tree
• insert a node into a binary search tree
• populate the distance table and perform backtracking
• print a range of values in a binary search tree
• see if a binary tree meets the constraints of a binary search tree
• write code to check whether a binary tree is balanced
• write code to check whether a binary tree is full
• write code to check whether a binary tree is perfect
• write code to implement Dijkstra's algorithm
• write code to implement the count nodes algorithm
• write code to implement the shortest path algorithm
• write code to implement topological sort