Building Closed Memorial Day Weekend
The Silicon Valley Campus is closed Saturday, May 27 through Monday, May 29, 2023, in honor of Memorial Day. We will reopen for classes on Tuesday.
This course delves into the design, implementation, and use of advanced data structures. Students will solidify their understanding of strings, arrays, pointers, structures, unions and bit manipulation. Emphasis will be on programming that employs and improves upon a variety of data structures. Through this course, you will learn to write efficient programs by understanding the complexities of various algorithms.
At the conclusion of the course, you should be able to
- Define a data type and understand the memory layout for different variables.
- Manipulate arrays of any data type, program with loops and control flow, play with pointers.
- Define user created structures, use files to read the input data and write output.
- Allocate structure memory dynamically, manipulate linked lists.
- Sort complex data though simple and advanced sort routines.
- Create tree structures, assign data elements in tree format and traverse trees.
- Create a B-Tree structure to store multiple elements of data in a tree node with multiple children.
- Create graph nodes to traverse through them, find shortest path from a graph between two nodes.
- Identify a minimum spanning tree of a graph created with the node information.
- Data types, variables, operators, and operator precedence
- Arrays in general, including two-dimensional and multi-dimensional configurations
- Dynamic memory allocation
- Pointers, strings, file input and output
- Data structures such as linked, circular and doubly linked lists, stacks, queues, and hash tables
- Binary trees in general, including implementation, traversal and drawbacks, AVL trees, B trees, and B+ trees
- Recursions and implementation of recursive algorithms
- Huffman algorithm
- Sorting routines, Big O notation and the complexity of algorithms
- Graphs: their traversal and applications
Skills Needed: Students should have a good understanding of programming using data types such as pointers, control flow, structures and functions.
- Save Your Seat
Help us confirm course scheduling. Enroll at least seven days before your course starts.
- Accessing Canvas
Learn more about gaining access to your course on Canvas in our FAQ section.
Accessibility and Accommodation
For accessibility questions or to request an accommodation, please visit Access for Students with Disabilities or email the Extension registrar.
Finance Your Education
Here are ways to pay for your education.
Estimated Cost: TBD
Course Availability Notification
Please use this form to be notified when this course is open for enrollment.
Speak to a student services representative.
Call (408) 861-3860