Find Jobs
Hire Freelancers

Algorithm Problems 2

$13-18 USD

Abgeschlossen
Veröffentlicht vor fast 20 Jahren

$13-18 USD

Bezahlt bei Lieferung
## _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
Projekt-ID: 3262032

Über das Projekt

3 Vorschläge
Remote Projekt
Aktiv vor 20 Jahren

Möchten Sie etwas Geld verdienen?

Vorteile einer Ausschreibung auf Freelancer

Legen Sie Ihr Budget und Ihren Zeitrahmen fest
Für Ihre Arbeit bezahlt werden
Skizzieren Sie Ihren Vorschlag
Sie können sich kostenlos anmelden und auf Aufträge bieten
Vergeben an:
Avatar des Nutzers
See private message.
$15 USD in 3 Tagen
4,9 (47 Bewertungen)
4,6
4,6
3 Freelancer bieten im Durchschnitt $14 USD für diesen Auftrag
Avatar des Nutzers
See private message.
$12,75 USD in 3 Tagen
4,8 (24 Bewertungen)
6,1
6,1
Avatar des Nutzers
See private message.
$12,75 USD in 3 Tagen
5,0 (64 Bewertungen)
6,0
6,0

Über den Kunden

Flagge von UNITED STATES
United States
5,0
11
Mitglied seit Feb. 6, 2003

Kundenüberprüfung

Danke! Wir haben Ihnen per E-Mail einen Link geschickt, über den Sie Ihr kostenloses Guthaben anfordern können.
Beim Senden Ihrer E-Mail ist ein Fehler aufgetreten. Bitte versuchen Sie es erneut.
Registrierte Benutzer Veröffentlichte Jobs
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Vorschau wird geladen
Erlaubnis zur Geolokalisierung erteilt.
Ihre Anmeldesitzung ist abgelaufen und Sie wurden abgemeldet. Bitte melden Sie sich erneut an.