Dropbox Quick Start
What is Dropbox?
Dropbox is a free service that lets you bring all your photos, docs, and videos anywhere. Any file
you save to your Dropbox will also automatically save to all your computers, phones, and even
the Dropbox website. This
EECE 7205
Fundamentals of Computer
Engineering
Dynamic Sets and Hash Tables
Stefano Basagni
Sets
Collection of objects
As important as in math
Dynamic sets: Change over time
Need: Basic techniques for representing
and manipulating finite dynamic sets
Best
EECE 7205 Fundamentals of Computer Engineering
Fall 2016
Homework 3: Due on Blackboard by Sunday October 23 2016, 11:55pm
This test contains three problems. They allow you to earn 100 points.
Homework are due by the due date indicated on Blackboard. Aft
EECE 7205
Fundamentals of Computer
Engineering
Search Trees and Other Data
Structures
Stefano Basagni
Binary Trees (BT), 1
Can be defined recursively: A BT is a
structure defined on a finite set of
nodes that either
Contains no nodes, or
n Is partitioned
EECE 7205
Fundamentals of Computer
Engineering
Dynamic Programming (DP)
Stefano Basagni
Dynamic Programming (DP)
Algorithm design technique
Programming tabular method (not
code writing)
Similar to Divide & Conquer:
n
Solve a problem by combining solutions
EECE 7205
Fundamentals of Computer
Engineering
Sorting: Lower bounds and
Sorting in Linear Time. Searching.
Stefano Basagni
Complexity of Sorting
An upper bound for sorting is provided by the
best algorithm known to sort correctly
In our case: Merge-Sort
EECE 7205 Fundamentals of Computer Engineering
Fall 2016
Homework 2: Due on Blackboard by Monday October 10 2016, 11:55pm
This test contains three problems. They allow you to earn 100 points.
Homework are due by the due date indicated on Blackboard. Aft
EECE 7205 Fundamentals of Computer Engineering
Fall 2016
Homework 1: Due on Blackboard by Thursday September 22 2016, 11:55pm
This test contains 10 problems. They allow you to earn 100 points.
Homework are due by the due date indicated on Blackboard. Af
EECE 7205
Fundamentals of Computer
Engineering
Search Trees and Other Data
Structures
Stefano Basagni
Binary Trees (BT), 1
! Can be defined recursively: A BT is a
structure defined on a finite set of
nodes that either
Contains no nodes, or
! Is partitione
EECE 7205 Fundamentals of Computer Engineering
Dynamic Sets and Hash Tables Stefano Basagni
Sets
Collection of objects As important as in math Dynamic sets: Change over time Need: Basic techniques for representing and manipulating finite dynamic sets ! Be
EECE 7205 Fundamentals of Computer Engineering
Sorting: Lower bounds and Sorting in Linear Time. Searching. Stefano Basagni
Bounds for Computational Problems (CPs)
! An upper bound for a CP is given by the
best (e.g., fastest) algorithms known to correctl
EECE 7205 Fundamentals of Computer Engineering
Divide & Conquer: Merge Sort Stefano Basagni
SORTING, 1
! As a computational problem:
!
INPUT: a sequence of n numbers
<a1, a2, ., an>
!
OUTPUT: A permutation (reordering)
<a 1, a 2, ., a n> on the input sequ
EECE 7205 Fundamentals of Computer Engineering
From Algorithms to Programs C+ Basics Stefano Basagni
Problems, Algorithms and Programs
! Define a computational problem (CP)
!
Relationship between an input and an output Prove correctness Determine time/spa
EECE 7205
Fundamentals of Computer
Engineering
Greedy Algorithms, Heaps and
Priority Queues
Stefano Basagni
Greedy Algorithms, 1
Algorithms for Optimization Problems
Sequence of steps
n Choices at each step
n
With Dynamic Programming finding the
best choi