Overview CS113, Fall 2000 Gene Itkis The Promise Heavy Fast-paced Challenging Rewarding Areas covered “Software” Data Structures Algorithms analysis Software Objects, classes Flow of control, iteration Function, recursion Templates Inheritance Polymorphism •Encapsulation •Re-use Borderline: Software - Data Structures Arrays, Vectors Containers Pointers Memory management Data Structures Link-lists Singly & Doubly linked Stacks Queues Trees Graphs Algorithms Binary Search Sorting Graph exploration (spanning trees) DFS BFS Other graph algorithms (sketched only) Shortest Path Minimum Spanning Tree Algorithms with Data Structures Heap & Heap-sort Searching Search trees Hash tables Analysis Performance big-O notation Homeworks Root, Power (1,2) Application: babyRSA (3) BigNum Arithmetics (4,5), Sorting (5), Queues (6) NetworkNode (5) Communication with babyRSA Network 2-node (6); many nodes, 1round (7), many nodes, many rounds (8) Problem Sets 1, 2 Roots, Powers, babyRSA Binary search Classes, functions, iteration Simple I/O Problem set 3 mPower Repetitive squaring method • Efficiency issues babyRSA Constructing building blocks and then building with the building blocks • Levels of abstraction Problem Set 4 BigNum Objects, methods, constructors Using vectors Scope/function concepts: friend functions babyRSA More objects, methods Baby version of some real world applications Problem Set 5 More bignums Sorting Arithmetics – how math concepts … • are used in real world applications • how they may affect programs NetworkNode Using babyRSA String processing File IO Problem Set 6 Bignum Queue Link-lists Queues Destructors 2-Node network Creating more complexity from our building blocks Problem Set 7 Search Data Structure Search trees Templates Destructors Network Graph Using search ds many times • Neighbors • Dictionary Problem Set 8 Network Hashing Inheritance “True” complex SW system Time simulation
© Copyright 2026 Paperzz