Recursion examples: Problem 2. (More) Recursion and Lists. Tail recursion. Recursion examples: Problem 2. Recursion examples: Problem 3
|
|
- Liliana Douglas
- 6 years ago
- Views:
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
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 informationData 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 informationRun 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 informationRuntime 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 informationAlgorithms 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 informationDoubly 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 informationLecture 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 informationDepartment 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 informationO 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 informationBack 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 informationOutline: 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 informationDynamic 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 information1 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 informationParametric 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 information1 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 informationAshish 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 informationImplementation. 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 informationL11 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 information1B1b 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 informationLinked 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 informationGray 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 informationMULTIMEDIA 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 information1. 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 informationCompilation 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 informationA {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 informationHEXA: 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 informationList: 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 informationWORKSHOP 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 informationAlgorithms, 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 informationInterconnection 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 informationCSE 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 informationDynamic 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 informationTotal 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 informationParallelizing 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 informationSummer 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 informationCS32 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 informationOutline. 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 informationADTs, 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 informationDiscussion 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 informationPBFT: 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 informationCryptol 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 informationPathRings. 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 informationBatch 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 informationIntroductory 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 informationTorpedo 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 informationEXODUS 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 informationDynamic 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 informationRe-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 informationCOMP 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 informationDesign 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 informationKENDRIYA 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 informationCOMP 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 informationLearning 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 informationMachine 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 informationProgramming 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 information1 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 informationName 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 informationCSC 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 informationThe 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 informationComputational 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 informationMulticore 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 information1 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 informationPASCAL 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 informationChapter 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 informationOvidSP 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 informationColouring 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 informationCMSC 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 informationQuery 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 informationChapter 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 informationTREES 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 informationExtracting 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 information1. 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 informationR10 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 informationSAND 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 informationFundamentals 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 informationAn 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 informationA 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 informationThe 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 informationWinter 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 informationElementary 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 informationIntroduction 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 informationInternational 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 informationAbout 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 informationInsertions 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 informationAdobe 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 informationCOMP 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 informationWhat 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 informationChapter 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 informationSystem-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 informationProgramming 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 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 informationSolutions 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 informationAustralian 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 informationA 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 informationReading 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 informationLinear 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 informationLecture 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 informationRecursion 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 informationMatLab 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 informationSolution 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