mith College Computer Science Sets and Hashing CSC212 Fall 2014 Dominique Thiébaut
|
|
- Tracy Norman Leonard
- 6 years ago
- Views:
Transcription
1 mith College Computer Science Sets and Hashing CSC22 Fall 204 Dominique Thiébaut
2 The Problem: Large amount of live tweets Want the list of all tweeters Each only listed once
3 What data structure? Assumption: all tweeters have a unique Id number (integer)
4 Option : BST
5
6 Complexity?
7 O()?
8 Yes! Hashing!
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 Have we seen 00 yet?
27 Have we seen 00 yet?
28 Have we seen 00 yet?
29 Have we seen 00 yet?
30 YES!
31 YES! O()!
32 How? What Properties?
33 How: a hash function int[] table = new int[ DIM ]; int index = hash( key ); table[ index ] = key;
34 Hash Properties Fast Avoid clustering Avoid collisions Must work with all types of objects
35 Fast arithmetic operations, integers Avoid clustering Avoid collisions Must work with all types of objects
36 keys Fast Avoid clustering uniformly distributed indexes Avoid collisions Must work with all types of objects
37 keys hash index [ ] hashing Fast Avoid clustering uniformly distributed indexes Avoid collisions Must work with all types of objects
38 Fast Avoid clustering Avoid collisions Don t want two different keys with same hash index Must work with all types of objects
39 Fast Avoid collisions Fortunately, everything in memory is a number! Avoid clustering Must work with all types of objects
40 Fast Avoid collisions Fortunately, everything in memory is a number! Avoid clustering Must work with all types of objects Alpha = A l p h a = = 486
41 Implementation
42 Division/Modulo index = key % Dim Works best is Dim is prime Example: 202%0 > 2 hash 0, 90, 40, 70 change Dim to 0%=0, 90%=2 40%=, 70%= If Dim is not prime, then take modulo by a prime first: index = (key % p) % Dim Dim = 0
43 Division/Modulo index = key % Dim Works best is Dim is prime Example: 202%0 > 2 49%0 > 9 hash 0, 90, 40, 70 change Dim to 0%=0, 90%=2 40%=, 70%= If Dim is not prime, then take modulo by a prime first: index = (key % p) % Dim Dim = 0
44 Division/Modulo index = key % Dim Works best is Dim is prime Example: 202%0 > 2 49%0 > 9 hash 0, 90, 40, 70 69%0 > change Dim to 0%=0, 90%=2 40%=, 70%= If Dim is not prime, then take modulo by a prime first: index = (key % p) % Dim Dim = 0
45 Division/Modulo index = key % Dim Works best if Dim is prime Example: hash 0, 90, 40, 70 when Dim=0 change Dim to 0%=0, 90%=2 40%=, 70%= If Dim is not prime, then take modulo by a prime first: index = (key % p) % Dim Dim = 0
46 Folding-Based Hashing Shift-Folding, Boundary Folding Shift Folding key = > > = 68 % Dim = index Boundary Folding key = > > = 66 % Dim = index
47 Extraction Hashing Extract some digits from the key key = > > 289 % Dim = index
48
49 Avoiding Collisions
50 Open 0 Addressing Dim = 0
51 Open 0 Addressing 4 2 key = 44 hash( 44 ) > Dim = 0
52 Open 0 Addressing 4 2 key = 44 hash( 44 ) > Dim = 0
53 Open 0 Addressing 4 2 key = 04 hash( 04 ) > Dim = 0
54 Open 0 Addressing 4 2 key = 04 hash( 04 ) > Dim = 0
55 Open Addressing key = 04 hash( 04 ) > Dim = 0
56 Open Addressing key = hash( ) > Dim = 0
57 Open Addressing key = hash( ) > Dim = 0
58 Open Addressing key = hash( ) > Dim = 0
59 Open Addressing key = hash( ) > Dim = 0
60 Open Addressing key = hash( ) > Dim = 0 linear probing
61 Open Addressing key = hash( ) > What if we want to delete keys? Dim = 0
62 Avoiding Collisions 2
63 Chaining 0 2 key = 4 hash(key)= Dim = 0
64 Chaining 0 2 key = 4 hash(key)= Dim = 0
65 Chaining 0 2 key = 004 hash(key)= Dim = 0
66 Chaining key = 004 hash(key)= Dim = 0
67 Chaining key = 99 hash(key)= Dim = 0
68 Chaining key = 99 hash(key)= Dim = 0
69 Complexity
70 Open Addressing: It depends on the LF = 6/9 = 66.6% Load Factor # probes Successful Search (LF=0%) Linear Probing /2(+/(-LF)) (.) Unsuccessful Search (LV=0%) /2(+/(-LF) 2 ) (2.)
71 Chaining: It depends on the Average List Length N items Table of dimension Dim Average list length = N/Dim Complexity = O( N/Dim )
72 O()
73 Hashing in Java
74 Hashing in Java Hashing integers Hashing floats Hashing strings Hashing custom objects
75 public class HashingExamples { public static void main(string[] args) { String s = "Smith College"; System.out.println( "s.hashcode() = " + s.hashcode() ); int n = 24; System.out.println( "n's hashcode() = " + Integer.valueOf( n ).hashcode() ); double y = 6.02E2; System.out.println( "y's hashcode() = " + Double.valueOf( y ).hashcode() ); } } float x =.49f; System.out.println( "x's hashcode() = " + Float.valueOf( x ).hashcode() ); s.hashcode() = n's hashcode() = 24 y's hashcode() = x's hashcode() =
76 Java Sets: HashSet
77 HashSets HashSet = collection of unique objects* *Remember the example of unique tweeters
78 HashSet<Integer> set = new HashSet<Integer>( ); int count = 0; for ( int i=0; i<000000; i++ ) { count++; set.add( i ); // replicate some elements if ( i%00 == ) { count ++; set.add( i ); } } System.out.println( count + " ints added to set. Set contains " + set.size() + " unique items" ); ints added to set. Set contains unique items
79 HashSet<Integer> set = new HashSet<Integer>( ); for ( int i=0; i<0; i++ ) set.add( i*0 ); System.out.print( "set = " ); for ( int x: set ) System.out.print( x + " " ); System.out.println(); set =
80 HashSet<Object> set = new HashSet<Object>(); HashSet<Object> myset = new HashSet<Object>(); myset.add( "Hello" ); myset.add( ); set.add(.49 ); set.add( 204 ); set.add( "Smith College" ); set.add( myset ); System.out.println("Set: " + set ); Use with care! Set: [[, Hello], Smith College, 204,.49]
81 Default Hash Function
82 class MyPair { public int x; public int y; MyPair( int xx, int yy ) { x = xx; y = yy; } public String tostring() { return "(" + x + ", " + y + ")"; } } private void example() { HashSet<MyPair> set = new HashSet<MyPair>(); set.add( new MyPair(, 2 ) ); set.add( new MyPair(, 0 ) ); set.add( new MyPair(, 2 ) ); System.out.println( "Set: " + set ); } Set: [(, 2), (, 0), (, 2)]
83 class MyPair { public int x; public int y; MyPair( int xx, int yy ) { x = xx; y = yy; } public String tostring() { return "(" + x + ", " + y + ")"; } } private void example() { HashSet<MyPair> set = new HashSet<MyPair>(); set.add( new MyPair(, 2 ) ); set.add( new MyPair(, 0 ) ); set.add( new MyPair(, 2 ) ); System.out.println( "Set: " + set ); } It s not working! Set: [(, 2), (, 0), (, 2)]
84 class MyPair { public int x; public int y; MyPair( int xx, int yy ) { x = xx; y = yy; } public String tostring() { return "(" + x + ", " + y + ")"; } public int hashcode(){ return (x+97) * (y+0) ; } public boolean equals( Object o ) { if ( o==null ) return false; MyPair p = (MyPair) o; if ( p.x!= x p.y!= y ) return false; return true; } }
85 class MyPair { public int x; public int y; MyPair( int xx, int yy ) { x = xx; y = yy; } public String tostring() { return "(" + x + ", " + y + ")"; } public int hashcode(){ return (x+97) * (y+0) ; } public boolean equals( Object o ) { if ( o==null ) return false; MyPair p = (MyPair) o; if ( p.x!= x p.y!= y ) return false; return true; } } Set: [(, 2), (, 0)]
86 Always implement equals() if you implement hashcode()!
87 Java Trick Instead of computing the hash code integer every time hashcode() is called, the hash code can be pre-computed once, when the object is created (or modified), and stored in a special field In this case hashcode() is definitely O()
88 HashMaps
89 HashMaps Associate a value to a key. A HashMap is a set of (key:value) pairs where the hashing is done on the key. Chaining is used to resolve collision
90 Colleges 0 Smith Amherst 2 Hampshire MtHolyoke Towns 0 Northampton Amherst 2 Amherst South Hadley
91 Colleges 0 Smith Amherst 2 Hampshire MtHolyoke Towns 0 Northampton Amherst 2 Amherst South Hadley Smith Northampton Amherst Hampshire MtHolyoke Keys CollegeTowns Amherst Amherst South Hadley Values MAP
92 import java.util.hashmap; HashMap<String, String> coltown = new HashMap<String, String>(); coltown.put( "Amherst", "Amhest" ); coltown.put( "Smith", "Northampton" ); coltown.put( "Hampshire", "Amherst" ); coltown.put( "MtHoyoke", "South Hadley" ); for ( String college: coltown.keyset() ) System.out.println( college + " College is in " + coltown.get( college ) ); Smith College is in Northampton MtHoyoke College is in South Hadley Hampshire College is in Amherst Amherst College is in Amhest
93 Can use user-defined key objects, but must implement equals() and hashcode()!
94 import java.util.hashmap; HashMap< MyPair, String > map = new HashMap<MyPair, String>(); map.put( new MyPair(, 2), "George" ); map.put( new MyPair( 0, 20 ), "Smith College" ); map.put( new MyPair(, ), null ); System.out.println( "map = " + map ); MyPair x = new MyPair( 0, 20 ); if ( map.containskey( x ) ) System.out.println( x + " --> " + map.get( x ) ); map = {(, )=null, (, 2)=George, (0, 20)=Smith College} (0, 20) --> Smith College
95 HashMaps/HashSets in Final Project? Where could a HashMap or a HashSet be useful in the final project? What would the key be? What would the value be?
The class Object. Lecture CS1122 Summer 2008
The class Object http://www.javaworld.com/javaworld/jw-01-1999/jw-01-object.html Lecture 10 -- CS1122 Summer 2008 Review Object is at the top of every hierarchy. Every class in Java has an IS-A relationship
More informationCSE 143. Lecture 28: Hashing
CSE 143 Lecture 28: Hashing SearchTree as a set We implemented a class SearchTree to store a BST of ints: Our BST is essentially a set of integers. Operations we support: add contains remove... -3 overallroot
More informationBuilding Java Programs
Building Java Programs Generics, hashing reading: 18.1 2 3 Wednesday Notecards Difference between int[] and List? How does HashSet get sorted? 4 Hashing hash: To map a value to an integer index.
More informationIntroducing Hashing. Chapter 21. Copyright 2012 by Pearson Education, Inc. All rights reserved
Introducing Hashing Chapter 21 Contents What Is Hashing? Hash Functions Computing Hash Codes Compressing a Hash Code into an Index for the Hash Table A demo of hashing (after) ARRAY insert hash index =
More informationHash tables. hashing -- idea collision resolution. hash function Java hashcode() for HashMap and HashSet big-o time bounds applications
hashing -- idea collision resolution Hash tables closed addressing (chaining) open addressing techniques hash function Java hashcode() for HashMap and HashSet big-o time bounds applications Hash tables
More informationAnnouncements. Container structures so far. IntSet ADT interface. Sets. Today s topic: Hashing (Ch. 10) Next topic: Graphs. Break around 11:45am
Announcements Today s topic: Hashing (Ch. 10) Next topic: Graphs Break around 11:45am Container structures so far Array lists O(1) access O(n) insertion/deletion (average case), better at end Linked lists
More informationCIS 265 Exam 2 First Name Last Name
CIS 265 Exam 2 First Name Last Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) Which of the data types below does not allow duplicates? 1)
More informationAnnouncements. Today s topic: Hashing (Ch. 10) Next topic: Graphs. Break around 11:45am
Announcements Today s topic: Hashing (Ch. 10) Next topic: Graphs Break around 11:45am 1 Container structures so far Array lists O(1) access O(n) insertion/deletion (average case), better at end Linked
More informationFall 2017 Mentoring 9: October 23, Min-Heapify This. Level order, bubbling up. Level order, bubbling down. Reverse level order, bubbling up
CSM B Heaps & Hashing Fall 0 Mentoring : October 3, 0 Min-Heapify This. In general, there are 4 ways to heapify. Which ways actually work? Level order, bubbling up Level order, bubbling down Reverse level
More informationIntroduction hashing: a technique used for storing and retrieving information as quickly as possible.
Lecture IX: Hashing Introduction hashing: a technique used for storing and retrieving information as quickly as possible. used to perform optimal searches and is useful in implementing symbol tables. Why
More informationHashing as a Dictionary Implementation
Hashing as a Dictionary Implementation Chapter 22 Contents The Efficiency of Hashing The Load Factor The Cost of Open Addressing The Cost of Separate Chaining Rehashing Comparing Schemes for Collision
More informationCMSC 132: Object-Oriented Programming II. Hash Tables
CMSC 132: Object-Oriented Programming II Hash Tables CMSC 132 Summer 2017 1 Key Value Map Red Black Tree: O(Log n) BST: O(n) 2-3-4 Tree: O(log n) Can we do better? CMSC 132 Summer 2017 2 Hash Tables a
More informationBinghamton University. CS-140 Fall Problem Solving. Creating a class from scratch
Problem Solving Creating a class from scratch 1 Recipe for Writing a Class 1. Write the class boilerplate stuff 2. Declare Fields 3. Write Creator(s) 4. Write accessor methods 5. Write mutator methods
More informationCSC 231 DYNAMIC PROGRAMMING HOMEWORK Find the optimal order, and its optimal cost, for evaluating the products A 1 A 2 A 3 A 4
CSC 231 DYNAMIC PROGRAMMING HOMEWORK 10-1 PROFESSOR GODFREY MUGANDA 1. Find the optimal order, and its optimal cost, for evaluating the products where A 1 A 2 A 3 A 4 A 1 is 10 4 A 2 is 4 5 A 3 is 5 20
More informationAbstract Data Types (ADTs) Queues & Priority Queues. Sets. Dictionaries. Stacks 6/15/2011
CS/ENGRD 110 Object-Oriented Programming and Data Structures Spring 011 Thorsten Joachims Lecture 16: Standard ADTs Abstract Data Types (ADTs) A method for achieving abstraction for data structures and
More informationSTANDARD ADTS Lecture 17 CS2110 Spring 2013
STANDARD ADTS Lecture 17 CS2110 Spring 2013 Abstract Data Types (ADTs) 2 A method for achieving abstraction for data structures and algorithms ADT = model + operations In Java, an interface corresponds
More informationCS1020 Data Structures and Algorithms I Lecture Note #15. Hashing. For efficient look-up in a table
CS1020 Data Structures and Algorithms I Lecture Note #15 Hashing For efficient look-up in a table Objectives 1 To understand how hashing is used to accelerate table lookup 2 To study the issue of collision
More informationJava Collections. Wrapper classes. Wrapper classes
Java Collections Engi- 5895 Hafez Seliem Wrapper classes Provide a mechanism to wrap primitive values in an object so that the primitives can be included in activities reserved for objects, like as being
More informationJava Collections. Engi Hafez Seliem
Java Collections Engi- 5895 Hafez Seliem Wrapper classes Provide a mechanism to wrap primitive values in an object so that the primitives can be included in activities reserved for objects, like as being
More informationC212 Early Evaluation Exam Mon Feb Name: Please provide brief (common sense) justifications with your answers below.
C212 Early Evaluation Exam Mon Feb 10 2014 Name: Please provide brief (common sense) justifications with your answers below. 1. What is the type (and value) of this expression: 5 * (7 + 4 / 2) 2. What
More informationLecture 16: HashTables 10:00 AM, Mar 2, 2018
CS18 Integrated Introduction to Computer Science Fisler, Nelson Lecture 16: HashTables 10:00 AM, Mar 2, 2018 Contents 1 Speeding up Lookup 1 2 Hashtables 2 2.1 Java HashMaps.......................................
More informationDynamic Dictionaries. Operations: create insert find remove max/ min write out in sorted order. Only defined for object classes that are Comparable
Hashing Dynamic Dictionaries Operations: create insert find remove max/ min write out in sorted order Only defined for object classes that are Comparable Hash tables Operations: create insert find remove
More information(f) Given what we know about linked lists and arrays, when would we choose to use one data structure over the other?
CSM B Hashing & Heaps Spring 0 Week 0: March 0, 0 Motivation. (a) In the worst case, how long does it take to index into a linked list? Θ(N) (b) In the worst case, how long does it take to index into an
More informationCOURSE 4 PROGRAMMING III OOP. JAVA LANGUAGE
COURSE 4 PROGRAMMING III OOP. JAVA LANGUAGE PREVIOUS COURSE CONTENT Inheritance Abstract classes Interfaces instanceof operator Nested classes Enumerations COUSE CONTENT Collections List Map Set Aggregate
More informationStandard ADTs. Lecture 19 CS2110 Summer 2009
Standard ADTs Lecture 19 CS2110 Summer 2009 Past Java Collections Framework How to use a few interfaces and implementations of abstract data types: Collection List Set Iterator Comparable Comparator 2
More informationSection 05: Midterm Review
Section 05: Midterm Review 1. Asymptotic Analysis (a) Applying definitions For each of the following, choose a c and n 0 which show f(n) O(g(n)). Explain why your values of c and n 0 work. (i) f(n) = 5000n
More informationData Structures and Object-Oriented Design VIII. Spring 2014 Carola Wenk
Data Structures and Object-Oriented Design VIII Spring 2014 Carola Wenk Collections and Maps The Collection interface is for storage and access, while a Map interface is geared towards associating keys
More informationIntroduction to Hashing
Lecture 11 Hashing Introduction to Hashing We have learned that the run-time of the most efficient search in a sorted list can be performed in order O(lg 2 n) and that the most efficient sort by key comparison
More informationChapter 11: Collections and Maps
Chapter 11: Collections and Maps Implementing the equals(), hashcode() and compareto() methods A Programmer's Guide to Java Certification (Second Edition) Khalid A. Mughal and Rolf W. Rasmussen Addison-Wesley,
More informationUniversity of Cape Town ~ Department of Computer Science Computer Science 1015F ~ Test 2. Question Max Mark Internal External
Name: Please fill in your Student Number and Name. Student Number : Student Number: University of Cape Town ~ Department of Computer Science Computer Science 1015F ~ 2009 Test 2 Question Max Mark Internal
More informationTopic HashTable and Table ADT
Topic HashTable and Table ADT Hashing, Hash Function & Hashtable Search, Insertion & Deletion of elements based on Keys So far, By comparing keys! Linear data structures Non-linear data structures Time
More informationReview. CSE 143 Java. A Magical Strategy. Hash Function Example. Want to implement Sets of objects Want fast contains( ), add( )
Review CSE 143 Java Hashing Want to implement Sets of objects Want fast contains( ), add( ) One strategy: a sorted list OK contains( ): use binary search Slow add( ): have to maintain list in sorted order
More informationHash table basics mod 83 ate. ate. hashcode()
Hash table basics ate hashcode() 82 83 84 48594983 mod 83 ate Reminder from syllabus: EditorTrees worth 10% of term grade See schedule page Exam 2 moved to Friday after break. Short pop quiz over AVL rotations
More informationHashing. Reading: L&C 17.1, 17.3 Eck Programming Course CL I
Hashing Reading: L&C 17.1, 17.3 Eck 10.3 Defne hashing Objectives Discuss the problem of collisions in hash tables Examine Java's HashMap implementation of hashing Look at HashMap example Save serializable
More informationAnnouncements. Submit Prelim 2 conflicts by Thursday night A6 is due Nov 7 (tomorrow!)
HASHING CS2110 Announcements 2 Submit Prelim 2 conflicts by Thursday night A6 is due Nov 7 (tomorrow!) Ideal Data Structure 3 Data Structure add(val x) get(int i) contains(val x) ArrayList 2 1 3 0!(#)!(1)!(#)
More informationCS 3410 Ch 20 Hash Tables
CS 341 Ch 2 Hash Tables Sections 2.1-2.7 Pages 773-82 2.1 Basic Ideas 1. A hash table is a data structure that supports insert, remove, and find in constant time, but there is no order to the items stored.
More informationIntroduction to Java. CSC212 Lecture 6 D. Thiebaut, Fall 2014
Introduction to Java CSC212 Lecture 6 D. Thiebaut, Fall 2014 What is it? It is always surprising It is common in most programming languages It is a natural way to save computer resources Most compilers
More informationThe dictionary problem
6 Hashing The dictionary problem Different approaches to the dictionary problem: previously: Structuring the set of currently stored keys: lists, trees, graphs,... structuring the complete universe of
More informationCanonical Form. No argument constructor Object Equality String representation Cloning Serialization Hashing. Software Engineering
CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Canonical Form sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Canonical Form Canonical form is a practice that conforms
More informationBIT Java Programming. Sem 1 Session 2011/12. Chapter 2 JAVA. basic
BIT 3383 Java Programming Sem 1 Session 2011/12 Chapter 2 JAVA basic Objective: After this lesson, you should be able to: declare, initialize and use variables according to Java programming language guidelines
More informationCSC 1214: Object-Oriented Programming
CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:
More informationmith College Computer Science Fixed & Floating Point Formats CSC231 Fall 2017 Week #15 Dominique Thiébaut
mith College Computer Science Fixed & Floating Point CSC231 Fall 2017 Week #15 Formats Dominique Thiébaut dthiebaut@smith.edu Trick Question for ( double d = 0; d!= 0.3; d += 0.1 ) System.out.println(
More informationAlgorithms. Produced by. Eamonn de Leastar
Algorithms Produced by Eamonn de Leastar (edeleastar@wit.ie) Collections ± Collections Architecture ± Definition ± Architecture ± Interfaces ± Collection ± List ± Set ± Map ± Iterator ± Implementations
More informationECE 242 Data Structures and Algorithms. Hash Tables II. Lecture 25. Prof.
ECE 242 Data Structures and Algorithms http://www.ecs.umass.edu/~polizzi/teaching/ece242/ Hash Tables II Lecture 25 Prof. Eric Polizzi Summary previous lecture Hash Tables Motivation: optimal insertion
More informationGeneral Idea. Key could be an integer, a string, etc e.g. a name or Id that is a part of a large employee structure
Hashing 1 Hash Tables We ll discuss the hash table ADT which supports only a subset of the operations allowed by binary search trees. The implementation of hash tables is called hashing. Hashing is a technique
More informationComp 335 File Structures. Hashing
Comp 335 File Structures Hashing What is Hashing? A process used with record files that will try to achieve O(1) (i.e. constant) access to a record s location in the file. An algorithm, called a hash function
More informationHashing. 5/1/2006 Algorithm analysis and Design CS 007 BE CS 5th Semester 2
Hashing Hashing A hash function h maps keys of a given type to integers in a fixed interval [0,N-1]. The goal of a hash function is to uniformly disperse keys in the range [0,N-1] 5/1/2006 Algorithm analysis
More information1.00/ Introduction to Computers and Engineering Problem Solving. Final Exam / December 21, 2005
1.00/1.001 Introduction to Computers and Engineering Problem Solving Final Exam / December 21, 2005 Name: Email Address: TA: Section: You have 180 minutes to complete this exam. For coding questions, you
More informationJava 9 (was bisher geschah) JFS 2018 Java 10 et cetera
3 Java 9 (was bisher geschah) 10 Java 10 12 Set nameset = Collections.emptySet(); Set resultset = new HashSet(); nameset.removeif((string s) -> s.isempty()); 13 Map
More informationAL GHURAIR UNIVERSITY College of Computing. Objectives: Examples: Text-printing program. CSC 209 JAVA I
AL GHURAIR UNIVERSITY College of Computing CSC 209 JAVA I week 2- Arithmetic and Decision Making: Equality and Relational Operators Objectives: To use arithmetic operators. The precedence of arithmetic
More informationpublic static<e> List<E> removeoccurrences(list<e> origlist, E remove) {
CS 201, Fall 2008 Nov 19th Exam 2 Name: Question 1. [10 points] Complete the following generic method. It should return a list containing all of the elements in origlist, in order, except the elements
More informationHash Tables. Gunnar Gotshalks. Maps 1
Hash Tables Maps 1 Definition A hash table has the following components» An array called a table of size N» A mathematical function called a hash function that maps keys to valid array indices hash_function:
More information(A) 99 ** (B) 100 (C) 101 (D) 100 initial integers plus any additional integers required during program execution
Ch 5 Arrays Multiple Choice Test 01. An array is a ** (A) data structure with one, or more, elements of the same type. (B) data structure with LIFO access. (C) data structure, which allows transfer between
More informationData Structures And Algorithms
Data Structures And Algorithms Hashing Eng. Anis Nazer First Semester 2017-2018 Searching Search: find if a key exists in a given set Searching algorithms: linear (sequential) search binary search Search
More informationCSCE 2014 Final Exam Spring Version A
CSCE 2014 Final Exam Spring 2017 Version A Student Name: Student UAID: Instructions: This is a two-hour exam. Students are allowed one 8.5 by 11 page of study notes. Calculators, cell phones and computers
More informationDomain-Driven Design Activity
Domain-Driven Design Activity SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Entities and Value Objects are special types of objects
More informationBirkbeck (University of London) Software and Programming 1 In-class Test Mar 2018
Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 22 Mar 2018 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment
More informationHash Table. Ric Glassey
Hash Table Ric Glassey glassey@kth.se Overview Hash Table Aim: Describe the map abstract data type with efficient insertion, deletion and search operations Motivation: List data structures are divided
More informationFigure 1: Chaining. The implementation consists of these private members:
Hashing Databases and keys. A database is a collection of records with various attributes. It is commonly represented as a table, where the rows are the records, and the columns are the attributes: Number
More information1.00 Introduction to Computers and Engineering Problem Solving. Quiz 1 March 7, 2003
1.00 Introduction to Computers and Engineering Problem Solving Quiz 1 March 7, 2003 Name: Email Address: TA: Section: You have 90 minutes to complete this exam. For coding questions, you do not need to
More informationCS 101 Spring 2006 Final Exam Name: ID:
This exam is open text book but closed-notes, closed-calculator, closed-neighbor, etc. Unlike the midterm exams, you have a full 3 hours to work on this exam. Please sign the honor pledge here: Page 1
More informationPrelim 2 Solution. CS 2110, November 19, 2015, 5:30 PM Total. Sorting Invariants Max Score Grader
Prelim 2 CS 2110, November 19, 2015, 5:30 PM 1 2 3 4 5 6 Total Question True Short Complexity Searching Trees Graphs False Answer Sorting Invariants Max 20 15 13 14 17 21 100 Score Grader The exam is closed
More informationMore on Classes. 1 tostring
More on Classes 1 tostring Java allows us to supply an object wherever a string is expected. The run-time system will automatically apply a conversion function to create a string representation of the
More informationJAVA OPERATORS GENERAL
JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators
More informationCSC 321: Data Structures. Fall 2016
CSC : Data Structures Fall 6 Hash tables HashSet & HashMap hash table, hash function collisions Ø linear probing, lazy deletion, primary clustering Ø quadratic probing, rehashing Ø chaining HashSet & HashMap
More informationPriority Queue. 03/09/04 Lecture 17 1
Priority Queue public interface PriorityQueue { public interface Position { Comparable getvalue( ); } Position insert( Comparable x ); Comparable findmin( ); Comparable deletemin( ); boolean isempty( );
More information11/27/12. CS202 Fall 2012 Lecture 11/15. Hashing. What: WiCS CS Courses: Inside Scoop When: Monday, Nov 19th from 5-7pm Where: SEO 1000
What: WiCS CS Courses: Inside Scoop When: Monday, Nov 19th from -pm Where: SEO 1 Having trouble figuring out what classes to take next semester? Wish you had information on what CS course to take when?
More informationCIT-590 Final Exam. Name: Penn Key (Not ID number): If you write a number above, you will lose 1 point
1 CIT-590 Final Exam Name: Penn Key (Not ID number): If you write a number above, you will lose 1 point Instructions: You will have two hours to complete this exam. If you finish in the last 15 minutes,
More informationCS 101 Spring 2007 Midterm 2 Name: ID:
You only need to write your name and e-mail ID on the first page. This exam is CLOSED text book, closed-notes, closed-calculator, closed-neighbor, etc. Questions are worth different amounts, so be sure
More informationHash Table and Hashing
Hash Table and Hashing The tree structures discussed so far assume that we can only work with the input keys by comparing them. No other operation is considered. In practice, it is often true that an input
More informationDesire. We want to store objects in some structure and be able to retrieve them extremely quickly. The number of items to store might be big.
Hashing Desire We want to store objects in some structure and be able to retrieve them extremely quickly. The number of items to store might be big. Hashing--Why? 3 4 835 837 836 15 10 O(N 2 ) O(N) Why
More informationMIDTERM EXAM THURSDAY MARCH
Week 6 Assignments: Program 2: is being graded Program 3: available soon and due before 10pm on Thursday 3/14 Homework 5: available soon and due before 10pm on Monday 3/4 X-Team Exercise #2: due before
More informationmith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut
mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut dthiebaut@smith.edu Ben Fry on Processing... http://www.youtube.com/watch?&v=z-g-cwdnudu An Example Mouse 2D
More informationCS 310: Hash Table Collision Resolution
CS 310: Hash Table Collision Resolution Chris Kauffman Week 8-1 Logistics Reading Weiss Ch 20: Hash Table Weiss Ch 6.7-8: Maps/Sets Homework HW 1 Due Saturday Discuss HW 2 next week Questions? Schedule
More informationA foundation for programming. Classes and objects. Overview. Java primitive types. Primitive types Creating your own data types
Classes and objects A foundation for programming any program you might want to write objects functions and modules build even bigger programs and reuse code http://www.flickr.com/photos/vermegrigio/5923415248/
More informationBirkbeck (University of London) Software and Programming 1 In-class Test Mar Answer ALL Questions
Birkbeck (University of London) Software and Programming 1 In-class Test 2.1 16 Mar 2017 Student Name Student Number Answer ALL Questions 1. What output is produced when the following Java program fragment
More informationExpressions and Data Types CSC 121 Spring 2015 Howard Rosenthal
Expressions and Data Types CSC 121 Spring 2015 Howard Rosenthal Lesson Goals Understand the basic constructs of a Java Program Understand how to use basic identifiers Understand simple Java data types
More informationThe Object Class. java.lang.object. Important Methods In Object. Mark Allen Weiss Copyright 2000
The Object Class Mark Allen Weiss Copyright 2000 1/4/02 1 java.lang.object All classes either extend Object directly or indirectly. Makes it easier to write generic algorithms and data structures Makes
More informationHashing. CSE260, Computer Science B: Honors Stony Brook University
Hashing CSE260, Computer Science B: Honors Stony Brook University http://www.cs.stonybrook.edu/~cse260 1 Objectives To understand what hashing is and what hashing is used for To obtain the hash code for
More informationInheritance. Notes Chapter 6 and AJ Chapters 7 and 8
Inheritance Notes Chapter 6 and AJ Chapters 7 and 8 1 Inheritance you know a lot about an object by knowing its class for example what is a Komondor? http://en.wikipedia.org/wiki/file:komondor_delvin.jpg
More informationInheritance (Part 5) Odds and ends
Inheritance (Part 5) Odds and ends 1 Static Methods and Inheritance there is a significant difference between calling a static method and calling a non-static method when dealing with inheritance there
More informationUse PageUp and PageDown to move from screen to screen. Click on speaker to play sound.
Algonquin College Hash Tables (Java) Created by Rex Woollard Use PageUp and PageDown to move from screen to screen. Click on speaker to play sound. Linear Search O(n) Suitable for very short lists 1 Binary
More informationHash table basics. ate à. à à mod à 83
Hash table basics After today, you should be able to explain how hash tables perform insertion in amortized O(1) time given enough space ate à hashcode() à 48594983à mod à 83 82 83 ate 84 } EditorTrees
More informationData Structures - CSCI 102. CS102 Hash Tables. Prof. Tejada. Copyright Sheila Tejada
CS102 Hash Tables Prof. Tejada 1 Vectors, Linked Lists, Stack, Queues, Deques Can t provide fast insertion/removal and fast lookup at the same time The Limitations of Data Structure Binary Search Trees,
More informationFinal Examination Semester 2 / Year 2011
Southern College Kolej Selatan 南方学院 Final Examination Semester 2 / Year 2011 COURSE : FUNDAMENTALS OF SOFTWARE DESIGEN AND DEVELOPMENT COURSE CODE : PROG1003 TIME : 2 1/2 HOURS DEPARTMENT : COMPUTER SCIENCE
More informationCSC 207 (16fa) Practice Exam 2 Page 1 of 13. Practice Exam 2 (Exam 2 date: Friday 11/18) Logistics:
CSC 207 (16fa) Practice Exam 2 Page 1 of 13 Practice Exam 2 (Exam 2 date: Friday 11/18) Logistics: In-class, written exam. Closed-book, notes, and technology. All relevant Java API documentation will be
More informationCS 101 Fall 2006 Midterm 3 Name: ID:
You only need to write your name and e-mail ID on the first page. This exam is CLOSED text book, closed-notes, closed-calculator, closed-neighbor, etc. Questions are worth different amounts, so be sure
More informationHash table basics mod 83 ate. ate
Hash table basics After today, you should be able to explain how hash tables perform insertion in amortized O(1) time given enough space ate hashcode() 82 83 84 48594983 mod 83 ate 1. Section 2: 15+ min
More information(A) 99 (B) 100 (C) 101 (D) 100 initial integers plus any additional integers required during program execution
Ch 5 Arrays Multiple Choice 01. An array is a (A) (B) (C) (D) data structure with one, or more, elements of the same type. data structure with LIFO access. data structure, which allows transfer between
More informationGetting started with Java
Getting started with Java Magic Lines public class MagicLines { public static void main(string[] args) { } } Comments Comments are lines in your code that get ignored during execution. Good for leaving
More information1. Suppose you are using a HashMap<String,Integer>. What is the runtime of put and get assuming you have a reasonable hash function?
Data Structures Brett Bernstein Lecture 10: BitSets and Packages Exercises 1. Suppose you are using a HashMap. What is the runtime of put and get assuming you have a reasonable hash function?
More informationHashing. It s not just for breakfast anymore! hashing 1
Hashing It s not just for breakfast anymore! hashing 1 Hashing: the facts Approach that involves both storing and searching for values (search/sort combination) Behavior is linear in the worst case, but
More informationLecture 7: Efficient Collections via Hashing
Lecture 7: Efficient Collections via Hashing These slides include material originally prepared by Dr. Ron Cytron, Dr. Jeremy Buhler, and Dr. Steve Cole. 1 Announcements Lab 6 due Friday Lab 7 out tomorrow
More informationHash Tables Outline. Definition Hash functions Open hashing Closed hashing. Efficiency. collision resolution techniques. EECS 268 Programming II 1
Hash Tables Outline Definition Hash functions Open hashing Closed hashing collision resolution techniques Efficiency EECS 268 Programming II 1 Overview Implementation style for the Table ADT that is good
More informationHash Tables. Hashing Probing Separate Chaining Hash Function
Hash Tables Hashing Probing Separate Chaining Hash Function Introduction In Chapter 4 we saw: linear search O( n ) binary search O( log n ) Can we improve the search operation to achieve better than O(
More informationExam Part 3. Q.1) What is the output of the following code?
Q.1) What is the output of the following code? Exam Part 3 import java.util.*; // line 1 class EJavaGuruArrayList { // line 2 // line 3 ArrayList ejg = new ArrayList(); // line 4 ejg.add("one");
More informationJava Simple Data Types
Intro to Java Unit 1 Multiple Choice Test Key Java Simple Data Types This Test Is a KEY DO NOT WRITE ON THIS TEST This test includes program segments, which are not complete programs. Answer such questions
More informationMenu Driven Systems. While loops, menus and the switch statement. Mairead Meagher Dr. Siobhán Drohan. Produced by:
Menu Driven Systems While loops, menus and the switch statement Produced by: Mairead Meagher Dr. Siobhán Drohan Department of Computing and Mathematics http://www.wit.ie/ Topics list while loops recap
More information1 Shyam sir JAVA Notes
1 Shyam sir JAVA Notes 1. What is the most important feature of Java? Java is a platform independent language. 2. What do you mean by platform independence? Platform independence means that we can write
More informationCS 350 : Data Structures Hash Tables
CS 350 : Data Structures Hash Tables David Babcock (courtesy of James Moscola) Department of Physical Sciences York College of Pennsylvania James Moscola Hash Tables Although the various tree structures
More information