① 如何尋找第K小元素的演算法
把快速排序的代碼改一下就成了你要的程序:
選擇參照數後,將所有大於它的放到右邊,所有小於它的放到左邊,如果右邊的數目大於k,則遞歸右邊,如果剛好等於k-1,則當前參照數即為答案,否則遞歸左邊
② 如何尋找第K小元素的演算法
冒泡法
每次就是找到一個最小或最大的,你把外層循環最大值設為K,
就能找到第K小或者第K大的元素!
③ 2020-03-02:在無序數組中,如何求第K小的數
具體問題具體分析。
幾種情況及思路。
1、如果數組規模不大。可以先排序,然後順序求出第K小的單元。
2、如果規模大,但需要找多個第K。也建議用上面演算法。
3、如果規模非常大。排序效率不高。建議使用最小值定位函數,大多數語言都有的,且效率遠高於排序。定位後將最小值單元交換到數組頭部,重復過程,直到找到第K單元。