index.pdf March 17,

Size: px
Start display at page:

Download "index.pdf March 17,"

Transcription

1 index.pdf March 17, ITI Introduction to omputing II Marce Turcotte Schoo of Eectrica Engineering and omputer Science Linked List (Part 2) Tai pointer ouby inked ist ummy node Version of March 17, 2013 bstract Time efficiency ompare the time efficiency of the dynamic array (rraylist) and inked ist (LinkedList) impementations of the interface List (both aow to store an unimited number of objects). Let say that execution time of a method is variabe (sow) if the number of operations depends on the number of eements currenty stored in the data structure, and constant (fast) otherwise. These ecture notes are meant to be ooked at on a computer screen. o not print them uness it is necessary. Time efficiency an you predict an overa winner beforehand? rraylist LinkedList void addfirst( E o ) sow fast void addlast( E o ) sow sow void add( E o, int pos ) sow sow E get( int pos ) fast sow void removefirst() sow fast void removelast() fast sow ased on the above tabe, when woud you use an array? ppications that need a direct (random) access to the eements. ased on the above tabe, when woud you use a singy-inked ist? ppications that add or remove eements at the start of the ist ony. Which impementation is more memory efficient? Speeding up addlast for SingyLinkedList There is a simpe impementation technique that makes adding an eement at the end of a ist fast. The probem with the singy inked ist impementation is that one needs to traverse the data structure to access the ast eement. What if we coud aways access the ast eement efficienty as we do for the first eement. Got the idea? Yes, adding an instance variabe pointing to the tai eement wi sove our probem. Representing an empty ist: tai Genera case: tai pubic cass SingyLinkedList<E> impements List<E> { private static cass Node<T> { private T ; private Node<T> ; private Node( T, Node<T> ) { this. = ; this. = ; private Node<E> ; private Node<E> tai; //... This invoves adding a new instance variabe, tai.

2 index.pdf March 17, pubic void addlast( E t ) { pubic E removefirst() { Node<E> newnode = new Node<E>( t, nu ); if ( == nu ) { = newnode; tai = ; ese { tai. = newnode; tai = tai.; Node<E> nodetoeete = ; E resut = nodetoeete.; =.; nodetoeete. = nu; // scrubbing nodetoeete. = nu; if ( == nu ) { tai = nu; return resut; The methods need to be modified accordingy! Time efficiency (revision 1) rraylist LinkedList void addfirst( E o ) sow fast void addlast( E o ) sow fast void add( E o, int pos ) sow sow E get( int pos ) fast sow void removefirst() sow fast void removelast() fast sow How about removing the ast eement of the ist? It s sti sow. Speeding up removelast() Maintaining a reference to the ast eement of the ist does not make the remova of the ast eement any faster, we sti have to traverse the ist: tai nodeeforethelast What s needed then? How about a new instance variabe ious? Speeding up removelast() Speeding up removelast() ious ious tai tai What do you think? Moving the reference tai one position to eft is now easy and fast! ut moving the reference ious one position to the eft is now tedious and costy.

3 We d need to access the ious eement, the one before the ast: ut aso to a its predecessors! 10:10:00 tai tai Empty ist: tai Singeton: tai Genera case: pubic cass oubylinkedlist<e> impements List<E> { private static cass Node<T> { private T ; private Node<T> ious; // <--- private Node<T> ; private Node( T, Node<T> ious, Node<T> ) { this. = ; this.ious = ious; // <--- this. = ; private Node<E> ; private Node<E> tai; pubic oubylinkedlist() { = nu; tai = nu; //... removelast() (specia case: singeton) removelast() (genera case) pubic E removelast() { // pre-condition:? Node<E> toeete = tai; E savedvaue = toeete.; if (. == nu ) { = nu; tai = nu; ese { tai = tai.ious; tai. = nu; toeete. = nu; toeete. = nu; return savedvaue; removelast() does not invove traversing the ist anymore. index.pdf March 17,

4 index.pdf March 17, Time efficiency (revision 2) Simpe? Not so simpe? rraylist LinkedList void addfirst( E o ) sow fast void addlast( E o ) sow fast void add( E o, int pos ) sow sow E get( int pos ) fast sow void removefirst() sow fast void removelast() fast fast Whenever an operation changes the pointer, a specia case has to be made. Pre-conditions? Specia case(s)? if ( o == nu ) { throw new IegargumentException( "nu" ); if ( pos < 0 ) { throw new IndexOutOfoundsException( Integer.toString( pos ) ); tai dding an eement a position 0. Specia case: = new Node<E>( o, nu, ) Specia case:..ious = tai tai What is missing?

5 index.pdf March 17, Specia case: if ( pos == 0 ) { Specia case: if (pos == 0) { = new Node<E>( o, nu, );..ious = ; oes cover a the cases? What if the ist was empty. = new Node<E>( o, nu, ); if ( tai == nu ) { tai = ; ese {..ious = ; Genera case: adding an eement at position 2. Genera case: traverse the ist up to pos-1. tai tai p Genera case: q = p. Genera case: p. = new Node<E>( o, p, q ) tai tai p q p q

6 index.pdf March 17, Genera case: q.ious = p. Genera case: Node<E> p = ; tai for (int i = 0; i < (pos-1); i++) { p = p.; Node<E> q = p.; p q p. = new Node<E>( o, p, q ); q.ious = p.; Handes a the cases? What if pos was too arge? Genera case: Node<E> p = ; for (int i = 0; i < (pos-1); i++) { if ( p == nu ) { throw new IndexOutOfoundsException( Integer.toString( pos ) ); ese { p = p.; Node<E> q = p.; p. = new Node<E>( o, p, q ); q.ious = p.; Handes a the cases? What about adding at the end of the ist? Node<E> p = ; for (int i = 0; i < (pos-1); i++) { if ( p == nu ) { throw new IndexOutOfoundsException( Integer.toString( pos ) ); ese { p = p.; Node<E> q = p.; p. = new Node<E>( o, p, q ); if ( p == tai ) { tai = p.; ese { q.ious = p.; ummy node The empty ist consists of the dummy node pointing to itsef. The foowing impementation techniques simpifies those cases. It consists in 1) using a dummy node (a node that contains no data) as the first eement of the ist and 2) creating a circuar ist. Genera case: F

7 index.pdf March 17, pubic cass SingyLinkedList<E> impements List<E> { private static cass Node<T> { private T ; private Node<T> ; private Node( T, Node<T> ) { this. = ; this. = ; private Node<E> ; pubic SingyLinkedList() { = new Node<E>( nu, nu );. = ; //... // assic singy inked-ist impementation pubic void add( E t ) { Node<E> newnode = new Node<E>(t, nu); if ( == nu ) = newnode; ese { Node<E> p = ; whie ( p.!= nu ) { p = p.; p. = newnode; ummy node (addlast) The new eement wi be added after a node such that... // ummy node impementation pubic void add( E t ) { Node<E> p = ; whie ( p.!= ) { p = p.; p. = new Node<E>( t, ); F Remarks (dummy node) What makes the impementation of the methods more compex in the case of a inked ist without dummy node? Modifications of the of the ist are specia cases (remove, addfirst, addlast,... ). In the genera case, the variabe of the ious node is changed, except if the modification occurs at the first position, then the variabe must be changed. 0 1 With the dummy node, it is aways the variabe of the ious node that is changed. The nodes coud aso be douby inked, and there coud be a counter in the er of the ist. 3 F

8 index.pdf March 17, oection Framework In Java the casses that are used to store objects are regrouped into a hierarchy of casses caed oection. There are four broad categories of coections: unordered. inear, hierarchica, graph and tai Linear coections comprise the ists, the stacks and the queues. Eements of a inear coection a have a specific predecessor and successor(except for the first and ast eement). Hierarchica coections aow to represent various kinds of trees: e.g.: geneaogica information. The graph coections are used to store directed, undirected, weighted and unweighted graphs: e.g.: a graph that represents a the cities in anada and their distances. Unordered coections incude sets, bags and maps. 0 1 F 3

ITI Introduction to Computing II

ITI Introduction to Computing II index.pdf March 17, 2013 1 ITI 1121. Introduction to Computing II Marcel Turcotte School of Electrical Engineering and Computer Science Version of March 17, 2013 Definitions A List is a linear abstract

More information

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9.

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9. Sets & Hash Tabes Week 13 Weiss: chapter 20 CS 5301 Spring 2018 What are sets? A set is a coection of objects of the same type that has the foowing two properties: - there are no dupicates in the coection

More information

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9.

l A set is a collection of objects of the same l {6,9,11,-5} and {11,9,6,-5} are equivalent. l There is no first element, and no successor of 9. Sets & Hash Tabes Week 13 Weiss: chapter 20 CS 5301 Fa 2017 What are sets? A set is a coection of objects of the same type that has the foowing two properties: - there are no dupicates in the coection

More information

Introduction to the Stack. Stacks and Queues. Stack Operations. Stack illustrated. elements of the same type. Week 9. Gaddis: Chapter 18

Introduction to the Stack. Stacks and Queues. Stack Operations. Stack illustrated. elements of the same type. Week 9. Gaddis: Chapter 18 Stacks and Queues Week 9 Gaddis: Chapter 18 CS 5301 Spring 2017 Ji Seaman Introduction to the Stack Stack: a data structure that hods a coection of eements of the same type. - The eements are accessed

More information

index.pdf March 20,

index.pdf March 20, ndex.pdf March 20, 20 ITI 2. Introducton to omputng II Impementaton -2-: usng an nner cass We use an nner cass to create the terators: Marce Turcotte Schoo of Informaton Technoogy and Engneerng Iterator

More information

l Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge

l Tree: set of nodes and directed edges l Parent: source node of directed edge l Child: terminal node of directed edge Trees & Heaps Week 12 Gaddis: 20 Weiss: 21.1-3 CS 5301 Fa 2016 Ji Seaman 1 Tree: non-recursive definition Tree: set of nodes and directed edges - root: one node is distinguished as the root - Every node

More information

Outerjoins, Constraints, Triggers

Outerjoins, Constraints, Triggers Outerjoins, Constraints, Triggers Lecture #13 Autumn, 2001 Fa, 2001, LRX #13 Outerjoins, Constraints, Triggers HUST,Wuhan,China 358 Outerjoin R S = R S with danging tupes padded with nus and incuded in

More information

An Introduction to Design Patterns

An Introduction to Design Patterns An Introduction to Design Patterns 1 Definitions A pattern is a recurring soution to a standard probem, in a context. Christopher Aexander, a professor of architecture Why woud what a prof of architecture

More information

Lecture outline Graphics and Interaction Scan Converting Polygons and Lines. Inside or outside a polygon? Scan conversion.

Lecture outline Graphics and Interaction Scan Converting Polygons and Lines. Inside or outside a polygon? Scan conversion. Lecture outine 433-324 Graphics and Interaction Scan Converting Poygons and Lines Department of Computer Science and Software Engineering The Introduction Scan conversion Scan-ine agorithm Edge coherence

More information

Navigating and searching theweb

Navigating and searching theweb Navigating and searching theweb Contents Introduction 3 1 The Word Wide Web 3 2 Navigating the web 4 3 Hyperinks 5 4 Searching the web 7 5 Improving your searches 8 6 Activities 9 6.1 Navigating the web

More information

Functions. 6.1 Modular Programming. 6.2 Defining and Calling Functions. Gaddis: 6.1-5,7-10,13,15-16 and 7.7

Functions. 6.1 Modular Programming. 6.2 Defining and Calling Functions. Gaddis: 6.1-5,7-10,13,15-16 and 7.7 Functions Unit 6 Gaddis: 6.1-5,7-10,13,15-16 and 7.7 CS 1428 Spring 2018 Ji Seaman 6.1 Moduar Programming Moduar programming: breaking a program up into smaer, manageabe components (modues) Function: a

More information

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Lecture 4: Threads

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Lecture 4: Threads CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Lecture 4: Threads Announcement Project 0 Due Project 1 out Homework 1 due on Thursday Submit it to Gradescope onine 2 Processes Reca that

More information

RDF Objects 1. Alex Barnell Information Infrastructure Laboratory HP Laboratories Bristol HPL November 27 th, 2002*

RDF Objects 1. Alex Barnell Information Infrastructure Laboratory HP Laboratories Bristol HPL November 27 th, 2002* RDF Objects 1 Aex Barne Information Infrastructure Laboratory HP Laboratories Bristo HPL-2002-315 November 27 th, 2002* E-mai: Andy_Seaborne@hp.hp.com RDF, semantic web, ontoogy, object-oriented datastructures

More information

Distance Weighted Discrimination and Second Order Cone Programming

Distance Weighted Discrimination and Second Order Cone Programming Distance Weighted Discrimination and Second Order Cone Programming Hanwen Huang, Xiaosun Lu, Yufeng Liu, J. S. Marron, Perry Haaand Apri 3, 2012 1 Introduction This vignette demonstrates the utiity and

More information

Special Edition Using Microsoft Excel Selecting and Naming Cells and Ranges

Special Edition Using Microsoft Excel Selecting and Naming Cells and Ranges Specia Edition Using Microsoft Exce 2000 - Lesson 3 - Seecting and Naming Ces and.. Page 1 of 8 [Figures are not incuded in this sampe chapter] Specia Edition Using Microsoft Exce 2000-3 - Seecting and

More information

Welcome - CSC 301. CSC 301- Foundations of Programming Languages

Welcome - CSC 301. CSC 301- Foundations of Programming Languages Wecome - CSC 301 CSC 301- Foundations of Programming Languages Instructor: Dr. Lutz Hame Emai: hame@cs.uri.edu Office: Tyer, Rm 251 Office Hours: TBA TA: TBA Assignments Assignment #0: Downoad & Read Syabus

More information

file://j:\macmillancomputerpublishing\chapters\in073.html 3/22/01

file://j:\macmillancomputerpublishing\chapters\in073.html 3/22/01 Page 1 of 15 Chapter 9 Chapter 9: Deveoping the Logica Data Mode The information requirements and business rues provide the information to produce the entities, attributes, and reationships in ogica mode.

More information

Nearest Neighbor Learning

Nearest Neighbor Learning Nearest Neighbor Learning Cassify based on oca simiarity Ranges from simpe nearest neighbor to case-based and anaogica reasoning Use oca information near the current query instance to decide the cassification

More information

Outline. Parallel Numerical Algorithms. Forward Substitution. Triangular Matrices. Solving Triangular Systems. Back Substitution. Parallel Algorithm

Outline. Parallel Numerical Algorithms. Forward Substitution. Triangular Matrices. Solving Triangular Systems. Back Substitution. Parallel Algorithm Outine Parae Numerica Agorithms Chapter 8 Prof. Michae T. Heath Department of Computer Science University of Iinois at Urbana-Champaign CS 554 / CSE 512 1 2 3 4 Trianguar Matrices Michae T. Heath Parae

More information

Jacobian Range Space

Jacobian Range Space Kinematic Redundanc A manipuator ma have more DOFs than are necessar to contro a desired variabe What do ou do w/ the etra DOFs? However, even if the manipuator has enough DOFs, it ma sti be unabe to contro

More information

Relational Model. Lecture #6 Autumn, Fall, 2001, LRX

Relational Model. Lecture #6 Autumn, Fall, 2001, LRX Reationa Mode Lecture #6 Autumn, 2001 #06 Reationa Mode HUST,Wuhan,China 121 Reationa Mode Tabe = reation. Coumn headers = attributes. Row = tupe Reation schema = name(attributes). Exampe: Beers(name,

More information

EE 122 Final Exam - Solution Date: December 14, 2002

EE 122 Final Exam - Solution Date: December 14, 2002 Name: SID: ee ogin: Day/Time of section you atten: EE Fina Exam - Soution Date: December 4, 00 Probem Points /0 /0 3 /0 4 /0 5 /0 6 /0 7 /0 8 /0 9 /0 0 /0 Tota /00 . Question (0 pt) (a) (5 pt) Expain briefy

More information

As Michi Henning and Steve Vinoski showed 1, calling a remote

As Michi Henning and Steve Vinoski showed 1, calling a remote Reducing CORBA Ca Latency by Caching and Prefetching Bernd Brügge and Christoph Vismeier Technische Universität München Method ca atency is a major probem in approaches based on object-oriented middeware

More information

Teaching CS1 with Karel the Robot in Java

Teaching CS1 with Karel the Robot in Java Teaching CS1 with Kare the Robot in Java Byron Weber Becker Department of Computer Science University of Wateroo Wateroo, Ontario, Canada N2L 3G1 bwbecker@uwateroo.ca Abstract Most current Java textbooks

More information

Searching, Sorting & Analysis

Searching, Sorting & Analysis Searching, Sorting & Anaysis Unit 2 Chapter 8 CS 2308 Fa 2018 Ji Seaman 1 Definitions of Search and Sort Search: find a given item in an array, return the index of the item, or -1 if not found. Sort: rearrange

More information

A Method for Calculating Term Similarity on Large Document Collections

A Method for Calculating Term Similarity on Large Document Collections $ A Method for Cacuating Term Simiarity on Large Document Coections Wofgang W Bein Schoo of Computer Science University of Nevada Las Vegas, NV 915-019 bein@csunvedu Jeffrey S Coombs and Kazem Taghva Information

More information

Register Allocation. Consider the following assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x

Register Allocation. Consider the following assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x Register Aocation Consider the foowing assignment statement: x = (a*b)+((c*d)+(e*f)); In posfix notation: ab*cd*ef*++x Assume that two registers are avaiabe. Starting from the eft a compier woud generate

More information

Load Balancing by MPLS in Differentiated Services Networks

Load Balancing by MPLS in Differentiated Services Networks Load Baancing by MPLS in Differentiated Services Networks Riikka Susitaiva, Jorma Virtamo, and Samui Aato Networking Laboratory, Hesinki University of Technoogy P.O.Box 3000, FIN-02015 HUT, Finand {riikka.susitaiva,

More information

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components Illustrated

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components Illustrated Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Fa 2017 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program instructions

More information

Professor: Alvin Chao

Professor: Alvin Chao Professor: Avin Chao CS149 For Each and Reference Arrays Looping Over the Contents of an Array We often use a for oop to access each eement in an array: for (int i = 0; i < names.ength; i++) { System.out.printn("Heo

More information

Solutions to the Final Exam

Solutions to the Final Exam CS/Math 24: Intro to Discrete Math 5//2 Instructor: Dieter van Mekebeek Soutions to the Fina Exam Probem Let D be the set of a peope. From the definition of R we see that (x, y) R if and ony if x is a

More information

Endoscopic Motion Compensation of High Speed Videoendoscopy

Endoscopic Motion Compensation of High Speed Videoendoscopy Endoscopic Motion Compensation of High Speed Videoendoscopy Bharath avuri Department of Computer Science and Engineering, University of South Caroina, Coumbia, SC - 901. ravuri@cse.sc.edu Abstract. High

More information

Professor: Alvin Chao

Professor: Alvin Chao Professor: Avin Chao Anatomy of a Java Program: Comments Javadoc comments: /** * Appication that converts inches to centimeters. * * @author Chris Mayfied * @version 01/21/2014 */ Everything between /**

More information

Efficient and Practical Modular Decomposition?

Efficient and Practical Modular Decomposition? Efficient and Practica Moduar Decomposition? Eiias Dahhaust Jens Gusted6 Ross M. McConne Abstract We give a simpe recursive agorithm for moduar decomposition of undirected graphs that runs in O(n + ma(m,n))

More information

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program?

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program? Intro to Programming & C++ Unit 1 Sections 1.1-3 and 2.1-10, 2.12-13, 2.15-17 CS 1428 Spring 2018 Ji Seaman 1.1 Why Program? Computer programmabe machine designed to foow instructions Program a set of

More information

Concurrent programming: From theory to practice. Concurrent Algorithms 2016 Tudor David

Concurrent programming: From theory to practice. Concurrent Algorithms 2016 Tudor David oncurrent programming: From theory to practice oncurrent Agorithms 2016 Tudor David From theory to practice Theoretica (design) Practica (design) Practica (impementation) 2 From theory to practice Theoretica

More information

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-4,6

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-4,6 Arrays Unit 5 Gaddis: 7.1-4,6 CS 1428 Fa 2017 Ji Seaman Array Data Type Array: a variabe that contains mutipe vaues of the same type. Vaues are stored consecutivey in memory. An array variabe definition

More information

COMP 250 Midterm #2 March 11 th 2013

COMP 250 Midterm #2 March 11 th 2013 NAME: STUDENT ID: COMP 250 Midterm #2 March 11 th 2013 - This exam has 6 pages - This is an open book and open notes exam. No electronic equipment is allowed. 1) Questions with short answers (28 points;

More information

Alpha labelings of straight simple polyominal caterpillars

Alpha labelings of straight simple polyominal caterpillars Apha abeings of straight simpe poyomina caterpiars Daibor Froncek, O Nei Kingston, Kye Vezina Department of Mathematics and Statistics University of Minnesota Duuth University Drive Duuth, MN 82-3, U.S.A.

More information

An improved distributed version of Han s method for distributed MPC of canal systems

An improved distributed version of Han s method for distributed MPC of canal systems Deft University of Technoogy Deft Center for Systems and Contro Technica report 10-013 An improved distributed version of Han s method for distributed MPC of cana systems M.D. Doan, T. Keviczky, and B.

More information

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-3,5

Arrays. Array Data Type. Array - Memory Layout. Array Terminology. Gaddis: 7.1-3,5 Arrays Unit 5 Gaddis: 7.1-3,5 CS 1428 Spring 2018 Ji Seaman Array Data Type Array: a variabe that contains mutipe vaues of the same type. Vaues are stored consecutivey in memory. An array variabe decaration

More information

Relative Positioning from Model Indexing

Relative Positioning from Model Indexing Reative Positioning from Mode Indexing Stefan Carsson Computationa Vision and Active Perception Laboratory (CVAP)* Roya Institute of Technoogy (KTH), Stockhom, Sweden Abstract We show how to determine

More information

Service Scheduling for General Packet Radio Service Classes

Service Scheduling for General Packet Radio Service Classes Service Scheduing for Genera Packet Radio Service Casses Qixiang Pang, Amir Bigoo, Victor C. M. Leung, Chris Schoefied Department of Eectrica and Computer Engineering, University of British Coumbia, Vancouver,

More information

THE PERCENTAGE OCCUPANCY HIT OR MISS TRANSFORM

THE PERCENTAGE OCCUPANCY HIT OR MISS TRANSFORM 17th European Signa Processing Conference (EUSIPCO 2009) Gasgow, Scotand, August 24-28, 2009 THE PERCENTAGE OCCUPANCY HIT OR MISS TRANSFORM P. Murray 1, S. Marsha 1, and E.Buinger 2 1 Dept. of Eectronic

More information

Priority Queueing for Packets with Two Characteristics

Priority Queueing for Packets with Two Characteristics 1 Priority Queueing for Packets with Two Characteristics Pave Chuprikov, Sergey I. Nikoenko, Aex Davydow, Kiri Kogan Abstract Modern network eements are increasingy required to dea with heterogeneous traffic.

More information

Automatic Program Inversion using Symbolic Transducers

Automatic Program Inversion using Symbolic Transducers Automatic Program Inversion using Symboic Transducers Qinheping Hu University of Wisconsin-Madison qhu8@wisc.edu Loris D Antoni University of Wisconsin-Madison oris@cs.wisc.edu Abstract We propose a fuy-automated

More information

A Fast Block Matching Algorithm Based on the Winner-Update Strategy

A Fast Block Matching Algorithm Based on the Winner-Update Strategy In Proceedings of the Fourth Asian Conference on Computer Vision, Taipei, Taiwan, Jan. 000, Voume, pages 977 98 A Fast Bock Matching Agorithm Based on the Winner-Update Strategy Yong-Sheng Chenyz Yi-Ping

More information

understood as processors that match AST patterns of the source language and translate them into patterns in the target language.

understood as processors that match AST patterns of the source language and translate them into patterns in the target language. A Basic Compier At a fundamenta eve compiers can be understood as processors that match AST patterns of the source anguage and transate them into patterns in the target anguage. Here we wi ook at a basic

More information

Proceedings of the International Conference on Systolic Arrays, San Diego, California, U.S.A., May 25-27, 1988 AN EFFICIENT ASYNCHRONOUS MULTIPLIER!

Proceedings of the International Conference on Systolic Arrays, San Diego, California, U.S.A., May 25-27, 1988 AN EFFICIENT ASYNCHRONOUS MULTIPLIER! [1,2] have, in theory, revoutionized cryptography. Unfortunatey, athough offer many advantages over conventiona and authentication), such cock synchronization in this appication due to the arge operand

More information

A METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS. A. C. Finch, K. J. Mackenzie, G. J. Balsdon, G. Symonds

A METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS. A. C. Finch, K. J. Mackenzie, G. J. Balsdon, G. Symonds A METHOD FOR GRIDLESS ROUTING OF PRINTED CIRCUIT BOARDS A C Finch K J Mackenzie G J Basdon G Symonds Raca-Redac Ltd Newtown Tewkesbury Gos Engand ABSTRACT The introduction of fine-ine technoogies to printed

More information

Lecture Notes for Chapter 4 Part III. Introduction to Data Mining

Lecture Notes for Chapter 4 Part III. Introduction to Data Mining Data Mining Cassification: Basic Concepts, Decision Trees, and Mode Evauation Lecture Notes for Chapter 4 Part III Introduction to Data Mining by Tan, Steinbach, Kumar Adapted by Qiang Yang (2010) Tan,Steinbach,

More information

From i* to istar 2.0: An Evolving Social Modelling Language

From i* to istar 2.0: An Evolving Social Modelling Language From i* to istar 2.0: An Evoving Socia Modeing Language Lin Liu 1 Schoo of Software, Tsinghua University, Beijing, 100084, China iniu@tsinghua.edu.cn Abstract. Conceptua Modeing, as a thought too, heps

More information

DISTANCE TRANSFORMATION FOR NETWORK DESIGN PROBLEMS

DISTANCE TRANSFORMATION FOR NETWORK DESIGN PROBLEMS DISTANCE TRANSFORMATION FOR NETWORK DESIGN PROBLEMS A Ridha Mahjoub, Michae Poss, Luidi Simonetti, Eduardo Uchoa To cite this version: A Ridha Mahjoub, Michae Poss, Luidi Simonetti, Eduardo Uchoa. DISTANCE

More information

Extended Node-Arc Formulation for the K-Edge-Disjoint Hop-Constrained Network Design Problem

Extended Node-Arc Formulation for the K-Edge-Disjoint Hop-Constrained Network Design Problem Extended Node-Arc Formuation for the K-Edge-Disjoint Hop-Constrained Network Design Probem Quentin Botton Université cathoique de Louvain, Louvain Schoo of Management, (Begique) botton@poms.uc.ac.be Bernard

More information

Complex Human Activity Searching in a Video Employing Negative Space Analysis

Complex Human Activity Searching in a Video Employing Negative Space Analysis Compex Human Activity Searching in a Video Empoying Negative Space Anaysis Shah Atiqur Rahman, Siu-Yeung Cho, M.K.H. Leung 3, Schoo of Computer Engineering, Nanyang Technoogica University, Singapore 639798

More information

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Synchronization: Semaphore

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Synchronization: Semaphore CSE120 Principes of Operating Systems Prof Yuanyuan (YY) Zhou Synchronization: Synchronization Needs Two synchronization needs Mutua excusion Whenever mutipe threads access a shared data, you need to worry

More information

A Petrel Plugin for Surface Modeling

A Petrel Plugin for Surface Modeling A Petre Pugin for Surface Modeing R. M. Hassanpour, S. H. Derakhshan and C. V. Deutsch Structure and thickness uncertainty are important components of any uncertainty study. The exact ocations of the geoogica

More information

CLOUD RADIO ACCESS NETWORK WITH OPTIMIZED BASE-STATION CACHING

CLOUD RADIO ACCESS NETWORK WITH OPTIMIZED BASE-STATION CACHING CLOUD RADIO ACCESS NETWORK WITH OPTIMIZED BASE-STATION CACHING Binbin Dai and Wei Yu Ya-Feng Liu Department of Eectrica and Computer Engineering University of Toronto, Toronto ON, Canada M5S 3G4 Emais:

More information

COMP 103. Data Structures and Algorithms

COMP 103. Data Structures and Algorithms T E W H A R E W Ā N A N G A O T E Ū P O K O O T E I K A A M Ā U I V I C T O R I A UNIVERSITY OF WELLINGTON EXAMINATIONS 2004 END-YEAR COMP 103 Data Structures and Algorithms Time Allowed: 3 Hours Instructions:

More information

Development of a National Portal for Tuvalu. Business Case. SPREP Pacific iclim

Development of a National Portal for Tuvalu. Business Case. SPREP Pacific iclim Deveopment of a Nationa Porta for Tuvau Business Case SPREP Pacific iclim Apri 2018 Tabe of Contents 1. Introduction... 3 1.1 Report Purpose... 3 1.2 Background & Context... 3 1.3 Other IKM Activities

More information

Joint Optimization of Intra- and Inter-Autonomous System Traffic Engineering

Joint Optimization of Intra- and Inter-Autonomous System Traffic Engineering Joint Optimization of Intra- and Inter-Autonomous System Traffic Engineering Kin-Hon Ho, Michae Howarth, Ning Wang, George Pavou and Styianos Georgouas Centre for Communication Systems Research, University

More information

Notes on access restrictions

Notes on access restrictions Notes on access restrictions A source code file MyClass.java is a compilation unit and can contain at most one public class. Furthermore, if there is a public class in that file, it must be called MyClass.

More information

A Comparison of a Second-Order versus a Fourth- Order Laplacian Operator in the Multigrid Algorithm

A Comparison of a Second-Order versus a Fourth- Order Laplacian Operator in the Multigrid Algorithm A Comparison of a Second-Order versus a Fourth- Order Lapacian Operator in the Mutigrid Agorithm Kaushik Datta (kdatta@cs.berkeey.edu Math Project May 9, 003 Abstract In this paper, the mutigrid agorithm

More information

CSE 131 Computer Science 1 Module 9a: ADT Representations. Stack and queue ADTs array implementations Buffer ADT and circular lists

CSE 131 Computer Science 1 Module 9a: ADT Representations. Stack and queue ADTs array implementations Buffer ADT and circular lists CSE 11 Computer Science 1 Module 9a: ADT Representations Stack and queue ADTs array implementations Buffer ADT and circular lists Buffer ADT add and remove from both ends»can grow and shrink from either

More information

.County of San Mateo

.County of San Mateo -- - -- -- - -- - - --- a - -- w---- a- -- : m- I - -- -- -- --., I -- I.a, e mzzcm.county of San Mateo InterneUIntranet Web Page Design Guideines. September 30,1997 fabe of Corntents Purpose... Approach....

More information

Computer Networks. College of Computing. Copyleft 2003~2018

Computer Networks. College of Computing.   Copyleft 2003~2018 Computer Networks Computer Networks Prof. Lin Weiguo Coege of Computing Copyeft 2003~2018 inwei@cuc.edu.cn http://icourse.cuc.edu.cn/computernetworks/ http://tc.cuc.edu.cn Attention The materias beow are

More information

Solving Large Double Digestion Problems for DNA Restriction Mapping by Using Branch-and-Bound Integer Linear Programming

Solving Large Double Digestion Problems for DNA Restriction Mapping by Using Branch-and-Bound Integer Linear Programming The First Internationa Symposium on Optimization and Systems Bioogy (OSB 07) Beijing, China, August 8 10, 2007 Copyright 2007 ORSC & APORC pp. 267 279 Soving Large Doube Digestion Probems for DNA Restriction

More information

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8. CS 5301 Spring 2017

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8. CS 5301 Spring 2017 Searching & Sorting Week 11 Gaddis: 8, 19.6,19.8 CS 5301 Spring 2017 Ji Seaman 1 Definitions of Search and Sort Search: find a given item in a ist, return the position of the item, or -1 if not found.

More information

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8.

Searching & Sorting. Definitions of Search and Sort. Other forms of Linear Search. Linear Search. Week 11. Gaddis: 8, 19.6,19.8. Searching & Sorting Week 11 Gaddis: 8, 19.6,19.8 CS 5301 Fa 2017 Ji Seaman 1 Definitions of Search and Sort Search: find a given item in a ist, return the position of the item, or -1 if not found. Sort:

More information

Link Registry Protocol Options

Link Registry Protocol Options Link Registry Protoco Options Norman Finn, March 2017 HUAWEI TECHNOLOGIES CO., LTD. IEEE 802.1 TSN At east two obvious choices for P802.1CS Link Registration Protoco An IS-IS-ike protoco. TCP (Transmission

More information

Xisa: Extensible Inductive Shape Analysis

Xisa: Extensible Inductive Shape Analysis Xisa: Extensibe Inductive Shape Anaysis Bor-Yuh Evan Chang U of Coorado, Bouder Xavier Riva INRIA/ENS Paris George C. Necua U of Caifornia, Berkeey Additiona Contributors: Vincent Laviron, James Hoey,

More information

CSC212:Data Structure

CSC212:Data Structure CSC212:Data Structure 1 Queue: First In First Out (FIFO). Used in operating systems, simulations etc. Priority Queues: Highest priority item is served first. Used in operating systems, printer servers

More information

Specifications for the ADT List Ali list provides a way to organize data List of students List of sales List of lists

Specifications for the ADT List Ali list provides a way to organize data List of students List of sales List of lists Abstract Data Type List ADT List Specifications for the ADT List Ali list provides a way to organize data List of students List of sales List of lists A list has first, last, and in between items (the

More information

Databases and PHP. Accessing databases from PHP

Databases and PHP. Accessing databases from PHP Databases and PHP Accessing databases from PHP PHP & Databases PHP can connect to virtuay any database There are specific functions buit-into PHP to connect with some DB There is aso generic ODBC functions

More information

Quality of Service Evaluations of Multicast Streaming Protocols *

Quality of Service Evaluations of Multicast Streaming Protocols * Quaity of Service Evauations of Muticast Streaming Protocos Haonan Tan Derek L. Eager Mary. Vernon Hongfei Guo omputer Sciences Department University of Wisconsin-Madison, USA {haonan, vernon, guo}@cs.wisc.edu

More information

Language Identification for Texts Written in Transliteration

Language Identification for Texts Written in Transliteration Language Identification for Texts Written in Transiteration Andrey Chepovskiy, Sergey Gusev, Margarita Kurbatova Higher Schoo of Economics, Data Anaysis and Artificia Inteigence Department, Pokrovskiy

More information

Fastest-Path Computation

Fastest-Path Computation Fastest-Path Computation DONGHUI ZHANG Coege of Computer & Information Science Northeastern University Synonyms fastest route; driving direction Definition In the United states, ony 9.% of the househods

More information

BGP ingress-to-egress route configuration in a capacityconstrained Asia-Pacific Conference On Communications, 2005, v. 2005, p.

BGP ingress-to-egress route configuration in a capacityconstrained Asia-Pacific Conference On Communications, 2005, v. 2005, p. Tite BGP -to- route configuration in a capacityconstrained AS Author(s) Chim, TW; Yeung, KL; Lu KS Citation 2005 Asia-Pacific Conference On Communications, 2005, v. 2005, p. 386-390 Issued Date 2005 URL

More information

Sample of a training manual for a software tool

Sample of a training manual for a software tool Sampe of a training manua for a software too We use FogBugz for tracking bugs discovered in RAPPID. I wrote this manua as a training too for instructing the programmers and engineers in the use of FogBugz.

More information

WEAVER: A KNOWLEDGE-BASED ROUTING EXPERT

WEAVER: A KNOWLEDGE-BASED ROUTING EXPERT WEAVER: A KNOWLEDGE-BASED ROUTING EXPERT Rostam Joobbani, Danie P. Siewiorek Department of Eectrica and Computer Engineering Carnegie-Meon University Scheney Park Pittsburgh, PA 15213 ABSTRACT In this

More information

CS/CE 2336 Computer Science II

CS/CE 2336 Computer Science II CS/CE 2336 Computer Science II UT D Session 11 OO Data Structures Lists, Stacks, Queues Adapted from D. Liang s Introduction to Java Programming, 8 th Ed. 2 What is a Data Structure? A collection of data

More information

Chapter Ten. Volumes and Surface Areas of Simple Solids

Chapter Ten. Volumes and Surface Areas of Simple Solids Capter Ten Voumes and Surface Areas of Simpe Soids We ook at o to cacuate te areas and perimeters of many geometric figures in te ast capter. As you get farter advanced in mat, you find cases ere you need

More information

Authorization of a QoS Path based on Generic AAA. Leon Gommans, Cees de Laat, Bas van Oudenaarde, Arie Taal

Authorization of a QoS Path based on Generic AAA. Leon Gommans, Cees de Laat, Bas van Oudenaarde, Arie Taal Abstract Authorization of a QoS Path based on Generic Leon Gommans, Cees de Laat, Bas van Oudenaarde, Arie Taa Advanced Internet Research Group, Department of Computer Science, University of Amsterdam.

More information

Extracting semistructured data from the Web: An XQuery Based Approach

Extracting semistructured data from the Web: An XQuery Based Approach EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. Extracting semistructured data from the Web: An XQuery Based Approach Gies Nachouki Université de Nantes - Facuté des Sciences, IRIN, 2, rue de a Houssinière,

More information

BGP-Based SPF IETF 96, Berlin. Keyur Patel, Cisco Acee Lindem, Cisco Derek Yeung, Cisco Abhay Roy, Cisco Venu Venugopal, Cisco

BGP-Based SPF IETF 96, Berlin. Keyur Patel, Cisco Acee Lindem, Cisco Derek Yeung, Cisco Abhay Roy, Cisco Venu Venugopal, Cisco BGP-Based SPF IETF 96, Berin Keyur Pate, Cisco Acee Lindem, Cisco Derek Yeung, Cisco Abhay Roy, Cisco Venu Venugopa, Cisco 1 Data Center Routing Routing Probem Space Routing scaing for Massivey Scaabe

More information

Resource Optimization to Provision a Virtual Private Network Using the Hose Model

Resource Optimization to Provision a Virtual Private Network Using the Hose Model Resource Optimization to Provision a Virtua Private Network Using the Hose Mode Monia Ghobadi, Sudhakar Ganti, Ghoamai C. Shoja University of Victoria, Victoria C, Canada V8W 3P6 e-mai: {monia, sganti,

More information

csci 210: Data Structures Linked lists Summary Arrays vs. Lists Arrays vs. Linked Lists a[0] a[1] a[2]... null Today READING: Arrays

csci 210: Data Structures Linked lists Summary Arrays vs. Lists Arrays vs. Linked Lists a[0] a[1] a[2]... null Today READING: Arrays Summary Today linked lists csci 210: Data Structures Linked lists single-linked lists double-linked lists circular lists READING: LC chapter 4.1, 4.2, 4.3 Arrays vs. Linked Lists Arrays vs. Lists We!ve

More information

MCSE Training Guide: Windows Architecture and Memory

MCSE Training Guide: Windows Architecture and Memory MCSE Training Guide: Windows 95 -- Ch 2 -- Architecture and Memory Page 1 of 13 MCSE Training Guide: Windows 95-2 - Architecture and Memory This chapter wi hep you prepare for the exam by covering the

More information

Array Lists Outline and Required Reading: Array Lists ( 7.1) CSE 2011, Winter 2017, Section Z Instructor: N. Vlajic

Array Lists Outline and Required Reading: Array Lists ( 7.1) CSE 2011, Winter 2017, Section Z Instructor: N. Vlajic rray Lists Outline and Required Reading: rray Lists ( 7.) CSE 20, Winter 207, Section Z Instructor: N. Vlajic Lists in Everyday Life 2 List convenient way to organize data examples: score list, to-do list,

More information

Abstract Data Types - Lists Arrays implementa4on Linked- lists implementa4on

Abstract Data Types - Lists Arrays implementa4on Linked- lists implementa4on Abstract Data Types - Lists Arrays implementa4on Linked- lists implementa4on Lecture 16 Jérôme Waldispühl School of Computer Science McGill University Slides by Mathieu BlancheIe Recap from last lecture

More information

Hour 3: The Network Access Layer Page 1 of 10. Discuss how TCP/IP s Network Access layer relates to the OSI networking model

Hour 3: The Network Access Layer Page 1 of 10. Discuss how TCP/IP s Network Access layer relates to the OSI networking model Hour 3: The Network Access Layer Page 1 of 10 Hour 3: The Network Access Layer At the base of the TCP/IP protoco stack is the Network Access ayer, the coection of services and specifications that provide

More information

CS350: Data Structures. Doubly Linked Lists

CS350: Data Structures. Doubly Linked Lists Doubly Linked Lists James Moscola Department of Physical Sciences York College of Pennsylvania James Moscola Doubly Linked Lists Adds an additional pointer to a the list nodes that points to the previous

More information

A Memory Grouping Method for Sharing Memory BIST Logic

A Memory Grouping Method for Sharing Memory BIST Logic A Memory Grouping Method for Sharing Memory BIST Logic Masahide Miyazai, Tomoazu Yoneda, and Hideo Fuiwara Graduate Schoo of Information Science, Nara Institute of Science and Technoogy (NAIST), 8916-5

More information

parms: A Package for Solving General Sparse Linear Systems on Parallel Computers

parms: A Package for Solving General Sparse Linear Systems on Parallel Computers parms: A Package for Soving Genera Sparse Linear Systems on Parae Computers Y. Saad 1 and M. Sosonkina 2 1 University of Minnesota, Minneapois, MN 55455, USA, saad@cs.umn.edu, http://www.cs.umn.edu/ saad

More information

A New Supervised Clustering Algorithm Based on Min-Max Modular Network with Gaussian-Zero-Crossing Functions

A New Supervised Clustering Algorithm Based on Min-Max Modular Network with Gaussian-Zero-Crossing Functions 2006 Internationa Joint Conference on Neura Networks Sheraton Vancouver Wa Centre Hote, Vancouver, BC, Canada Juy 16-21, 2006 A New Supervised Custering Agorithm Based on Min-Max Moduar Network with Gaussian-Zero-Crossing

More information

May 13, Mark Lutz Boulder, Colorado (303) [work] (303) [home]

May 13, Mark Lutz Boulder, Colorado (303) [work] (303) [home] "Using Python": a Book Preview May 13, 1995 Mark Lutz Bouder, Coorado utz@kapre.com (303) 546-8848 [work] (303) 684-9565 [home] Introduction. This paper is a brief overview of the upcoming Python O'Reiy

More information

A study of comparative evaluation of methods for image processing using color features

A study of comparative evaluation of methods for image processing using color features A study of comparative evauation of methods for image processing using coor features FLORENTINA MAGDA ENESCU,CAZACU DUMITRU Department Eectronics, Computers and Eectrica Engineering University Pitești

More information

The Internet and the web

The Internet and the web The Internet and the web Contents Introduction 3 1 The Internet at home 4 2 Loca Area Networks sma office/home office 5 3 Loca Area Networks business 6 4 Wide Area Networks 8 5 Wireess networks 9 6 Mobie

More information

Real-Time Feature Descriptor Matching via a Multi-Resolution Exhaustive Search Method

Real-Time Feature Descriptor Matching via a Multi-Resolution Exhaustive Search Method 297 Rea-Time Feature escriptor Matching via a Muti-Resoution Ehaustive Search Method Chi-Yi Tsai, An-Hung Tsao, and Chuan-Wei Wang epartment of Eectrica Engineering, Tamang University, New Taipei City,

More information

ITI Introduction to Computing II

ITI Introduction to Computing II ITI 1121. Introduction to Computing II Queues ArrayQueue Marcel Turcotte School of Electrical Engineering and Computer Science Version of March 10, 2014 Abstract These lecture notes are meant to be looked

More information