Language Used -> C for Threading Concepts.

Instructions to Compile and Run the Code. File 1: oddeven.c Compile: gcc oddeven.c -o oddeven Run: .\oddeven

File 2: sasaki.c Compile: gcc sasaki.c -o sasaki Run: .\sasaki

File 3: time_optimal.c Compile: gcc time_optimal.c -o time_optimal Run: .\time_optimal

On Runnig It will ask to Enter The Number of Process -> Enter the Number of Process ie. 10, 20, 30, 50. Next, 1. BEST CASE (SORTED) 2. RANDOM SEQUENCE 3. WORST CASE (REVERSELY SORTED) 4. USER INPUT

Enter 1 for Best Case Input Generation. Enter 2 for Random Sequence. Enter 3 for Worst Case Generation. Enter 4 for User Input Generation and can enter the value of each processor.

3 Program Files included

  1. oddeven.c
  2. sasaki.c
  3. time_optimal.c

Outputs Included in Report File.

Time and space complexity of the algorithm with the specific choice of the data structures are included in the Report File.

Output: n = 10,20,30,50. Comparision Table.

Odd-Even: 10 -> 0.023000 20 -> 0.077000 30 -> 0.171000 50 -> 0.406000

Sasaki's time-optimal: 10 -> 0.111000 20 -> 0.261000 30 -> 0.718000 50 -> 2.08200

An alternative time-optimal: 10 -> 0.03600 20 -> 0.13000 30 -> 0.62800 50 -> 0.90400

Necessary information for supporting the implementation is added in the Report File and Time, Space Complexity and specific choice of the data structures is added in the Report File.