Students develop knowledge of basic data structures for storage and retrieval of ordered or unordered data. Data structures include: arrays, linked lists, binary trees, heaps, and hash tables.
Students develop knowledge of applications of data structures including the ability to implement algorithms for the creation, insertion, deletion, searching, and sorting of each data structure.
Students learn to analyze and compare algorithms for efficiency using Big-O notation.
Students implement projects requiring the implementation of the above data structures.
- Understand the meaning of asymptotic time complexity analysis. In particular:
- Describe the value of big-oh notation.
- Describe the limitations of big-oh notation.
- Provide a definition for big-oh notation.
- Be able to analyze the time complexity of simple algorithms with loops and conditionals.
- Be able to analyze the time complexity of simple recursive methods.
- Be able to compare the time complexity of two alternate algorithms.
- Be able to analyze the time complexity of a program with multiple simple method calls with known time complexity.
- Interpret and write Java code using the ArrayList and LinkedList classes.
- Understand the underlying organization of the following data structures: array-based-list, double/singly-linked-list, stack, and queue. In particular:
- Implement the basic methods of an array-based data structure.
- Implement the basic methods of a singly-linked-list data structure.
- Explain how the stack and queue data structures are typically implemented.
- Describe and explain the time complexity for inserting, finding, and deleting items to/from the following data structures:ArrayList, LinkedList, stack, and queue.
- Enumerate and explain the methods available in the pure stack and pure queue interfaces.
- Define the term adaptor class and be able to implement a simple adaptor class, e.g., stack, queue.
- Lectures 14
- Quizzes 1
- Duration 50 hours
- Skill level All levels
- Language Telugu
- Students 1
- Assessments Yes