# lec1 - CSE 100 Advanced Data Structures Overview of course...

This preview shows pages 1–8. Sign up to view the full content.

Page 1 of 25 CSE 100, UCSD: LEC 1 CSE 100 Advanced Data Structures Overview of course requirements Outline of CSE 100 topics Review of trees Helpful hints for team programming Information about accounts

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Page 2 of 25 CSE 100, UCSD: LEC 1 CSE 100 web pages All information related to the course is available in the textbook or online, following links from the class home page: http://ieng6.ucsd.edu/~cs100f You’re responsible for knowing that information, so make a note of that URL and read what’s there
Page 3 of 25 CSE 100, UCSD: LEC 1 Topics for the course! In CSE 100, we will build on what you have already learned about programming: procedural and data abstraction, object-oriented programming, and elementary data structure and algorithm design, implementation, and analysis We will build on that, and go beyond it, to learn about more advanced, high- performance data structures and algorithms: Balanced search trees: AVL, red-black, B-trees Binary tries and Huffman codes for compression Graphs as data structures, and graph algorithms Data structures for disjoint-subset and union-find algorithms More about hash functions and hashing algorithms Randomized data structures: skip lists, treaps Splay trees, k-d trees, skew heaps Structures and algorithms for document database indexing The Java Collections API, and Java generics Amortized cost analysis

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Page 4 of 25 CSE 100, UCSD: LEC 1 Data structures, in general A data structure is. .. a structure that holds data A data structure is an object that offers certain useful operations (its “Application Programmer Interface”, or API), for example storing , retrieving , and deleting data of a certain type A data structure may offer certain performance guarantees on its operations, for example certain best-, worst-, or average-case time or space costs To meet performance guarantees, a data structure may need to be implemented in a particular way In CSE 100 we will study the performance guarantees that are permitted by various data structure implementations We will begin by reviewing trees. ..
Page 5 of 25 CSE 100, UCSD: LEC 1 A review of trees A tree is a hierarchical (not just linear, and not unstructured!) data structure A tree is a set of elements called nodes , structured by a "parent" relation: If the tree is nonempty, exactly one node in the set is the root of the tree The root of a tree is the unique node that has no parent Every node in the set except the root has exactly one other node that is its parent

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
Page 6 of 25 CSE 100, UCSD: LEC 1 Drawing trees The root goes at the top: here node A is the root of the tree (in Computerscienceland, trees grow upside down) The parent of a node is drawn above that node, with a "link" or "edge" from the node to its parent: here node A is the parent of nodes B,C ; and B,C are called the children of A Some nodes have no children, and are called leaves of the tree: here nodes D, G, I, J, L are leaves A B C DE F G H I J K L
Page 7 of 25 CSE 100, UCSD: LEC 1

This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document
This is the end of the preview. Sign up to access the rest of the document.

## This note was uploaded on 04/15/2010 for the course CSE CSE100 taught by Professor Kube during the Fall '09 term at UCSD.

### Page1 / 25

lec1 - CSE 100 Advanced Data Structures Overview of course...

This preview shows document pages 1 - 8. Sign up to view the full document.

View Full Document
Ask a homework question - tutors are online