1. 程式人生 > >資料結構與演算法分析——C語言描述

資料結構與演算法分析——C語言描述

第一章:引論

第k大問題

第一種方法,先進行排序,再返回位置k上的元素。(簡單排序問題) 第二種方法,先將前k個元素讀入,再將剩下的元素逐個讀入,如果新元素大於陣列中第k個元素就找到他合適的位置並將陣列中的一個元素擠出。 第三種方法,利用快排的特點(假設預設升序排序),每一次快排操作都能確定一個數在排序結果中的最終固定位置,即該位置 pos 上的數為 N - pos 大的數,且之後的數即為前 N - pos 大的數,故此方法即可求第k大的數,也可求前k大的數。(程式碼連結https://blog.csdn.net/lang_a/article/details/84035792