# Simple C Program - Search & Sort

This project received **10** bids from talented freelancers with an average bid price of **$30 AUD**.

###### Skills Required

###### Project Budget

$30 AUD###### Total Bids

10###### Project Description

Objective

The key objective of this assignment is to learn how to use primitive set operators to

ef?ciently support more complex operations. Speci?cally, we will focus on extending

the Set ADT in Assignment 1 to support INTERSECT. Higher order operations such

as INTERSECT, UNION, and DIFFERENCE operations can be implemented using

F-SEARCH, PREDECESSOR, and SUCCESSOR operations. Each of the latter three

operators is state-modifying, in that they require that a “current” element has been

determined by a previous operation, and in turn it moves that designator to a different

element as a side effect of its execution. As the sequence of operations unfolds,

the locus of activity shifts through the set being processed. In this project, we will

modify 4 standard search algorithms implemented in Project 1 to support SUCCESSOR

and F-SEARCH. These new operators will in turn be used to implement ef?cient

INTERSECT in sets.

Overview

Algorithm 1 Binary Set Intersection

INPUT: Two ordered sets S and T, with |S| = n1 and |T| = n2, and n1 ≤ n2.

OUTPUT: An ordered set of answers A.

1: A ← { }

2: x ← FIRST(S)

3: while x is de?ned do

4: y ← F-SEARCH(T, x)

5: if x = y then

6: APPEND(A, x)

7: x ← SUCCESSOR(S)

8: return A

When there are exactly two sets, intersection is a straightforward problem. The

simplest and most effective approach is to perform an iterative search for the items in

the smaller set. Algorithm 1 shows a simple two set intersection where each element

in the smaller set S is searched for in the larger set. The search always moves forward

and the eliminator item x chosen is monotonically increasing as we proceed from i =

0 . . . n − 1. The general template of Algorithm 1 leaves us free to choose from a range

of options for implementing F-SEARCH, which will be discussed in the next section.

### Looking to make some money?

- Set your budget and the timeframe
- Outline your proposal
- Get paid for your work

## Hire Freelancers who also bid on this project

## Looking for work?

### Work on projects like this and make money from home!

Sign Up Now- Forbes
- The New York Times
- Time
- Wall Street Journal
- Times Online