Lecture 19
Self-organizing data structures: lists, splay trees Data structures for multidimensional data: K-D trees Review and overview of the C+ Standard Template Library Final review Reading: Weiss
Lecture 2
An introduction to C+ Comparisons of Java to C+ Basic C+ programming C+ primitive types and operators Pointers in C+
CSE 100, UCSD: LEC 2
Page 1of 38
An introduction to C+
C+ is an object-
Lecture 3
References in C+ The "const" qualifier Arrays, pointers and pointer arithmetic The interface/implementation distinction in C+ C+ class templates "friend" visibility Reading: Weiss Ch 1
Lecture 4
Binary search tree average cost analysis The importance of being balanced AVL trees and AVL rotations Insert in AVL trees Reading: Weiss Ch 4, sections 1-4
CSE 100, UCSD: LEC 4
Page 1 of 40
Lecture 5
Treaps Find, insert, delete, split, and join in treaps Randomized search trees Randomized search tree time costs Reading: "Randomized Search Trees" by Aragon & Seidel, Algorithmica 1996, ht
Lecture 6
Randomized data structures Random number generation Skip lists: ideas and implementation Skip list time costs Reading: "Skip Lists: A Probabilistic Alternative to Balanced Trees" (author Wi
Skip List Review
Draw the Skip List that results from inserting the following elements with the following levels Elements: 42, 3, 12, 20, 9, 5 Levels: 3, 1, 1, 2, 1, 2
Skip List Implementation
header:
Red Black Trees, review
Which of the following are legal red-black trees?
12 12
5
82
12
2
81
5
82
2
12 5 3
9
81
90
82
9 81 90
85
2
85
Red-Black Trees
12
5 82 81
2
Insert 3 into this red-black tree and
Lecture 9
Time and space cost analysis of Huffman coding Huffman coding tree implementation issues Priority queues and priority queue implementations Heaps Dynamic data and array representations for
Lecture 10
C+ I/O Some useful classes in <iostream> I/O buffering Bit-by-bit I/O Reading: online documentation on C+ streams
CSE 100, UCSD: LEC 10
Page 1 of 23
A quick tour of the C+ I/O classes
The
From Trees to Graphs
You
Parents
Grandparents
Is this a tree, or.?
From Trees to Graphs
You
Parents
Grandparents
Is this a tree, or.? 1 generation = 30 years 100 generations over the last 3000 years 2
Comparing DFS and BFS for shortest path finding
Either depth-first or breadth-first search will traverse the graph, visiting all nodes. But breadth-first search is better for the shortest-path proble
Lecture 14
Connectedness in graphs Spanning trees in graphs Finding a minimal spanning tree Time costs of graph problems and NP-completeness Finding a minimal spanning tree: Prim's and Kruskal's algo
Lecture 15
An application of disjoint subsets Disjoint subset structures and union/find algorithms Union-by-size and union-by-height Find with path compression Amortized cost analysis Reading: Weiss
Lecture 16
Simple vs. more sophisticated algorithm cost analysis The cost of accessing memory B-trees B-tree performance analysis B-tree find, insert, and delete operations B-tree example: a 2-3 tree
Lecture 17
Hashing Hash table and hash function design Hash functions for integers and strings Some collision resolution strategies: linear probing, double hashing, random hashing Hash table cost fun
Lecture 18
Separate chaining Dictionary data types Hashtables vs. balanced search trees A hashtable implementation: java.util.Hashtable Reading: Weiss, Ch 5
CSE 100, UCSD: LEC 18
Page 1 of 30
Open ad
CSE 100
Advanced Data Structures
Overview of course requirements Outline of CSE 100 topics Review of trees Helpful hints for team programming Information about computer accounts
CSE 100, UCSD: LEC