Recursion examples: Problem 2. (More) Recursion and Lists. Tail recursion. Recursion examples: Problem 2. Recursion examples: Problem 3

Size: px
Start display at page:

Download "Recursion examples: Problem 2. (More) Recursion and Lists. Tail recursion. Recursion examples: Problem 2. Recursion examples: Problem 3"

Transcription

1 Reursion eamples: Problem 2 (More) Reursion and s Reursive funtion to reverse a string publi String revstring(string str) { if(str.equals( )) return str; return revstring(str.substring(1, str.length())) + Leture 4 CS211 Summer 2007 word.harat(0); 1 2 Reursion eamples: Problem 2 Another solution publi String revstr_helper(string str, String sofar) { if(str.equals( )) return sofar; return revstr_helper(str.substring(1, str.length()), str.harat(0) + sofar); Tail reursion In a tail reursive method, the reursive all is the last ommand eeuted by the method Tail reursive eample: return revstr_helper(str.substring(1, str.length()), str.harat(0) + sofar); Non-tail reursive: return revstring(str.substring(1, str.length())) + str.harat(0); publi String reversestring(string str) { return revstr_helper(str, ); 3 Tail reursive methods an be eeuted more effiiently No need to maintain a stak! 4 Reursion eamples: Problem 3 Reursive method to ompute GCD of two integers Uses Eulid s Algorithm publi int gd(int m, int n) { if((m % n) == 0) return n; return gd(n, m % n); Reursion eamples: Problem 4 Method that outputs binary representation of integer publi void printbinary(int n) { if(n == 0 n == 1) System.out.println(n); printbinary(n/2); System.out.print(n % 2); 5 6

2 Reursion eamples: Problem 5 Oveiew Merge two sorted strings of haraters publi String merge(string str1, String str2) { Arrays Random aess (good) Fied size: annot grow on demand after reation (bad) if(str1 == str2 == ) return str1+str2; if(str1.harat(0) <= str2.harat(1)) return str1.harat(0) + But some appliations Do not need random aess Require a data struture that an grow and shrink dynamially to aommodate different amounts of data s satisfy these requirements merge(str1.substring(1), str2); return str2.harat(0) + merge(str1, str2.substring(1); 7 Common operations reation Aessing elements in a list Inserting elements into a list Deleting elements from a list 8 Operations A Simple Interfae An ADT (Abstrat Data Type): Speifies publi funtionality Hides implementation detail from users Allows us to improve/replae implementation Fores us to think about fundamental operations (i.e., the interfae) separately from the implementation Operations: Create Insert objet Delete objet Find objet Replae objet Size? Empty? Usually sequential aess (not random aess) publi interfae { publi void insert(objet element); publi void delete(objet element); publi boolean ontains(objet element); publi int size(); Methods are speified, but no implementation A Java interfae orresponds niely to an ADT 9 10 Data Strutures Class Cell Cell Could use an array Need to speify array size Inserts & Deletes require moving elements Must opy array (to a larger array) when it gets full empty 78 Could use a sequene of linked ells We ll fous on this kind of implementation We define a lass Cell from whih we build lists lass Cell { private Objet datum; private Cell net; publi Cell(Objet d, Cell n){ datum = d; net = n; publi Objet getdatum() {return datum; publi Cell getnet() {return net; publi void setdatum(objet o) {datum = o; publi void setnet(cell ) {net = ; datum Objet: net Cell: getdatum getnet setdatum setnet By onvention, we will not show the instane methods when drawing ells 12

3 Building a Building a (ont d) Cell = new Cell(new Integer(), null); Integer t = new Integer(); Integer s = new Integer(); Integer e = new Integer(); One way to build a list with multiple ells: Cell p = new Cell(t, new Cell(s, new Cell(e, null))); Cell: To keep things simple, we will not show Integer objets epliitly in our pitures, but only show the value ontained in them. p Cell: 7 13 Another way: Integer t = new Integer(); Integer s = new Integer(); Integer e = new Integer(); //Can also use "autoboing" p Cell: Cell p = new Cell(e,null); p = new Cell(s,p); p = new Cell(t,p); Note: assignment of form p = new Cell(s,p); does not reate a irular list! 14 Aessing Elements Aess Eample: Linear Searh s are sequential-aess data strutures. To aess ontents of ell n in sequene, you must aess ells 0...n-1 Aessing data in first ell: p.getdatum() Aessing data in seond ell: p.getnet().getdatum() Aessing net field in seond ell: p.getnet().getnet() p Cell: Writing to fields in ells an be done the same way Update data in first ell: p.setdatum(new Integer(53)); Update data in seond ell: p.getnet().setdatum(new Integer(53)); Chop off third ell: p.getnet().setnet(null); //San list looking for objet, return true if found publi stati boolean searh(objet, Cell ) { for (Cell l = ; l!= null; l = l.getnet()) { if (l.getdatum().equals()) return true; return false; //Here is another version. Why does this work? publi stati boolean searh(objet, Cell ) { for (;!= null; =.getnet()) { if (.getdatum().equals()) return true; return false; A Reursive Version publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); publi stati boolean searh(objet, Cell ) { return!= null && (.getdatum().equals() searh(,.getnet())); Reursion on s Reursion an be done on lists Similar to reursion on integers Almost always Base ase: empty list Reursive ase: Assume you an solve problem on (smaller) list obtained by eliminating first ell Many list operations an be implemented very simply by using this idea Although some operations are easier to implement using iteration 17 18

4 Base ase: empty list return false Reursive Searh Reursive ase: non-empty list if data in first ell equals objet, return true return result of doing linear searh on rest of list Eeution of Reursive Program publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); Eeution of Reursive Program publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); Eeution of Reursive Program publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); Eeution of Reursive Program Eeution of Reursive Program publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); false 23

5 Eeution of Reursive Program publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); Eeution of Reursive Program publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); false 25 false 26 Eeution of Reursive Program Iterative eample: reversing a list publi stati boolean searh(objet, Cell ) { if ( == null) return false; if (.getdatum().equals()) return true; return searh(,.getnet()); Given a list, reate a new list with elements in reverse order Intuition: think of reversing a pile of oins publi stati Cell reverse(cell ) { Cell rev = null; for (;!= null; =.getnet()) { rev = new Cell(.getDatum(), rev); return rev; false Reursive eample: Delete from a with Header Delete first ourrene of from list Reursive delete Iterative delete Intuitive idea of reursive ode If list is empty, return null If first element of is, return rest of list Otherwise, return list onsisting of First element of, and that results from deleting from rest of list Some authors prefer to have a lass that is distint from Cell lass. The objet is like a element that always eists even if list itself is empty. lass { proteted Cell ; publi (Cell ) { = ; publi Cell gethead() publi void sethead(cell ) //reursive delete publi stati Cell delete(objet, Cell ) { if ( == null) return null; if (.getdatum().equals()) return.getnet();.setnet(delete(,.getnet())); return ; 29 30

6 Variations on with Header Speial Cases to Worry About Header an also keep other info Referene to last ell of list Number of elements in list Searh/insertion/ deletion as instane methods tail tail size 3 Empty list add find delete Front of list insert End of list find delete s with just one element Doubly-Linked s In some appliations, it is onvenient to have a Cell that has referenes to both its predeessor and its suessor in the list. lass DLLCell { private Objet datum; private DLLCell net; private DLLCell prev; prev net tail 33 Doubly-Linked vs. Singly-Linked Advantages of doubly-linked lists over singly-linked lists some things are easier e.g., reversing a doubly-linked list an be done simply by swapping the previous and net fields of eah ell Disadvantages doubly-linked lists require more heap spae than singlylinked lists insert and delete take more time 34 Cirularly-linked s In other appliations, it is onvenient if the list forms a yle, with no beginning or end Entire list an be traversed from any given node 35

2/22/2013 LISTS & TREES

2/22/2013 LISTS & TREES LISTS & TREES Lecture 9 CS2110 Spring 2013 1 List Overview 2 Purpose Maintain an ordered collection of elements (with possible duplication) Common operations Create a list Access elements of a list sequentially

More information

Data Structures in Java

Data Structures in Java Data Strutures in Java Leture 8: Trees and Tree Traversals. 10/5/2015 Daniel Bauer 1 Trees in Computer Siene A lot of data omes in a hierarhial/nested struture. Mathematial expressions. Program struture.

More information

Run Time Environment. Implementing Object-Oriented Languages

Run Time Environment. Implementing Object-Oriented Languages Run Time Environment Implementing Objet-Oriented Languages Copright 2017, Pedro C. Diniz, all rights reserved. Students enrolled in the Compilers lass at the Universit of Southern California have epliit

More information

Runtime Support for OOLs Part II Comp 412

Runtime Support for OOLs Part II Comp 412 COMP 412 FALL 2017 Runtime Support for OOLs Part II Comp 412 soure IR Front End Optimizer Bak End IR target Copright 2017, Keith D. Cooper & Linda Torzon, all rights reserved. Students enrolled in Comp

More information

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking

Algorithms for External Memory Lecture 6 Graph Algorithms - Weighted List Ranking Algorithms for External Memory Leture 6 Graph Algorithms - Weighted List Ranking Leturer: Nodari Sithinava Sribe: Andi Hellmund, Simon Ohsenreither 1 Introdution & Motivation After talking about I/O-effiient

More information

Doubly LinkedList is Symmetrical! LinkedList Efficiency. Monday, April 8, 13. insert insert remove remove remove walk

Doubly LinkedList is Symmetrical! LinkedList Efficiency. Monday, April 8, 13. insert insert remove remove remove walk How Can We Improve the State of Experimental Evaluation in Computer Siene Peter Sweeney IBM Researh, TJ Watson Friday, April 12, 12:00 Kendade 307 1 Doubly LinkedList is Symmetrial! insert insert remove

More information

Lecture 14. Recursion

Lecture 14. Recursion Leture 14 Reursion Announements for Today Prelim 1 Tonight at 5:15 OR 7:30 A D (5:15, Uris G01) E-K (5:15, Statler) L P (7:30, Uris G01) Q-Z (7:30, Statler) Graded y noon on Sun Sores will e in CMS In

More information

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Fall Test I Solutions

Department of Electrical Engineering and Computer Science MASSACHUSETTS INSTITUTE OF TECHNOLOGY Fall Test I Solutions Department of Eletrial Engineering and Computer iene MAACHUETT INTITUTE OF TECHNOLOGY 6.035 Fall 2016 Test I olutions 1 I Regular Expressions and Finite-tate Automata For Questions 1, 2, and 3, let the

More information

O Type of array element

O Type of array element ! " #! $ % % # & : ; a ontiguous sequene of variables. all of the sae type. Eah variable is identified by its index. Index values are integers. Index of first entry is. ' ( ) * + May /,. - ( & ( ( J K

More information

Back To LinkedLists 1. 3 public Node left; 4 public Node right; 6 public Node(int data, Node left, Node right) {

Back To LinkedLists 1. 3 public Node left; 4 public Node right; 6 public Node(int data, Node left, Node right) { Adam Blank Leture Autumn 0 CSE 3X Aelerated Computer Programming I/II CSE 3X: Aelerated Computer Programming I/II Binary Trees 0 00 00 00 00 0 000 00 00 0 00 0 000 000 000 0 0 00 0000 00 000 00 00 0 000

More information

Outline: Software Design

Outline: Software Design Outline: Software Design. Goals History of software design ideas Design priniples Design methods Life belt or leg iron? (Budgen) Copyright Nany Leveson, Sept. 1999 A Little History... At first, struggling

More information

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group

Dynamic Programming. Lecture #8 of Algorithms, Data structures and Complexity. Joost-Pieter Katoen Formal Methods and Tools Group Dynami Programming Leture #8 of Algorithms, Data strutures and Complexity Joost-Pieter Katoen Formal Methods and Tools Group E-mail: katoen@s.utwente.nl Otober 29, 2002 JPK #8: Dynami Programming ADC (214020)

More information

1 The Knuth-Morris-Pratt Algorithm

1 The Knuth-Morris-Pratt Algorithm 5-45/65: Design & Analysis of Algorithms September 26, 26 Leture #9: String Mathing last hanged: September 26, 27 There s an entire field dediated to solving problems on strings. The book Algorithms on

More information

Parametric Abstract Domains for Shape Analysis

Parametric Abstract Domains for Shape Analysis Parametri Abstrat Domains for Shape Analysis Xavier RIVAL (INRIA & Éole Normale Supérieure) Joint work with Bor-Yuh Evan CHANG (University of Maryland U University of Colorado) and George NECULA (University

More information

1 Disjoint-set data structure.

1 Disjoint-set data structure. CS 124 Setion #4 Union-Fin, Greey Algorithms 2/20/17 1 Disjoint-set ata struture. 1.1 Operations Disjoint-set ata struture enale us to effiiently perform operations suh as plaing elements into sets, querying

More information

Ashish Gupta, Data JUET, Guna

Ashish Gupta, Data JUET, Guna Categories of data structures Data structures are categories in two classes 1. Linear data structure: - organized into sequential fashion - elements are attached one after another - easy to implement because

More information

Implementation. Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations

Implementation. Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations Readings List Implementations Chapter 20.2 Objectives Learn how to implement the List interface Understand the efficiency trade-offs between the ArrayList and LinkedList implementations Additional references:

More information

L11 Balanced Trees. Alice E. Fischer. Fall Alice E. Fischer L11 Balanced Trees... 1/34 Fall / 34

L11 Balanced Trees. Alice E. Fischer. Fall Alice E. Fischer L11 Balanced Trees... 1/34 Fall / 34 L11 Balaned Trees Alie E. Fisher Fall 2018 Alie E. Fisher L11 Balaned Trees... 1/34 Fall 2018 1 / 34 Outline 1 AVL Trees 2 Red-Blak Trees Insertion Insertion 3 B-Trees Alie E. Fisher L11 Balaned Trees...

More information

1B1b Implementing Data Structures Lists, Hash Tables and Trees

1B1b Implementing Data Structures Lists, Hash Tables and Trees 1B1b Implementing Data Structures Lists, Hash Tables and Trees Agenda Classes and abstract data types. Containers. Iteration. Lists Hash Tables Trees Note here we only deal with the implementation of data

More information

Linked lists. Insert Delete Lookup Doubly-linked lists. Lecture 6: Linked Lists

Linked lists. Insert Delete Lookup Doubly-linked lists. Lecture 6: Linked Lists Linked lists Insert Delete Lookup Doubly-linked lists Lecture 6: Linked Lists Object References When you declare a variable of a non-primitive type you are really declaring a reference to that object String

More information

Gray Codes for Reflectable Languages

Gray Codes for Reflectable Languages Gray Codes for Refletable Languages Yue Li Joe Sawada Marh 8, 2008 Abstrat We lassify a type of language alled a refletable language. We then develop a generi algorithm that an be used to list all strings

More information

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR

MULTIMEDIA COLLEGE JALAN GURNEY KIRI KUALA LUMPUR STUDENT IDENTIFICATION NO MULTIMEDIA COLLEGE JALAN GURNEY KIRI 54100 KUALA LUMPUR FIFTH SEMESTER FINAL EXAMINATION, 2014/2015 SESSION PSD2023 ALGORITHM & DATA STRUCTURE DSEW-E-F-2/13 25 MAY 2015 9.00 AM

More information

1. The collection of the vowels in the word probability. 2. The collection of real numbers that satisfy the equation x 9 = 0.

1. The collection of the vowels in the word probability. 2. The collection of real numbers that satisfy the equation x 9 = 0. C HPTER 1 SETS I. DEFINITION OF SET We begin our study of probability with the disussion of the basi onept of set. We assume that there is a ommon understanding of what is meant by the notion of a olletion

More information

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A.

Compilation Lecture 11a. Register Allocation Noam Rinetzky. Text book: Modern compiler implementation in C Andrew A. Compilation 0368-3133 Leture 11a Text book: Modern ompiler implementation in C Andrew A. Appel Register Alloation Noam Rinetzky 1 Registers Dediated memory loations that an be aessed quikly, an have omputations

More information

A {k, n}-secret Sharing Scheme for Color Images

A {k, n}-secret Sharing Scheme for Color Images A {k, n}-seret Sharing Sheme for Color Images Rastislav Luka, Konstantinos N. Plataniotis, and Anastasios N. Venetsanopoulos The Edward S. Rogers Sr. Dept. of Eletrial and Computer Engineering, University

More information

HEXA: Compact Data Structures for Faster Packet Processing

HEXA: Compact Data Structures for Faster Packet Processing Washington University in St. Louis Washington University Open Sholarship All Computer Siene and Engineering Researh Computer Siene and Engineering Report Number: 27-26 27 HEXA: Compat Data Strutures for

More information

List: a sequence of cells in which each cell contains a data item of type Object a reference to the next cell in the sequence (null if this

List: a sequence of cells in which each cell contains a data item of type Object a reference to the next cell in the sequence (null if this Lists 1 Overview Arrays Random access:! Fixed size: cannot grow on demand after creation: " Characteristics of some alications: do not need random access require a data structure that can grow and shrink

More information

WORKSHOP 20 CREATING PCL FUNCTIONS

WORKSHOP 20 CREATING PCL FUNCTIONS WORKSHOP 20 CREATING PCL FUNCTIONS WS20-1 WS20-2 Problem Desription This exerise involves reating two PCL funtions that an be used to easily hange the view of a model. The PCL funtions are reated by reording

More information

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System

Algorithms, Mechanisms and Procedures for the Computer-aided Project Generation System Algorithms, Mehanisms and Proedures for the Computer-aided Projet Generation System Anton O. Butko 1*, Aleksandr P. Briukhovetskii 2, Dmitry E. Grigoriev 2# and Konstantin S. Kalashnikov 3 1 Department

More information

Interconnection Styles

Interconnection Styles Interonnetion tyles oftware Design Following the Export (erver) tyle 2 M1 M4 M5 4 M3 M6 1 3 oftware Design Following the Export (Client) tyle e 2 e M1 M4 M5 4 M3 M6 1 e 3 oftware Design Following the Export

More information

CSE 2123 Recursion. Jeremy Morris

CSE 2123 Recursion. Jeremy Morris CSE 2123 Recursion Jeremy Morris 1 Past Few Weeks For the past few weeks we have been focusing on data structures Classes & Object-oriented programming Collections Lists, Sets, Maps, etc. Now we turn our

More information

Dynamic Algorithms Multiple Choice Test

Dynamic Algorithms Multiple Choice Test 3226 Dynami Algorithms Multiple Choie Test Sample test: only 8 questions 32 minutes (Real test has 30 questions 120 minutes) Årskort Name Eah of the following 8 questions has 4 possible answers of whih

More information

Total 100

Total 100 CS331 SOLUTION Problem # Points 1 10 2 15 3 25 4 20 5 15 6 15 Total 100 1. ssume you are dealing with a ompiler for a Java-like language. For eah of the following errors, irle whih phase would normally

More information

Parallelizing Frequent Web Access Pattern Mining with Partial Enumeration for High Speedup

Parallelizing Frequent Web Access Pattern Mining with Partial Enumeration for High Speedup Parallelizing Frequent Web Aess Pattern Mining with Partial Enumeration for High Peiyi Tang Markus P. Turkia Department of Computer Siene Department of Computer Siene University of Arkansas at Little Rok

More information

Summer Final Exam Review Session August 5, 2009

Summer Final Exam Review Session August 5, 2009 15-111 Summer 2 2009 Final Exam Review Session August 5, 2009 Exam Notes The exam is from 10:30 to 1:30 PM in Wean Hall 5419A. The exam will be primarily conceptual. The major emphasis is on understanding

More information

CS32 Discussion Week 3

CS32 Discussion Week 3 CS32 Discussion Week 3 Muhao Chen muhaochen@ucla.edu http://yellowstone.cs.ucla.edu/~muhao/ 1 Outline Doubly Linked List Sorted Linked List Reverse a Linked List 2 Doubly Linked List A linked list where

More information

Outline. CS38 Introduction to Algorithms. Administrative Stuff. Administrative Stuff. Motivation/Overview. Administrative Stuff

Outline. CS38 Introduction to Algorithms. Administrative Stuff. Administrative Stuff. Motivation/Overview. Administrative Stuff Outline CS38 Introdution to Algorithms Leture 1 April 1, 2014 administrative stuff motivation and overview of the ourse stale mathings example graphs, representing graphs graph traversals (BFS, DFS) onnetivity,

More information

ADTs, Arrays, Linked Lists

ADTs, Arrays, Linked Lists 1 ADTs, Arrays, Linked Lists Outline and Required Reading: ADTs ( 2.1) Using Arrays ( 3.1) Linked Lists ( 3.2, 3.3, 3.4) CSE 2011, Winter 2017 Instructor: N. Vlajic Data Type 2 A data type is a classification

More information

Discussion 2C Notes (Week 3, January 21) TA: Brian Choi Section Webpage:

Discussion 2C Notes (Week 3, January 21) TA: Brian Choi Section Webpage: Discussion 2C Notes (Week 3, January 21) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs32 Abstraction In Homework 1, you were asked to build a class called Bag. Let

More information

PBFT: A Byzantine Renaissance. The Setup. What could possibly go wrong? The General Idea. Practical Byzantine Fault-Tolerance (CL99, CL00)

PBFT: A Byzantine Renaissance. The Setup. What could possibly go wrong? The General Idea. Practical Byzantine Fault-Tolerance (CL99, CL00) PBFT: A Byzantine Renaissane Pratial Byzantine Fault-Tolerane (CL99, CL00) first to be safe in asynhronous systems live under weak synhrony assumptions -Byzantine Paos! The Setup Crypto System Model Asynhronous

More information

Cryptol Crib Sheet 1

Cryptol Crib Sheet 1 Cryptol Crib Sheet 1 1 To Use Cryptol: 1. From the linux ommand line: prompt> to get this: Cryptol version 1.8.4, Copyright (C) 2004-2008 Galois, In. www..net Type :? for help Cryptol> 2. To load a soure

More information

PathRings. Manual. Version 1.0. Yongnan Zhu December 16,

PathRings. Manual. Version 1.0. Yongnan Zhu   December 16, PathRings Version 1.0 Manual Yongnan Zhu E-mail: yongnan@umb.edu Deember 16, 2014-1 - PathRings This tutorial introdues PathRings, the user interfae and the interation. For better to learn, you will need

More information

Batch Auditing for Multiclient Data in Multicloud Storage

Batch Auditing for Multiclient Data in Multicloud Storage Advaned Siene and Tehnology Letters, pp.67-73 http://dx.doi.org/0.4257/astl.204.50. Bath Auditing for Multilient Data in Multiloud Storage Zhihua Xia, Xinhui Wang, Xingming Sun, Yafeng Zhu, Peng Ji and

More information

Introductory Programming, IMM, DTU Systematic Software Test. Software test (afprøvning) Motivation. Structural test and functional test

Introductory Programming, IMM, DTU Systematic Software Test. Software test (afprøvning) Motivation. Structural test and functional test Introdutory Programming, IMM, DTU Systemati Software Test Peter Sestoft a Programs often ontain unintended errors how do you find them? Strutural test Funtional test Notes: Systemati Software Test, http://www.dina.kvl.dk/

More information

Torpedo Trajectory Visual Simulation Based on Nonlinear Backstepping Control

Torpedo Trajectory Visual Simulation Based on Nonlinear Backstepping Control orpedo rajetory Visual Simulation Based on Nonlinear Bakstepping Control Peng Hai-jun 1, Li Hui-zhou Chen Ye 1, 1. Depart. of Weaponry Eng, Naval Univ. of Engineering, Wuhan 400, China. Depart. of Aeronautial

More information

EXODUS II: A Finite Element Data Model

EXODUS II: A Finite Element Data Model SAND92-2137 Unlimited Release Printed November 1995 Distribution Category UC-705 EXODUS II: A Finite Element Data Model Larry A. Shoof, Vitor R. Yarberry Computational Mehanis and Visualization Department

More information

Dynamic Data Structures

Dynamic Data Structures Dynamic Data Structures We have seen that the STL containers vector, deque, list, set and map can grow and shrink dynamically. We now examine how some of these containers can be implemented in C++. To

More information

Re-programming a many-to-many merge with Hash Objects

Re-programming a many-to-many merge with Hash Objects Re-programming a many-to-many merge with Hash Objets CS05 PhUSE 2012 Budapest D. J. Garbutt 17 Otober 2012 Why? 1 In this talk I will demonstrate how you an re-program a many-to-many merge using hash objets

More information

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation

COMP 181. Prelude. Intermediate representations. Today. Types of IRs. High-level IR. Intermediate representations and code generation Prelude COMP 181 Intermediate representations and ode generation November, 009 What is this devie? Large Hadron Collider What is a hadron? Subatomi partile made up of quarks bound by the strong fore What

More information

Design Patterns. Patterns.mkr Page 223 Wednesday, August 25, :17 AM

Design Patterns. Patterns.mkr Page 223 Wednesday, August 25, :17 AM Patterns.mkr Page 223 Wednesday, August 25, 1999 2:17 AM Design Patterns n the earlier hapters, we have seen that a entral goal of objet-oriented programming is the support of ode reuse. This hapter examines

More information

KENDRIYA VIDYALAYA SANGATHAN(PATNA REGION) CLASS XII SAMPLE PAPER BOARD EXAMINATION

KENDRIYA VIDYALAYA SANGATHAN(PATNA REGION) CLASS XII SAMPLE PAPER BOARD EXAMINATION KENDRIYA VIDYALAYA SANGATHAN(PATNA REGION) CLASS XII SAMPLE PAPER BOARD EXAMINATION 0-5 Time Allotted: Hrs. Subjet: COMPUTER SCIENCE Max. Marks: 70 a Differentiate between Call by value and Call by referene?

More information

COMP 202 Recursion. CONTENTS: Recursion. COMP Recursion 1

COMP 202 Recursion. CONTENTS: Recursion. COMP Recursion 1 COMP 202 Recursion CONTENTS: Recursion COMP 202 - Recursion 1 Recursive Thinking A recursive definition is one which uses the word or concept being defined in the definition itself COMP 202 - Recursion

More information

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract

Learning Convention Propagation in BeerAdvocate Reviews from a etwork Perspective. Abstract CS 9 Projet Final Report: Learning Convention Propagation in BeerAdvoate Reviews from a etwork Perspetive Abstrat We look at the way onventions propagate between reviews on the BeerAdvoate dataset, and

More information

Machine Vision. Laboratory Exercise Name: Student ID: S

Machine Vision. Laboratory Exercise Name: Student ID: S Mahine Vision 521466S Laoratory Eerise 2011 Name: Student D: General nformation To pass these laoratory works, you should answer all questions (Q.y) with an understandale handwriting either in English

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 07: Linked Lists MOUNA KACEM mouna@cs.wisc.edu Spring 2019 Linked Lists 2 Introduction Linked List Abstract Data Type SinglyLinkedList ArrayList Keep in Mind Introduction:

More information

1 Deletion in singly linked lists (cont d) 1 Other Functions. 1 Doubly Linked Lists. 1 Circular lists. 1 Linked lists vs. arrays

1 Deletion in singly linked lists (cont d) 1 Other Functions. 1 Doubly Linked Lists. 1 Circular lists. 1 Linked lists vs. arrays Unit 3: Linked Lists Part 2: More on Linked Lists 1 Deletion in singly linked lists (cont d) 1 Other Functions Engineering 4892: Data Structures 1 Doubly Linked Lists Faculty of Engineering & Applied Science

More information

Name Section Number. CS210 Exam #3 *** PLEASE TURN OFF ALL CELL PHONES*** Practice

Name Section Number. CS210 Exam #3 *** PLEASE TURN OFF ALL CELL PHONES*** Practice Name Section Number CS210 Exam #3 *** PLEASE TURN OFF ALL CELL PHONES*** Practice All Sections Bob Wilson OPEN BOOK / OPEN NOTES: You will have all 90 minutes until the start of the next class period.

More information

CSC 172 Data Structures and Algorithms. Lecture #9 Spring 2018

CSC 172 Data Structures and Algorithms. Lecture #9 Spring 2018 CSC 172 Data Structures and Algorithms Lecture #9 Spring 2018 SINGLY LINKED LIST 3.1.3 Linked lists We will consider these for Singly linked lists Doubly linked lists Basic Singly Linked List class Node

More information

The Alpha Torque and Quantum Physics

The Alpha Torque and Quantum Physics The Alpha Torque and Quantum Physis Zhiliang Cao, Henry Cao williamao15000@yahoo.om, henry.gu.ao@gmail.om July 18, 010 Abstrat In the enter of the unierse, there isn t a super massie blak hole or any speifi

More information

Computational Biology 6.095/6.895 Database Search Lecture 5 Prof. Piotr Indyk

Computational Biology 6.095/6.895 Database Search Lecture 5 Prof. Piotr Indyk Computational Biology 6.095/6.895 Database Searh Leture 5 Prof. Piotr Indyk Previous letures Leture -3: Global alignment in O(mn) Dynami programming Leture -2: Loal alignment, variants, in O(mn) Leture

More information

Multicore Software and Applications

Multicore Software and Applications Multiore Software and Appliations Nir Shavit MIT CSAIL Where do we ome from? What are we? Where are we going? Paul Gauguin [Image Credit: Museum of Fine Arts Boston] 64 Cores Today, 1000 in Near Future

More information

1 P age DS & OOPS / UNIT II

1 P age DS & OOPS / UNIT II UNIT II Stacks: Definition operations - applications of stack. Queues: Definition - operations Priority queues - De que Applications of queue. Linked List: Singly Linked List, Doubly Linked List, Circular

More information

PASCAL 64. "The" Pascal Compiler for the Commodore 64. A Data Becker Product. >AbacusiII Software P.O. BOX 7211 GRAND RAPIDS, MICK 49510

PASCAL 64. The Pascal Compiler for the Commodore 64. A Data Becker Product. >AbacusiII Software P.O. BOX 7211 GRAND RAPIDS, MICK 49510 PASCAL 64 "The" Pasal Compiler for the Commodore 64 A Data Beker Produt >AbausiII Software P.O. BOX 7211 GRAND RAPIDS, MICK 49510 7010 COPYRIGHT NOTICE ABACUS Software makes this pakage available for use

More information

Chapter 17: Linked Lists

Chapter 17: Linked Lists Chapter 17: Linked Lists 17.1 Introduction to the Linked List ADT Introduction to the Linked List ADT Linked list: set of data structures (nodes) that contain references to other data structures list head

More information

OvidSP Quick Reference Card

OvidSP Quick Reference Card OvidSP Quik Referene Card Searh in any of several dynami modes, ombine results, apply limits, use improved researh tools, develop strategies, save searhes, set automati alerts and RSS feeds, share results...

More information

Colouring contact graphs of squares and rectilinear polygons de Berg, M.T.; Markovic, A.; Woeginger, G.

Colouring contact graphs of squares and rectilinear polygons de Berg, M.T.; Markovic, A.; Woeginger, G. Colouring ontat graphs of squares and retilinear polygons de Berg, M.T.; Markovi, A.; Woeginger, G. Published in: nd European Workshop on Computational Geometry (EuroCG 06), 0 Marh - April, Lugano, Switzerland

More information

CMSC 341 Lecture 7 Lists

CMSC 341 Lecture 7 Lists CMSC 341 Lecture 7 Lists Today s Topics Linked Lists vs Arrays Nodes Using Linked Lists Supporting Actors (member variables) Overview Creation Traversal Deletion UMBC CMSC 341 Lists 2 Linked Lists vs Arrays

More information

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks

Query Evaluation Overview. Query Optimization: Chap. 15. Evaluation Example. Cost Estimation. Query Blocks. Query Blocks Query Evaluation Overview Query Optimization: Chap. 15 CS634 Leture 12 SQL query first translated to relational algebra (RA) Atually, some additional operators needed for SQL Tree of RA operators, with

More information

Chapter 2: Introduction to Maple V

Chapter 2: Introduction to Maple V Chapter 2: Introdution to Maple V 2-1 Working with Maple Worksheets Try It! (p. 15) Start a Maple session with an empty worksheet. The name of the worksheet should be Untitled (1). Use one of the standard

More information

TREES Lecture 10 CS2110 Spring2014

TREES Lecture 10 CS2110 Spring2014 TREES Lecture 10 CS2110 Spring2014 Readings and Homework 2 Textbook, Chapter 23, 24 Homework: A thought problem (draw pictures!) Suppose you use trees to represent student schedules. For each student there

More information

Extracting Partition Statistics from Semistructured Data

Extracting Partition Statistics from Semistructured Data Extrating Partition Statistis from Semistrutured Data John N. Wilson Rihard Gourlay Robert Japp Mathias Neumüller Department of Computer and Information Sienes University of Strathlyde, Glasgow, UK {jnw,rsg,rpj,mathias}@is.strath.a.uk

More information

1. Introduction. 2. The Probable Stope Algorithm

1. Introduction. 2. The Probable Stope Algorithm 1. Introdution Optimization in underground mine design has reeived less attention than that in open pit mines. This is mostly due to the diversity o underground mining methods and omplexity o underground

More information

R10 SET - 1. Code No: R II B. Tech I Semester, Supplementary Examinations, May

R10 SET - 1. Code No: R II B. Tech I Semester, Supplementary Examinations, May www.jwjobs.net R10 SET - 1 II B. Tech I Semester, Supplementary Examinations, May - 2012 (Com. to CSE, IT, ECC ) Time: 3 hours Max Marks: 75 *******-****** 1. a) Which of the given options provides the

More information

SAND Unlimited Release Printed November 1995 Updated November 29, :26 PM EXODUS II: A Finite Element Data Model

SAND Unlimited Release Printed November 1995 Updated November 29, :26 PM EXODUS II: A Finite Element Data Model SAND92-2137 Unlimited Release Printed November 1995 Updated November 29, 2006 12:26 PM EXODUS II: A Finite Element Data Model Gregory D. Sjaardema (updated version) Larry A. Shoof, Vitor R. Yarberry Computational

More information

Fundamentals of Data Structure

Fundamentals of Data Structure Fundamentals of Data Structure Set-1 1. Which if the following is/are the levels of implementation of data structure A) Abstract level B) Application level C) Implementation level D) All of the above 2.

More information

An Efficient and Scalable Approach to CNN Queries in a Road Network

An Efficient and Scalable Approach to CNN Queries in a Road Network An Effiient and Salable Approah to CNN Queries in a Road Network Hyung-Ju Cho Chin-Wan Chung Dept. of Eletrial Engineering & Computer Siene Korea Advaned Institute of Siene and Tehnology 373- Kusong-dong,

More information

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR

A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Malaysian Journal of Computer Siene, Vol 10 No 1, June 1997, pp 36-41 A DYNAMIC ACCESS CONTROL WITH BINARY KEY-PAIR Md Rafiqul Islam, Harihodin Selamat and Mohd Noor Md Sap Faulty of Computer Siene and

More information

The recursive decoupling method for solving tridiagonal linear systems

The recursive decoupling method for solving tridiagonal linear systems Loughborough University Institutional Repository The reursive deoupling method for solving tridiagonal linear systems This item was submitted to Loughborough University's Institutional Repository by the/an

More information

Winter 2016 COMP-250: Introduction to Computer Science. Lecture 6, January 28, 2016

Winter 2016 COMP-250: Introduction to Computer Science. Lecture 6, January 28, 2016 Winter 2016 COMP-250: Introduction to Computer Science Lecture 6, January 28, 2016 Java Generics element next _, Java Generics Java Generics (Doubly) Linked List (Doubly) Linked List Node element next

More information

Elementary Data Structures: Lists

Elementary Data Structures: Lists Elementary Data Structures: Lists CSE 2320 Algorithms and Data Structures Based on presentation by Vassilis Athitsos University of Texas at Arlington 1 Pointers What to Review Pointers and Memory : http://cslibrary.stanford.edu/102/pointersandmemory.pdf

More information

Introduction to Computer Science II CS S-20 Linked Lists III

Introduction to Computer Science II CS S-20 Linked Lists III Introduction to Computer Science II CS112-2012S-20 Linked Lists III David Galles Department of Computer Science University of San Francisco 20-0: Linked List Previous Practical Example: removeat(int index)

More information

International Journal of Advancements in Research & Technology, Volume 3, Issue 3, March-2014 ISSN

International Journal of Advancements in Research & Technology, Volume 3, Issue 3, March-2014 ISSN International Journal of Advanements in Researh & Tehnology, Volume 3, Issue 3, Marh-204 ISSN 2278-773 47 Phrase Based Doument Retrieving y Comining Suffix Tree index data struture and Boyer- Moore faster

More information

About this exam review

About this exam review Final Exam Review About this exam review I ve prepared an outline of the material covered in class May not be totally complete! Exam may ask about things that were covered in class but not in this review

More information

Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue

Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue Queues CSE 2011 Fall 2009 9/28/2009 7:56 AM 1 Queues: FIFO Insertions and removals follow the Fist-In First-Out rule: Insertions: at the rear of the queue Removals: at the front of the queue Applications,

More information

Adobe Certified Associate

Adobe Certified Associate Adobe Certified Assoiate About the Adobe Certified Assoiate (ACA) Program The Adobe Certified Assoiate (ACA) program is for graphi designers, Web designers, video prodution designers, and digital professionals

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

What about asynchronous systems? The Game of Paxos. Quorum Systems. The Game of Paxos

What about asynchronous systems? The Game of Paxos. Quorum Systems. The Game of Paxos What about asynhronous systems? FLP says onsensus annot be solved... For benign failures, Paos provides net best thing always safe And for Byzantine failures? The Game of Paos Proesses are ompeting to

More information

Chapter 12 Supplement: Recursion with Java 1.5. Mr. Dave Clausen La Cañada High School

Chapter 12 Supplement: Recursion with Java 1.5. Mr. Dave Clausen La Cañada High School Chapter 12 Supplement: Recursion with Java 1.5 La Cañada High School Recursion: Definitions Recursion The process of a subprogram (method) calling itself. A clearly defined stopping state must exist. The

More information

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications

System-Level Parallelism and Throughput Optimization in Designing Reconfigurable Computing Applications System-Level Parallelism and hroughput Optimization in Designing Reonfigurable Computing Appliations Esam El-Araby 1, Mohamed aher 1, Kris Gaj 2, arek El-Ghazawi 1, David Caliga 3, and Nikitas Alexandridis

More information

Programming II (CS300)

Programming II (CS300) 1 Programming II (CS300) Chapter 07: Linked Lists and Iterators MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Linked Lists 2 Introduction Linked List Abstract Data Type General Implementation of the ListADT

More information

[2:3] Linked Lists, Stacks, Queues

[2:3] Linked Lists, Stacks, Queues [2:3] Linked Lists, Stacks, Queues Helpful Knowledge CS308 Abstract data structures vs concrete data types CS250 Memory management (stack) Pointers CS230 Modular Arithmetic !!!!! There s a lot of slides,

More information

Solutions to Tutorial 2 (Week 9)

Solutions to Tutorial 2 (Week 9) The University of Syney Shool of Mathematis an Statistis Solutions to Tutorial (Week 9) MATH09/99: Disrete Mathematis an Graph Theory Semester, 0. Determine whether eah of the following sequenes is the

More information

Australian Journal of Basic and Applied Sciences. A new Divide and Shuffle Based algorithm of Encryption for Text Message

Australian Journal of Basic and Applied Sciences. A new Divide and Shuffle Based algorithm of Encryption for Text Message ISSN:1991-8178 Australian Journal of Basi and Applied Sienes Journal home page: www.ajbasweb.om A new Divide and Shuffle Based algorithm of Enryption for Text Message Dr. S. Muthusundari R.M.D. Engineering

More information

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering

A Novel Bit Level Time Series Representation with Implication of Similarity Search and Clustering A Novel Bit Level Time Series Representation with Impliation of Similarity Searh and lustering hotirat Ratanamahatana, Eamonn Keogh, Anthony J. Bagnall 2, and Stefano Lonardi Dept. of omputer Siene & Engineering,

More information

Reading Object Code. A Visible/Z Lesson

Reading Object Code. A Visible/Z Lesson Reading Objet Code A Visible/Z Lesson The Idea: When programming in a high-level language, we rarely have to think about the speifi ode that is generated for eah instrution by a ompiler. But as an assembly

More information

Linear Structures. Linear Structure. Implementations. Array details. List details. Operations 4/18/2013

Linear Structures. Linear Structure. Implementations. Array details. List details. Operations 4/18/2013 Linear Structure Linear Structures Chapter 4 CPTR 318 Every non-empty linear structure has A unique element called first A unique element called last Every element except last has a unique successor Every

More information

Lecture Notes CPSC 122 (Fall 2014) Today Quiz 7 Doubly Linked Lists (Unsorted) List ADT Assignments Program 8 and Reading 6 out S.

Lecture Notes CPSC 122 (Fall 2014) Today Quiz 7 Doubly Linked Lists (Unsorted) List ADT Assignments Program 8 and Reading 6 out S. Today Quiz 7 Doubly Linked Lists (Unsorted) List ADT Assignments Program 8 and Reading 6 out S. Bowers 1 of 11 Doubly Linked Lists Each node has both a next and a prev pointer head \ v1 v2 v3 \ tail struct

More information

Recursion CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2011

Recursion CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2011 Recursion CSCI 136: Fundamentals of Computer Science II Keith Vertanen Copyright 2011 Recursion A method calling itself Overview A new way of thinking about a problem Divide and conquer A powerful programming

More information

MatLab Basics: Data type, Matrices, Graphics

MatLab Basics: Data type, Matrices, Graphics MatLa Basis: Data type, Matries, Graphis 1 Plotting Data 0.8 0.6 0.4 os(t/10) 0.2 0-0.2-0.4-0.6 X: 78 Y: 0.05396-0.8-1 0 10 20 30 40 50 60 70 80 90 100 t Figure y MIT OCW. MatLa logial har NUMERIC ell

More information

Solution for Data Structure

Solution for Data Structure Solution for Data Structure May 2016 INDEX Q1 a 2-3 b 4 c. 4-6 d 7 Q2- a 8-12 b 12-14 Q3 a 15-18 b 18-22 Q4- a 22-35 B..N.A Q5 a 36-38 b N.A Q6- a 39-42 b 43 1 www.brainheaters.in Q1) Ans: (a) Define ADT

More information