CS Data Structure Spring Answer Key- Assignment #3

Size: px
Start display at page:

Download "CS Data Structure Spring Answer Key- Assignment #3"

Transcription

1 CS Data Structure Spring Answer Key- Assignment #3 Due Sunday, Mar 3 rd. Q1): Find Big-O for binary search algorithm, show your steps. Solution 1- The task is to search for a given value (called key) inside a sorted array; if the middle element of the array = the given value (key), then it is found and stop; Otherwise, there are two possible cases to happen: 2. If the key value is less than the middle element of the array. So, get the 1 st half of the array and repeat step 1 recursively. 3. If the key value is greater than the middle element of the array. So, get the 2 nd half of the array and repeat step 1 recursively. int binarysearch(int arr[], int value, int left, int right) while (left <= right) int middle = (left + right) / 2; return -1; if (arr[middle] == value) return middle; if (arr[middle] > value) right = middle - 1; left = middle + 1; Complexity analysis Steps : T(n)=1+T(n/2) T(n)=1+1+T(n/4) T(n) = k+t (n/2 k ) 1

2 Suppose : n = 2 k T(n) = k+t( 2 k /2 k ) T(n) = k+o(1) n=2 k k = log n T(n) = O(log n) Q2) Assume that a double linked list is implemented with a header node, and tail node. Write a class that includes methods to: a. return the size of the linked list b. print the linked list c. test if a value x is contained in the linked list d. add a value x if it is not already contained in the linked list and maintain the linked list sorted e. remove a value x if it is contained in the linked list. Solution: /* Name: ID: Description: Qs 2 - Double Linked List Hw # : 3 */ #include <iostream> using namespace std; // Structure to identify a node struct node int data; node * next; // pointer for next node node *prev; node(int _data, node * _next, node *_prev) data=_data; next=_next; prev=_prev; // pointer for previous node ; // class declaration to form a double linked list class dlinklist private: node *head; public: //CONSTRUCTOR dlinklist() head=null; //INSERT an element void insert(int x) head=new node(x,null,null); // create the first node 2

3 if(x < head->data) // given data value < the value of 1st node node *p=new node(x,head,null); head->prev = p; head = p; node *q = head ; while (q->next!=null) if( x==q->data ) cout<<x<<" This number is exist "<<endl; break; //check the data of the next node if( x < q->next->data) node *p=new node(x, q->next, q); q->next->prev = p; q->next = p; break ; q = q->next ; //reaching the end of the linked List if(q->next == NULL) node *p = new node(x, NULL, q); q->next = p; //Return the SIZE of a Linked list. int size() int count=0; node *p=head; if (p==null) return count; while(p!=null) // Empty Linked List 3

4 count++; p=p->next; return count; //SEARCH for an element bool search(int x) node *p=head; while(p!=null) if(p->data==x) return true; p=p->next; // empty Linked List // the key is found //PRINT elements inside the Linked list. void print() cout<<endl; node *p=head; if(p==null) cout<<" << Empty linkedlist >>"<<endl; while(p!=null) cout<<p->data<<"->"; p=p->next; cout<<endl; //DELETE an element from the list. void delet(int key) cout<<"<< No values to delete >>"<<endl; if(head->data==key) head=head->next; cout<<"<< Removed.. >> "<<endl; 4

5 node *p = head; while(p->next!=null) if(p->next->data==key) if(p->next->next==null) p->next->prev = NULL; p->next = NULL; cout<<" << Deleted >> "<<endl; p->next = p->next->next; p->next->prev = p; cout<<" << deleted >> "<<endl; break; p=p->next; int main() dlinklist a; int n; cout<<" The Menu "<<endl; cout<<" "<<endl; cout<<endl; cout<<" 1- for return the size of linked list "<<endl; cout<<" 2- for print "<<endl; cout<<" 3- for search "<<endl; cout<<" 4- for add value "<<endl; cout<<" 5- for remove value "<<endl; cout<<" 6- To Exit "<<endl; cout<<" "<<endl; cout<<endl; cout<<" chose your option from the menu "<<endl; cin>>n; while(n!=6) if(n==1) cout<<" the size is = "<<a.size()<<endl; if(n==2) a.print(); if(n==3) int key; 5

6 cout<<" Enter the number that you are searching for "<<endl; cin>>key; if(a.search(key)) cout<<" ** Found ** "<<endl; cout<<" ** Not Found ** "<<endl; if(n==4) int n; cout<<" Enter your value... or Press -1 to stop >> " <<endl; cin>>n; while( n!= -1) a.insert(n); cin>>n; if(n==5) int n; cout<<" Enter the value that you want to remove"<<endl; cin>>n; a.delet(n); if(n==6) int x; cout<<" Enter the number that you want to swap"<<endl; cin>>x; a.swap(x); cout<<endl; cout<<" ** Chose your option from the main menu ** "<<endl; cin>>n; Q3) Write a function to swap two adjacent elements by adjusting only the links (and not the data) using: a. Singly linked lists. b. Doubly linked lists. c. What the difference between them. Solution: /* Name: ID: Description: Qs 3 swap methods of Linked Lists Hw # : 3 */ 6

7 //swap method for double Linked List void swap(int key) cout<<" Empty link list "<<endl; if(head->data==key) if(head->next!=null) node *c = head->next; head->next = c->next; head->next->prev = head; c->prev = NULL; c->next = head; head->prev = c; head = c; node *c=head; while(c->next!=null) if(c->data == key) node *p = c->next; p->prev = c->prev; c->next = p->next; p->next = c ; c->prev = p; p->prev->next = p; if(c->next!=null) c->next->prev = c; break; c = c->next; At a singly linked list we have to exchange the next pointer for the swapped nodes. But, at a double linked list we have to exchange the previous pointer and the next pointer for the swapped nodes. 7

8 Q4) Efficiently implement a stack class with the following methods: 1- push(x): Insert item x on the top of the stack. 2- pop() : Remove the top item from the stack and return it. 3- isempty(): Return true if the stack is empty. 4- Solution: /* Question 4 : Name: ID: Description: Qs 4 Implement a STACK Hw # : 3 */ #include<iostream> using namespace std; //construct a node struct node int data; node *next; node(int _data, node * _next) data = _data; next = _next; //construct a class stack class stack node *head; public: stack() head=null; // to insert (push) an element into a stack void push(int x) head=new node(x,null); node *p=new node(x,head); head=p; // to pop (delete) an element from a stack int pop() int s; 8

9 cout<<" empty stack "<<endl; s=head->data; head=head->next; return s; bool isempty() return true; void print() node *p=head; if( isempty() ) cout<<"empty stack"<<endl; while(p!=null) cout<<p->data<<"->"; p=p->next; Q5) Using stack class write a program to check for balancing symbols /* */, (), [], and. Solution: /* Question 5 : Name: ID: Description: Qs 4 Balanced STACK Hw # : 3 */ #include<iostream> using namespace std; struct node int data; node * next; node(int _data, node * _next) data=_data; next=_next; ; class stack public: 9

10 node *head; public: stack() head=null; bool isempty() //method empty to check the stack return head==null; void push(int x) //to insert an element in front of a stack head=new node(x,head); int pop() // to delete an element from front of stack if(isempty()) cout<<"the stack is empty"<<endl; int x; x=head->data; head=head->next; return x; void print() node *z=head; if(z==null) cout<<"stack is Empty "<<endl; while(z!=null) cout<<z->data<<","; z=z->next; bool balance() // method to check the balancing expr char s[10]; char c; char z; cout<<"enter the expression that you would like to check: "<<endl; cin>>s; int i=0; while(s[i]!= '\0') 10

11 if(s[i] == '' s[i]=='[' s[i]== '(') push(s[i]); if(s[i]== '/') push(s[i]); i++; push(s[i]); i++; continue; if(s[i]== '') c=pop(); if(c!='') if(s[i]== ']') c=pop(); if(c!='[') if(s[i]==')') c=pop(); if(c!='(') if(s[i]=='*') c=pop(); z=pop(); i++; if(c!='*' z!='/') i++; if(isempty()) return true; ; int main() // main method stack a; if(a.balance()) cout<<"the expression is balanced "<<endl; cout<<"the expression isnot balanced"<<endl; system("pause"); return 0; 11

12 Q6) Using Stack Write a program to evaluate a postfix expression. Solution: /* Name: ID: Description: Qs 6 - Postfix Expression using Stack Hw # : 3 */ #include<iostream> #include<string> #include<sstream> using namespace std; struct stacktype ; int element[10]; int top; // creating the stack for 1 st time void create (stacktype &stack) stack.top=-1; // add data to the stack void push(stacktype & stack,int c) stack.top++; stack.element[stack.top]=c; // pop data from the stack int pop(stacktype &stack) int x; x=stack.element[stack.top]; stack.top--; return x; // check whether the stack is empty bool empty(stacktype stack ) if (stack.top ==-1) return true; int main() stacktype stack; 12

13 int num,num2,r,result; string str; int p; int i=0; create(stack); cout<<"enter Your Expressoin"<<endl; cin>>str; p=str[i]; while(p!='\0') // till end of string // if data contains a digit value is encountered if (isdigit(p)) push(stack,p); // operations are encountered if(p=='+') num=pop(stack); num2=pop(stack); r=num+num2 ; push(stack,r); if(p=='-') num=pop(stack); num2=pop(stack); r=num-num2; push(stack,r); if(p=='*') num=pop(stack); num2=pop(stack); r=num*num2; push(stack,r); if(p=='/') num=pop(stack); num2=pop(stack); r=num/num2; push(stack,r); i++; p=str[i]; /* displays the result */ cout<<"the result"<<" "<<pop(stack)<<endl; system ("pause"); return 0; 13

CS Data Structure Spring Answer Key- Assignment #4

CS Data Structure Spring Answer Key- Assignment #4 CS300-201 Data Structure Spring 2012 2013 Answer Key- Assignment #4 Due Sunday, Mar 3 rd. Q1): Write a program to convert an infix expression that includes (, ), +, -, *, /, and ^ exponentiation operator

More information

CS Data Structure Spring Answer Key- Assignment #2

CS Data Structure Spring Answer Key- Assignment #2 CS300-201 Data Structure Spring 2012 2013 Answer Key- Assignment #2 Due Sunday, Feb 17th. Q1): For each of the following five program fragments: a. Give an analysis of the running time (Big-Oh will do).

More information

Linked List using a Sentinel

Linked List using a Sentinel Linked List using a Sentinel Linked List.h / Linked List.h Using a sentinel for search Created by Enoch Hwang on 2/1/10. Copyright 2010 La Sierra University. All rights reserved. / #include

More information

CS 216 Exam 1 Fall SOLUTION

CS 216 Exam 1 Fall SOLUTION CS 216 Exam 1 Fall 2004 - SOLUTION Name: Lab Section: Email Address: Student ID # This exam is closed note, closed book. You will have an hour and fifty minutes total to complete the exam. You may NOT

More information

Data Structures using OOP C++ Lecture 9

Data Structures using OOP C++ Lecture 9 Stack A stack is an ordered group of homogeneous items or elements. The removal of existing items and the addition of new items can take place only at the top of the stack. The stack may be considered

More information

Linked List in Data Structure. By Prof. B J Gorad, BECSE, M.Tech CST, PHD(CSE)* Assistant Professor, CSE, SITCOE, Ichalkaranji,Kolhapur, Maharashtra

Linked List in Data Structure. By Prof. B J Gorad, BECSE, M.Tech CST, PHD(CSE)* Assistant Professor, CSE, SITCOE, Ichalkaranji,Kolhapur, Maharashtra Linked List in Data Structure By Prof. B J Gorad, BECSE, M.Tech CST, PHD(CSE)* Assistant Professor, CSE, SITCOE, Ichalkaranji,Kolhapur, Maharashtra Linked List Like arrays, Linked List is a linear data

More information

Wentworth Institute of Technology COMP201 Computer Science II Spring 2015 Derbinsky. Stacks and Queues. Lecture 11.

Wentworth Institute of Technology COMP201 Computer Science II Spring 2015 Derbinsky. Stacks and Queues. Lecture 11. Lecture 11 1 More Data Structures In this lecture we will use a linked list to implement two abstract data types (ADT) An ADT provides the interface, or what a data structure does We can then use code

More information

Data Structures Lab II. Binary Search Tree implementation

Data Structures Lab II. Binary Search Tree implementation Data Structures Lab II Binary Search Tree implementation Objectives: Making students able to understand basic concepts relating to Binary Search Tree (BST). Making students able to implement Binary Search

More information

Data Structures and Algorithms

Data Structures and Algorithms Data Structures and Algorithms First Semester 2017/2018 Linked Lists Eng. Anis Nazer Linked List ADT Is a list of nodes Each node has: data (can be any thing, int, char, Person, Point, day,...) link to

More information

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section

More information

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination

University of Illinois at Urbana-Champaign Department of Computer Science. First Examination University of Illinois at Urbana-Champaign Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2007 7p-9p, Thursday, March 1 Name: NetID: Lab Section

More information

[CSE10200] Programming Basis ( 프로그래밍기초 ) Chapter 9. Seungkyu Lee. Assistant Professor, Dept. of Computer Engineering Kyung Hee University

[CSE10200] Programming Basis ( 프로그래밍기초 ) Chapter 9. Seungkyu Lee. Assistant Professor, Dept. of Computer Engineering Kyung Hee University [CSE10200] Programming Basis ( 프로그래밍기초 ) Chapter 9 Seungkyu Lee Assistant Professor, Dept. of Computer Engineering Kyung Hee University CHAPTER 9 Pointers #1~2 Pointer int main () { int a; int b; int c;

More information

Jordan University of Science & Technology Department of Computer Science CS 211 Exam #1 (23/10/2010) -- Form A

Jordan University of Science & Technology Department of Computer Science CS 211 Exam #1 (23/10/2010) -- Form A Jordan University of Science & Technology Department of Computer Science CS 211 Exam #1 (23/10/2010) -- Form A Name: ID#: Section #: Day & Time: Instructor: Answer all questions as indicated. Closed book/closed

More information

More Group HW. #ifndef Stackh #define Stackh. #include <cstdlib> using namespace std;

More Group HW. #ifndef Stackh #define Stackh. #include <cstdlib> using namespace std; More Group HW The following code is contained in the file ex1stck.h. Fill in the blanks with the C++ statement(s) that will correctly finish the method. Each blank may be filled in with more than one statement.

More information

DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING EC6301 OBJECT ORIENTED PROGRAMMING AND DATA STRUCTURES

DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING EC6301 OBJECT ORIENTED PROGRAMMING AND DATA STRUCTURES DHANALAKSHMI COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING EC6301 OBJECT ORIENTED PROGRAMMING AND DATA STRUCTURES UNIT III LINEAR DATA STRUCTURES PART A 1. What is meant by data

More information

Linked List Tree Graph. Stack, Queue etc.

Linked List Tree Graph. Stack, Queue etc. Introduction to Data Structures Data Structure is a way of collecting and organising data in such a way that we can perform operations on these data in an effective way. Data Structures is about rendering

More information

Top of the Stack. Stack ADT

Top of the Stack. Stack ADT Module 3: Stack ADT Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Stack ADT Features (Logical View) A List that

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

Algorithm and Data Structures, Supplemental Solution 2010

Algorithm and Data Structures, Supplemental Solution 2010 Algorithm and Data Structures, Supplemental Solution 00 Question ( marks) (a) marks class Stack { public: void push(int x); int pop(void); bool isempty(); Stack() { top = NULL; void display(); ; private:

More information

Largest Online Community of VU Students

Largest Online Community of VU Students WWW.VUPages.com WWW.VUTUBE.EDU.PK http://forum.vupages.com Largest Online Community of VU Students MIDTERM EXAMINATION SEMESTER FALL 2003 CS301-DATA STRUCTURE Total Marks:86 Duration: 60min Instructions

More information

Linked Lists. Gaddis Ch. 17. CS 2308 :: Spring 2016 Molly O'Neil

Linked Lists. Gaddis Ch. 17. CS 2308 :: Spring 2016 Molly O'Neil Linked Lists Gaddis Ch. 17 CS 2308 :: Spring 2016 Molly O'Neil List ADT A list is an abstract data type representing an ordered sequence of values For example, both MP3 Player assignments have used lists:

More information

l Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive)

l Determine if a number is odd or even l Determine if a number/character is in a range - 1 to 10 (inclusive) - between a and z (inclusive) Final Exam Exercises Chapters 1-7 + 11 Write C++ code to: l Determine if a number is odd or even CS 2308 Fall 2016 Jill Seaman l Determine if a number/character is in a range - 1 to 10 (inclusive) - between

More information

Practice test for Midterm 1; solutions

Practice test for Midterm 1; solutions Practice test for Midterm 1; solutions November 1, 2 1 1 C++ review & UML diagrams Write a function which takes a vector of int and returns true if all the elements of the vector are positive ( 0) and

More information

Top of the Stack. Stack ADT

Top of the Stack. Stack ADT Module 3: Stack ADT Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu Stack ADT Features (Logical View) A List that

More information

CIS Fall Data Structures Midterm exam 10/16/2012

CIS Fall Data Structures Midterm exam 10/16/2012 CIS 2168 2012 Fall Data Structures Midterm exam 10/16/2012 Name: Problem 1 (30 points) 1. Suppose we have an array implementation of the stack class, with ten items in the stack stored at data[0] through

More information

CS 455 Final Exam Spring 2015 [Bono] May 13, 2015

CS 455 Final Exam Spring 2015 [Bono] May 13, 2015 Name: USC netid (e.g., ttrojan): CS 455 Final Exam Spring 2015 [Bono] May 13, 2015 There are 10 problems on the exam, with 73 points total available. There are 10 pages to the exam, including this one;

More information

Largest Online Community of VU Students

Largest Online Community of VU Students WWW.VUPages.com http://forum.vupages.com WWW.VUTUBE.EDU.PK Largest Online Community of VU Students MIDTERM EXAMINATION SEMESTER FALL 2003 CS301-DATA STRUCTURE Total Marks:86 Duration: 60min Instructions

More information

Chapter 4. Linked Lists. M hiwa ahmad aziz

Chapter 4. Linked Lists.  M hiwa ahmad aziz . Chapter 4 Linked Lists www.raparinweb.com M hiwa ahmad aziz 1 Array (lists) You can create an array to store objects. But, once the array is created, its size is fixed. data structure : Lecturer ( (

More information

CSE 250 Final Exam. Fall 2013 Time: 3 hours. Dec 11, No electronic devices of any kind. You can open your textbook and notes

CSE 250 Final Exam. Fall 2013 Time: 3 hours. Dec 11, No electronic devices of any kind. You can open your textbook and notes CSE 250 Final Exam Fall 2013 Time: 3 hours. Dec 11, 2013 Total points: 100 14 pages Please use the space provided for each question, and the back of the page if you need to. Please do not use any extra

More information

lecture09: Linked Lists

lecture09: Linked Lists lecture09: Largely based on slides by Cinda Heeren CS 225 UIUC 24th June, 2013 Announcements mp2 due tonight mt1 tomorrow night! mt1 review instead of lab tomorrow morning mp3 released tonight, mp3.1 extra

More information

CSCE 110 PROGRAMMING FUNDAMENTALS

CSCE 110 PROGRAMMING FUNDAMENTALS CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 16. Linked Lists Prof. amr Goneid, AUC 1 Linked Lists Prof. amr Goneid, AUC 2 Linked Lists The Linked List Structure Some Linked List

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

Largest Online Community of VU Students

Largest Online Community of VU Students WWW.VUPages.com WWW.VUTUBE.EDU.PK http://forum.vupages.com Largest Online Community of VU Students MIDTERM EXAMINATION SEMESTER FALL 2003 CS301-DATA STRUCTURE Total Marks:86 Duration: 60min Instructions

More information

Agenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures

Agenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF

More information

// Pointer to the first thing in the list

// Pointer to the first thing in the list Linked Lists Dynamic variables combined with structs or classes can be linked together to form dynamic lists or other structures. We define a record (called a node) that has at least two members: next

More information

CS Data Structure Spring Answer Key- Assignment #10

CS Data Structure Spring Answer Key- Assignment #10 CS300-201 Data Structure Spring 2012 2013 Answer Key- Assignment #10 Due Sunday, April 28 th. Q1): Write the following classes: - Class Vertex int id; String name; Vertex (int id, String name)... - Class

More information

Data Structure (CS301)

Data Structure (CS301) WWW.VUPages.com http://forum.vupages.com WWW.VUTUBE.EDU.PK Largest Online Community of VU Students Virtual University Government of Pakistan Midterm Examination Spring 2003 Data Structure (CS301) StudentID/LoginID

More information

Lecture No.04. Data Structures

Lecture No.04. Data Structures Lecture No.04 Data Structures Josephus Problem #include "CList.cpp" void main(int argc, char *argv[]) { CList list; int i, N=10, M=3; for(i=1; i

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

CS 103 Unit 15. Doubly-Linked Lists and Deques. Mark Redekopp

CS 103 Unit 15. Doubly-Linked Lists and Deques. Mark Redekopp 1 CS 103 Unit 15 Doubly-Linked Lists and Deques Mark Redekopp 2 Singly-Linked List Review Used structures/classes and pointers to make linked data structures Singly-Linked Lists dynamically allocates each

More information

CS 240 Data Structure Spring 2018 Exam III 04/25/2018

CS 240 Data Structure Spring 2018 Exam III 04/25/2018 CS 240 Data Structure Spring 2018 Exam III 04/25/2018 This exam contains BST, Stack, Quicksort and an arbitrary sorting algorithm. That is 4 sections. A) Stack a. Trace the code to predict the output of

More information

! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive)

! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive) Final Exam Exercises CS 2308 Spring 2014 Jill Seaman Chapters 1-7 + 11 Write C++ code to: Determine if a number is odd or even Determine if a number/character is in a range - 1 to 10 (inclusive) - between

More information

Linked Lists. Linked list: a collection of items (nodes) containing two components: Data Address (link) of the next node in the list

Linked Lists. Linked list: a collection of items (nodes) containing two components: Data Address (link) of the next node in the list Linked Lists Introduction : Data can be organized and processed sequentially using an array, called a sequential list Problems with an array Array size is fixed Unsorted array: searching for an item is

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

Linked Lists. Linked list: a collection of items (nodes) containing two components: Data Address (link) of the next node in the list

Linked Lists. Linked list: a collection of items (nodes) containing two components: Data Address (link) of the next node in the list Linked Lists Introduction : Data can be organized and processed sequentially using an array, called a sequential list Problems with an array Array size is fixed Unsorted array: searching for an item is

More information

Q2: Write an algorithm to merge two sorted arrays into a third array? (10 Marks) Ans Q4:

Q2: Write an algorithm to merge two sorted arrays into a third array? (10 Marks) Ans Q4: Model Answer Benha University 1 st Term (2013/2014) Final Exam Class: 2 nd Year Students Subject: Data Structures Faculty of Computers & Informatics Date: 26/12/2013 Time: 3 hours Examiner: Dr. Essam Halim

More information

Linear Structures. Linear Structure. Implementations. Array details. List details. Operations 2/10/2013

Linear Structures. Linear Structure. Implementations. Array details. List details. Operations 2/10/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

Example Final Questions Instructions

Example Final Questions Instructions Example Final Questions Instructions This exam paper contains a set of sample final exam questions. It is for practice purposes only. You ll most likely need longer than three hours to answer all the questions.

More information

Chapter 17 - Notes Recursion

Chapter 17 - Notes Recursion Chapter 17 - Notes Recursion I. Recursive Definitions A. Recursion: The process of solving a problem by reducing it to smaller versions of itself. B. Recursive Function: A function that calls itself. C.

More information

Review Questions for Final Exam

Review Questions for Final Exam CS 102 / ECE 206 Spring 11 Review Questions for Final Exam The following review questions are similar to the kinds of questions you will be expected to answer on the Final Exam, which will cover LCR, chs.

More information

Midterm Practice TA: Brian Choi Section Webpage:

Midterm Practice TA: Brian Choi Section Webpage: Midterm Practice TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs32 *** Make sure you try all exercises by hand! You won t have access to Visual C++ during the exam.

More information

Spring 2008 Data Structures (CS301) LAB

Spring 2008 Data Structures (CS301) LAB Spring 2008 Data Structures (CS301) LAB Objectives The objectives of this LAB are, o Enabling students to implement Singly Linked List practically using c++ and adding more functionality in it. o Enabling

More information

Chapter 10 - Notes Applications of Arrays

Chapter 10 - Notes Applications of Arrays Chapter - Notes Applications of Arrays I. List Processing A. Definition: List - A set of values of the same data type. B. Lists and Arrays 1. A convenient way to store a list is in an array, probably a

More information

CS 115 Exam 3, Spring 2010

CS 115 Exam 3, Spring 2010 Your name: Rules You must briefly explain your answers to receive partial credit. When a snippet of code is given to you, you can assume o that the code is enclosed within some function, even if no function

More information

CSE030 Fall 2012 Final Exam Friday, December 14, PM

CSE030 Fall 2012 Final Exam Friday, December 14, PM CSE030 Fall 2012 Final Exam Friday, December 14, 2012 3-6PM Write your name here and at the top of each page! Name: Select your lab session: Tuesdays Thursdays Paper. If you have any questions or need

More information

Containers: Stack. Jordi Cortadella and Jordi Petit Department of Computer Science

Containers: Stack. Jordi Cortadella and Jordi Petit Department of Computer Science Containers: Stack Jordi Cortadella and Jordi Petit Department of Computer Science The Stack ADT A stack is a list of objects in which insertions and deletions can only be performed at the top of the list.

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING REWRAP TEST I CS6301 PROGRAMMING DATA STRUCTURES II

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING REWRAP TEST I CS6301 PROGRAMMING DATA STRUCTURES II DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING REWRAP TEST I CS6301 PROGRAMMING DATA STRUCTURES II Year / Semester: III / V Date: 08.7.17 Duration: 45 Mins

More information

Data Structures (CS301) LAB

Data Structures (CS301) LAB Data Structures (CS301) LAB Objectives The objectives of this LAB are, o Enabling students to implement Doubly Linked List practically using c++ and adding more functionality in it. Introduction to Singly

More information

Using Parallel Arrays. Parallel Array Example

Using Parallel Arrays. Parallel Array Example Using Parallel Arrays Parallel arrays: two or more arrays that contain related data A subscript is used to relate arrays: elements at same subscript are related Arrays may be of different types Parallel

More information

Lab 2: Pointers. //declare a pointer variable ptr1 pointing to x. //change the value of x to 10 through ptr1

Lab 2: Pointers. //declare a pointer variable ptr1 pointing to x. //change the value of x to 10 through ptr1 Lab 2: Pointers 1. Goals Further understanding of pointer variables Passing parameters to functions by address (pointers) and by references Creating and using dynamic arrays Combing pointers, structures

More information

Containers: Stack. The Stack ADT. The Stack ADT. The Stack ADT

Containers: Stack. The Stack ADT. The Stack ADT. The Stack ADT Containers: Stack The Stack ADT A stack is a list of objects in which insertions and deletions can only be performed at the top of the list. Also known as LIFO Last In, First Out) push insert an element

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

1 #include <iostream> 2 using namespace std; 3 4 // implementing the dynamic List ADT using Linked List 5 6 class Node{ 7 8 private: 9 int data; 10

1 #include <iostream> 2 using namespace std; 3 4 // implementing the dynamic List ADT using Linked List 5 6 class Node{ 7 8 private: 9 int data; 10 1 #include 2 using namespace std; 3 4 // implementing the dynamic List ADT using Linked List 5 6 class Node{ 7 8 private: 9 int data; 10 Node* nextnodeptr; 11 12 public: 13 Node(){} 14 15 void

More information

CMPS 221 Sample Final

CMPS 221 Sample Final Name: 1 CMPS 221 Sample Final 1. What is the purpose of having the parameter const int a[] as opposed to int a[] in a function declaration and definition? 2. What is the difference between cin.getline(str,

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) WINTER 18 EXAMINATION Subject Name: Data Structure using C Model wer Subject Code: 22317 Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given

More information

Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web: Ph:

Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web:     Ph: Serial : 1PT_CS_A+C_Programming & Data Structure_230918 Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web: E-mail: info@madeeasy.in Ph: 011-45124612 CLASS TEST 2018-19

More information

! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive)

! Determine if a number is odd or even. ! Determine if a number/character is in a range. - 1 to 10 (inclusive) - between a and z (inclusive) Final Exam Exercises Chapters 1-7 + 11 Write C++ code to:! Determine if a number is odd or even CS 2308 Fall 2018 Jill Seaman! Determine if a number/character is in a range - 1 to 10 (inclusive) - between

More information

Computer Science Foundation Exam. Dec. 19, 2003 COMPUTER SCIENCE I. Section I A. No Calculators! KEY

Computer Science Foundation Exam. Dec. 19, 2003 COMPUTER SCIENCE I. Section I A. No Calculators! KEY Computer Science Foundation Exam Dec. 19, 2003 COMPUTER SCIENCE I Section I A No Calculators! Name: KEY SSN: Score: 50 In this section of the exam, there are Three (3) problems You must do all of them.

More information

COMP 2355 Introduction to Systems Programming

COMP 2355 Introduction to Systems Programming COMP 2355 Introduction to Systems Programming Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Today Class syntax, Constructors, Destructors Static methods Inheritance, Abstract

More information

! A data structure representing a list. ! A series of dynamically allocated nodes. ! A separate pointer (the head) points to the first

! A data structure representing a list. ! A series of dynamically allocated nodes. ! A separate pointer (the head) points to the first Linked Lists Introduction to Linked Lists A data structure representing a Week 8 Gaddis: Chapter 17 CS 5301 Spring 2014 Jill Seaman A series of dynamically allocated nodes chained together in sequence

More information

Basic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable

Basic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable Basic C++ Overview C++ is a version of the older C programming language. This is a language that is used for a wide variety of applications and which has a mature base of compilers and libraries. C++ is

More information

Programming. Lists, Stacks, Queues

Programming. Lists, Stacks, Queues Programming Lists, Stacks, Queues Summary Linked lists Create and insert elements Iterate over all elements of the list Remove elements Doubly Linked Lists Circular Linked Lists Stacks Operations and implementation

More information

! A data type for which: ! An ADT may be implemented using various. ! Examples:

! A data type for which: ! An ADT may be implemented using various. ! Examples: Stacks and Queues Unit 6 Chapter 19.1-2,4-5 CS 2308 Fall 2018 Jill Seaman 1 Abstract Data Type A data type for which: - only the properties of the data and the operations to be performed on the data are

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

POLYNOMIAL ADDITION. AIM:- To write a C program to represent a polynomial as a linked list and write functions for polynomial addition.

POLYNOMIAL ADDITION. AIM:- To write a C program to represent a polynomial as a linked list and write functions for polynomial addition. POLYNOMIAL ADDITION AIM:- To write a C program to represent a polynomial as a linked list and write functions for polynomial addition. ALGORITHM:- 1. Start the program 2. Get the coefficients and powers

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

Name: I. 20 II. 20 III. 20 IV. 40. CMSC 341 Section 01 Fall 2016 Data Structures Exam 1. Instructions: 1. This is a closed-book, closed-notes exam.

Name: I. 20 II. 20 III. 20 IV. 40. CMSC 341 Section 01 Fall 2016 Data Structures Exam 1. Instructions: 1. This is a closed-book, closed-notes exam. CMSC 341 Section 01 Fall 2016 Data Structures Exam 1 Name: Score Max I. 20 II. 20 III. 20 IV. 40 Instructions: 1. This is a closed-book, closed-notes exam. 2. You have 75 minutes for the exam. 3. Calculators,

More information

double d0, d1, d2, d3; double * dp = new double[4]; double da[4];

double d0, d1, d2, d3; double * dp = new double[4]; double da[4]; All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to be syntactically correct, unless something in the question or one of the answers

More information

Ch 8. Searching and Sorting Arrays Part 1. Definitions of Search and Sort

Ch 8. Searching and Sorting Arrays Part 1. Definitions of Search and Sort Ch 8. Searching and Sorting Arrays Part 1 CS 2308 Fall 2011 Jill Seaman Lecture 1 1 Definitions of Search and Sort! Search: find an item in an array, return the index to the item, or -1 if not found.!

More information

ECE 242 Fall 13 Exam I Profs. Wolf and Tessier

ECE 242 Fall 13 Exam I Profs. Wolf and Tessier ECE 242 Fall 13 Exam I Profs. Wolf and Tessier Name: ID Number: Maximum Achieved Question 1 16 Question 2 24 Question 3 18 Question 4 18 Question 5 24 Total 100 This exam is closed book, closed notes.

More information

Heaps. A complete binary tree can be easily stored in an array - place the root in position 1 (for convenience)

Heaps. A complete binary tree can be easily stored in an array - place the root in position 1 (for convenience) Binary heap data structure Heaps A binary heap is a special kind of binary tree - has a restricted structure (must be complete) - has an ordering property (parent value is smaller than child values) Used

More information

Programming in C++: Assignment Week 1

Programming in C++: Assignment Week 1 Programming in C++: Assignment Week 1 Total Marks : 20 Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology Kharagpur 721302 partha.p.das@gmail.com February 24,

More information

LINKED LIST IMPLEMENTATION USING C LANGUAGE: A REVIEW

LINKED LIST IMPLEMENTATION USING C LANGUAGE: A REVIEW LINKED LIST IMPLEMENTATION USING C LANGUAGE: A REVIEW Ekta Nehra Assistant Professor (Extn.), C.R.M jat college, Hisar, Haryana, (India) ABSTRACT This paper describes about linear data structure i.e. linked

More information

Linked Lists and other Dynamic Data Structures

Linked Lists and other Dynamic Data Structures Linked Lists and other Dynamic Data Structures Arrays Fixed in size Allocated in advance within a contiguous memory block Look-up is fast Resizing and Deleting is hard (reallocate and copy) Dynamic Data

More information

CSC 222: Computer Programming II. Spring 2004

CSC 222: Computer Programming II. Spring 2004 CSC 222: Computer Programming II Spring 2004 Stacks and recursion stack ADT push, pop, top, empty, size vector-based implementation, library application: parenthesis/delimiter matching run-time

More information

Lab Instructor : Jean Lai

Lab Instructor : Jean Lai Lab Instructor : Jean Lai Group related statements to perform a specific task. Structure the program (No duplicate codes!) Must be declared before used. Can be invoked (called) as any number of times.

More information

Solution to CSE 250 Final Exam

Solution to CSE 250 Final Exam Solution to CSE 250 Final Exam Fall 2013 Time: 3 hours. December 13, 2013 Total points: 100 14 pages Please use the space provided for each question, and the back of the page if you need to. Please do

More information

1. Write step by step code to delete element from existing Doubly Linked List. Suppose that all declarations are done

1. Write step by step code to delete element from existing Doubly Linked List. Suppose that all declarations are done 1. Write step by step code to delete element from existing Doubly Linked List. Suppose that all declarations are done. first NULL 42 A A 13 A A 6 NULL Write code here first NULL 42 A A 13 A A 6 NULL p

More information

Number: Name-Surname :... Group:...

Number: Name-Surname :... Group:... COMPUTER ENGINEERING DEPARTMENT CMPE110 Midterm Exam, 2017-2018 Fall Instructors: O. Ramadan (01) and C. Ergun (02) Date: 24/11/2017 Duration: 100 min. Number: Name-Surname :... Group:... Q1 Q2 Q3 Q4 Q5

More information

Review for Test 1 (Chapter 1-5)

Review for Test 1 (Chapter 1-5) Review for Test 1 (Chapter 1-5) 1. Software development 1. Pre-conditions and Post-conditions 2. Running time analysis Big O Timing loops and nested loops 1) Write the simplest big-o expression to describe

More information

CMSC 202 Midterm Exam 1 Fall 2015

CMSC 202 Midterm Exam 1 Fall 2015 1. (15 points) There are six logic or syntax errors in the following program; find five of them. Circle each of the five errors you find and write the line number and correction in the space provided below.

More information

First Examination. CS 225 Data Structures and Software Principles Spring p-9p, Tuesday, February 19

First Examination. CS 225 Data Structures and Software Principles Spring p-9p, Tuesday, February 19 Department of Computer Science First Examination CS 225 Data Structures and Software Principles Spring 2008 7p-9p, Tuesday, February 19 Name: NetID: Lab Section (Day/Time): This is a closed book and closed

More information

Computer Science 302 Spring 2007 Practice Final Examination: Part I

Computer Science 302 Spring 2007 Practice Final Examination: Part I Computer Science 302 Spring 2007 Practice Final Examination: Part I Name: This practice examination is much longer than the real final examination will be. If you can work all the problems here, you will

More information

Programming in C++: Assignment Week 8

Programming in C++: Assignment Week 8 Programming in C++: Assignment Week 8 Total Marks : 20 Partha Pratim Das Department of Computer Science and Engineering Indian Institute of Technology Kharagpur 721302 partha.p.das@gmail.com April 12,

More information

CPSC W2: Midterm Exam

CPSC W2: Midterm Exam CPSC 221 2017W2: Midterm Exam January 29, 2018 1 Who gets the marks? [1 marks] Please enter your 4 or 5 digit CSID in this box: 2 Choices, miscellany, and some originality [16 marks] Unless otherwise specified,

More information

Chapter 13. Recursion. Copyright 2016 Pearson, Inc. All rights reserved.

Chapter 13. Recursion. Copyright 2016 Pearson, Inc. All rights reserved. Chapter 13 Recursion Copyright 2016 Pearson, Inc. All rights reserved. Learning Objectives Recursive void Functions Tracing recursive calls Infinite recursion, overflows Recursive Functions that Return

More information

School of Information Technology and Computer Science CSCI192 - Spring Session Revision

School of Information Technology and Computer Science CSCI192 - Spring Session Revision School of Information Technology and Computer Science CSCI192 - Spring Session Revision Aim: Revision 1. Covert 0x27 from hexadecimal into 8-bit binary value 00100111 2. Convert 00110110 8-bit binary value

More information

Fundamentals of Programming. Lecture 19 Hamed Rasifard

Fundamentals of Programming. Lecture 19 Hamed Rasifard Fundamentals of Programming Lecture 19 Hamed Rasifard 1 Outline C++ Object-Oriented Programming Class 2 C++ C++ began as an expanded version of C. C++ improves on many of C s features and provides object-oriented-programming

More information

EE 355 Unit 11b. Doubly-Linked Lists and Deques. Mark Redekopp

EE 355 Unit 11b. Doubly-Linked Lists and Deques. Mark Redekopp 1 EE 355 Unit 11b Doubly-Linked Lists and Deques Mark Redekopp 2 Singly-Linked List Review Used structures/classes and pointers to make linked data structures Singly-Linked Lists dynamically allocates

More information

CSCI 102L - Data Structures Midterm Exam #2 Spring 2011

CSCI 102L - Data Structures Midterm Exam #2 Spring 2011 CSCI 102L - Data Structures Midterm Exam #2 Spring 2011 (12:30pm - 1:50pm, Thursday, March 24) Instructor: Bill Cheng ( This exam is closed book, closed notes, closed everything. No cheat sheet allowed.

More information