时间排序_你懂使用C ++ STL在线性时间内查找未排序数组的中位数吗
生活随笔
收集整理的這篇文章主要介紹了
时间排序_你懂使用C ++ STL在线性时间内查找未排序数组的中位数吗
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
也許你現在還在愁著學習C++?您不知道該怎么使用C++ST在線性時間內查找未排序數組的中位數,那么本文就用幾組代碼教您查找。
給定具有N個元素的未排序數組 arr [],任務是找出線性時間復雜度的數組中位數。
例子:
建議:在繼續解決方案之前,請先在{IDE}上嘗試使用您的方法。
方法:方法是在C ++ STL中使用nth_element()函數。
1.如果數組中元素的數量為奇數,請使用nth_element()函數找到第(N / 2)個元素,如下所示,然后索引(N / 2)的值為給定數組的中位數。
2.否則,使用nth_element()函數找到第(N / 2)和第((N – 1)/ 2)個元素,如下所示,并找到索引(N / 2)和((N– 1)處的平均值/ 2)是給定數組的中位數。
下面是上述方法的實現:
輸出:Median = 4.5
領取更多學習資料以及教程,您可私信回復編程或者點擊下方了解更多鏈接:
總結
以上是生活随笔為你收集整理的时间排序_你懂使用C ++ STL在线性时间内查找未排序数组的中位数吗的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 油烟机选择指标
- 下一篇: wps数据匹配怎么做_【VK技术分享】数