Discrete Mathematics and Its Applications, Seventh Edition

Published by McGraw-Hill Education
ISBN 10: 0073383090
ISBN 13: 978-0-07338-309-5

Chapter 3 - Section 3.1 - Algorithms - Exercises - Page 203: 29

Answer

procedure mode($a_1, a_2, a_3, ..., a_n:$ non-decreasing sequence of integers) count$:=0$ mode$:= -1$ index$:=1$ while index $\le n$ $\space\space\space$ curvalue $:= a_{index}$ $\space\space\space$ number $:= 0$ $\space\space\space$ while $a_{index} $ is equal to curvalue AND index $\le n$ $\space\space\space$$\space\space\space$ number $:= $number + $1$ $\space\space\space$$\space\space\space$ index $:= $ index + $1$ $\space\space\space$ if number $>$ count $\space\space\space$$\space\space\space$ count = number $\space\space\space$$\space\space\space$ mode = curvalue return curvalue

Work Step by Step

This algorithm attempts to find the mode of a set of integers in non-decreasing order. It exploits the fact that they are sequentially arranged by calculating the number of occurences of a value $\alpha$ by continuing along the set until we encounter a value that's not equal to $\alpha.$ Notice how we handle edge cases by checking for the boundary condition (index equal to $n$) in both loops.
Update this answer!

You can help us out by revising, improving and updating this answer.

Update this answer

After you claim an answer you’ll have 24 hours to send in a draft. An editor will review the submission and either publish your submission or provide feedback.