Find Jobs
Hire Freelancers

Algorithm Problems 2

$13-18 USD

Completed
Posted almost 20 years ago

$13-18 USD

Paid on delivery
## _4. Problem: Interface Deque_ A deque (doubly-ended queue) is a list that only allows elements to be added or removed from the front or rear. interface Deque { void addFront(Object o); void removeFront(Ob ject o) throws NoSuchElementException; void addRear(Object o); void removeRear(Ob ject o) throws NoSuchElementException; } Implement and test an adapter that implements Deque by pre-processing messages before forwarding them to a List object: class AdapterDeque implements Deque { List elems; AdapterDeque(List elems) { [login to view URL] = elems; } // etc. } Implement and test a linked-list-backed implementation of Deque. The operations should be O(1): class ListDeque implements Deque { Cell front, rear; // etc. } ## Deliverables __5. Problem: Inteface Stack, Interface Queue__ A stack is a list that only allows elements to be removed or added to the front: interface Stack { void push(Object o); void pop() throws EmptyStackException; Object top() throws EmptyStackException; } A queue is a list that only allows elements to be removed from the front and added to the rear: interface Queue { void enqueue(Object o); void dequeue() throws NoSuchElementException; Object front() throws NoSuchElementException; } Implement and test an adapter that implements Stack by pre-processing messages before forwarding them to a Deque object: class AdapterStack implements Stack { Dequeue elems; // etc. } Implement and test an adapter that implements Queue by pre-processing messages before forwarding them to a Deque object: class AdapterQueue implements Queue { Deque elems; // etc. } 6. Problem: class LinkedList Following the style of ArrayCollection, implement and test a linked-list-backed non-mutable and mutable implementations of the Collection interface: class LinkedListCollection extends [login to view URL] { protected Cell head; // etc. } class MutableLinkedListCollection extends ListListCollection { // etc. } _7. Problem: class ArrayList_ Following the style of ArrayCollection, implement and test an array-backed non-mutable and mutable implementations of the List interface: class ArrayList extends [login to view URL] { protected Object[] a; // etc. } class MutableArrayList extends ArrayList { // etc. } _8. Problem: Profiling_ The List interface specifies several position-dependent methods: interface List extends Collection { void add(int index, Object obj); Object remove(int index); Object get(int index); // etc. } Assume the following definitions: n = lenght of list i = an index d = min(i, n ??" i) = shortest distance to end For the LinkedList implementation of List we get the following runtimes: interface LinkedList implements List { void add(int index, Object obj); // O(d) Object remove(int index); // O(d) Object get(int index); // O(d) // etc. } For the ArrayList implementation of List we get the following runtimes: interface ArrayList implements List { void add(int index, Object obj); // O(n - i)amortized Object remove(int index); // O(n - i) Object get(int index); // O(1) // etc. } ## Platform JavA, run on textpad
Project ID: 3262032

About the project

3 proposals
Remote project
Active 20 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
See private message.
$15 USD in 3 days
4.9 (47 reviews)
4.6
4.6
3 freelancers are bidding on average $14 USD for this job
User Avatar
See private message.
$12.75 USD in 3 days
4.8 (24 reviews)
6.1
6.1
User Avatar
See private message.
$12.75 USD in 3 days
5.0 (64 reviews)
6.0
6.0

About the client

Flag of UNITED STATES
United States
5.0
11
Member since Feb 6, 2003

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.