NYU Classifieds>NYU Online Courses>Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps

Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps

About this Course

This Data Structures & Algorithms course extends beyond linear data structures in CS1332xI to the nonlinear and hierarchical data structures here in CS1332xII. A short Java review is presented on topics relevant to new data structures covered in this course. The course does require prior knowledge of Java, object-oriented programming and linear data structures. Time complexity is threaded throughout the course within all the nonlinear data structures and algorithms. You will explore the hierarchical data structure of trees. Trees have important properties such as shape and order which are used to categorize trees into different groups and define their functionality. The course begins by explaining Binary Trees and two subgroups: Binary Search Trees (BSTs) and Binary Heaps. You will program BSTs, their operations and traversal algorithms. BSTs are an important structure when wanting to access information quickly. Heaps approach access differently and prioritize what data is accessed. Heaps also employ the concept of up-heap and down-heap operations not found in other structures. HashMaps and SkipLists are the last data structures discussed in the course. The HashMap ADT is a collection of key-value pairs. The key-value pairs are stored in an unordered manner based on hash codes and compression functions that translate keys into integers. You will investigate different collision strategies and implement one. SkipLists are a probabilistic data structures where data is placed in the structure based on a randomization procedure. The course design has several components and is built around modules. A module consists of a series of short (3-5 minute) instructional videos. In between the videos, there are textual frames with additional content information for clarification, as well as video errata dropdown boxes. All modules include an Exploratory Lab that incorporates a Visualization Tool specifically designed for this course. The lab includes discovery questions that lead you towards delving deeper into the efficiency of the data structures and examining the edge cases. This is followed by a set of comprehension questions on topics covered in the module that count for 10% of your grade. The modules end with Java coding assignments which are 60% of your grade. Lastly, you'll complete a course exam, which counts for the remaining 30% of your grade.

Created by: The Georgia Institute of Technology

Level: Intermediate


Related Online Courses

Organizations need skilled, forward-thinking Big Data practitioners who can apply their business and technical skills to unstructured data such as tweets, posts, pictures, audio files, videos,... more
Le prototypage tient à la fois de l’art et de la science. Dans ce MOOC, vous apprendrez comment les critères ergonomiques (ancrés dans la psychologie cognitive) s’articulent au sein du design... more
The Data Structures & Algorithms course begins with a review of some important Java techniques and nuances in programming. The course requires some prior knowledge of Java and object-oriented... more
El curso presenta los elementos básicos y las tendencias actuales para realizar una evaluación completa del entorno construido y desarrolla las herramientas para el análisis de impacto de la po... more
Continuous Integration and Continuous Delivery (CI/CD) is a key skill that every modern day Software and DevOps Engineer should know. This course provides a practical introduction to CI/CD, an... more

CONTINUE SEARCH

FOLLOW COLLEGE PARENT CENTRAL