Data structures
Notes Lecture 1: Abstract Data Types
Notes Lecture 2: Efficient Use Of Memory
- Dynamic Memory Allocation
- Linked Data Structures
- Operations Needed To Support Dynamic Allocation And Linked Structures
- Node And Arc Diagrams
- Linked Implementation Of Stacks
Notes Lecture 3: Recursion
- Foreword On Recursion
- Recursive Definitions
- Using Recursion To Solve Problems
- Recursion As A Programming Technique
- List Specification
Notes Lecture 4: Specifications Of Lists And Collections
- Our Specification Of Lists - General Considerations
- Our Specification Of Collection - Details
- Our Specification Of Lists - Details
Notes Lecture 5: Implementation Of Lists
Notes Lecture 6: Further List Variations
Notes Lecture 7: Sorting Algorithms
- Handout examples of programs to analyze.
- General Sorting Strategy (Recursive)
- Merge Sort
- Insertion Sort
- QuickSort
- Radix Sort
- Sorting Summary
- Asymptotic Complexity
Notes Lecture 8: Tree Structures
- Handouts:
- from last lecture, simple programs to analyze.
- specification of binary tree.
- C type definitions for binary tree implementation.
Notes Lecture 9: Binary Search Trees
We have defined binary trees in general, and for the next couple of lectures we are going to look at special kinds of binary trees - binary trees - that have specific properties that make certain kinds of processing very efficient.The first special kind of binary tree we will look at is Binary Search Trees. These are binary trees with specific properties that make it very efficient to search for a value in the tree.
- Binary Search
- Operations on Binary Search Trees
- A Problem With Binary Search Trees
- Details of Rotation And Insertion, Sketch of Deletion, For AVL Trees
Notes Lecture 10: B-Trees And HeapsIn this lecture we will look at two kinds of balanced trees, B-trees and Heaps.
B-trees are extremely widely used in practice for storing large amounts of data on disk. A B-tree is perfectly height-balanced version of a data structure called an M-way search tree, so we will begin by discussing M-way search trees.- M-way Search Trees
- B-trees: Perfectly Height-balanced M-way search trees
- Abstract Type HEAP
- Implementing a Tree in an Array
Notes Lecture 11: Tables And Graphs
- Handout specification of Table
Notes Lecture 12: Graph Algorithms
- This lecture will probably not take a full 3 hours. Use the additional time to summarize the course and review for the exam.
- Shortest Path Algorithm
- Spanning Trees
- Algorithm For Computing a Minimum Spanning Tree
- How To Implement A Graph
No comments:
Post a Comment