Learn more complex tree data structures, AVL and (2-4) trees. Investigate the balancing techniques found in both tree types. Implement these techniques in AVL operations. Explore sorting algorithms with simple iterative sorts, followed by Divide and Conquer algorithms. Use the course visualizations to understand the performance.
What you'll learn
Improve Java programming skills by implementing AVLs and sorting algorithms
Study techniques for restoring balance in AVL and (2-4) trees
Distinguish when to apply single and double rotations in AVLs
Investigate complex (2-4) trees that exhibit underflow and overflow problems
Demonstrate the appropriate use of promotion, transfer and fusion in (2-4) trees
Implement basic iterative sorting algorithms: Bubble, Insertion and Selection
Explore optimizations to improve efficiency, including Cocktail Shaker Sort
Contemplate two Divide & Conquer comparison sorting algorithms: Merge and Quick Sort
Consider one non-comparison Divide & Conquer algorithm: LSD Radix Sort
Analyze the stability, memory usage and adaptations of all sorting algorithms presented
Study the time complexity for the AVLs, (2-4) Trees and sorting algorithms
University courses you can audit for free, with lectures, readings and practice quizzes.
A verified certificate from the university if you pay for it.
From Georgia Institute of Technology, a well-regarded name.
Self-paced: start any time.
Disadvantages
Graded assignments and the certificate need the paid track.
Audit access can expire a few weeks after the course ends.
Learning is free, but the certificate costs money.
Some parts (graded work, certificate) are paid.
Some points apply to every course of this kind; see how we rank.
Free to audit
Free: Choose "Audit this course" when you enrol: lectures, readings and practice are free.
Paid: Graded assignments and the verified certificate (Certificate $189). Audit access may end after the course closes.
Before you start
Basic knowledge of the Java programming language, object-oriented principles, and the following abstract data types: Binary Search Trees, Heaps, and Hashmaps.
Taught by
Mary Hudachek-BuswellAssociate Chair, School of Computing Instruction
An introduction to cybersecurity for technical and non-technical audiences alike. Learn how to secure your accounts, data, systems, and software against today’s threats and how to recognize and evaluate tomorrow’s as well, both at home and at work. Learn how to preserve your own privacy. Learn to v…
This course picks up where CS50 leaves off, diving more deeply into the design and implementation of web apps with Python, JavaScript, and SQL using frameworks like Django, React, and Bootstrap.
Learn to program in TensorFlow Lite for microcontrollers so that you can write the code, and deploy your model to your very own tiny microcontroller. Before you know it, you’ll be implementing an entire TinyML application.