对于一个无序的整数序列 {a1, a2, ..., an},要求其中位数。首先,我们需要将序列进行排序。通常,我们可以使用快速排序或归并排序等排序算法。
以快速排序为例,我们可以选择一个基准元素(例如序列中的第一个元素)并将序列分成两部分:小于基准元素的左子序列和大于基准元素的右子序列。然后,我们可以递归地对左右子序列进行排序,直到排序完成。
排序完成后,序列中位于最中间的数即为中位数。由于题目中给定的n为奇数,所以中位数恰好位于排序后序列的第(n+1)/2个元素。
下面是一个示例的整数序列与排序过程:
原始序列:{5, 3, 8, 2, 9, 1, 7}
第一次排序(以第一个元素5作为基准):
左子序列:{3, 2, 1}
右子序列:{8, 9, 7}
第二次排序(左子序列):
左子序列:{2, 1}
右子序列:{3}
第三次排序(左子序列):
左子序列:{1}
右子序列:{2}
左子序列排序完成,得到有序子序列:{1, 2}
第四次排序(右子序列):
左子序列:{7}
右子序列:{8, 9}
右子序列排序完成,得到有序子序列:{7, 8, 9}
最终排序完成的序列:{1, 2, 3, 5, 7, 8, 9}
中位数为排序后序列的第(n+1)/2 = (7+1)/2 = 4个元素,即5。
因此,原始序列 {5, 3, 8, 2, 9, 1, 7} 的中位数为5。