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: 30

Answer

procedure modelist $(a_1, a_2, a_3, ... a_n: $ non-decreasing sequence of integers) target $:=$ getnum $(a_1, a_2, a_3, ... a_n)$ {This will tell us the number of occurrences that a mode has} Initialize a set MODES to contain all the modes. It is initially empty 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 $=$ target then add curvalue to MODES return MODES procedure getnum($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 number

Work Step by Step

This algorithm attempts to find the modes that a specific set has. It does this by getting the number of occurrences of a mode. The algorithm for this is the same as the one used in exercise $29$ but instead of returning the mode, it returns the number of occurrences of the mode. It then goes over the set again and calculates the occurrences of every value; if the occurrence of some value $\alpha$ is equal to target, then it must be a mode. It stores those values in a list called MODES and then returns this set.
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.