<div>Hello everyone!</div><div> </div><div>I've implemented the Rivest-Floyd selection algorithm as a second option to the partition method. I found it works about 1.5 times faster on average for big array sizes; here are average times for finding a median:</div><div><pre style="background-color:#ffffff;border:0px;border-radius:0px;box-sizing:border-box;color:#000000;font-family:monospace;font-size:14px;font-style:normal;font-weight:400;line-height:inherit;margin:0px;overflow:auto;padding:1px 0px 1px 0px;text-align:left;text-decoration-style:initial;text-indent:0px;text-transform:none;vertical-align:baseline;white-space:pre-wrap;word-break:break-all;word-spacing:0px">array length 10
introselect 4.6e-05
rivest_floyd 4.4e-05
array length 100
introselect 5.5e-05
rivest_floyd 4.7e-05
array length 1000
introselect 6.9e-05
rivest_floyd 6.5e-05
array length 10000
introselect 3.1e-04
rivest_floyd 2.3e-04
array length 100000
introselect 2.9e-03
rivest_floyd 2.0e-03
array length 1000000
introselect 2.9e-02
rivest_floyd 2.0e-02
I've created a pull request <a href="https://github.com/numpy/numpy/pull/17813">https://github.com/numpy/numpy/pull/17813</a> and implemented reviewer's suggestions and fixes. Do you think this feature should be added? I am new to open source, sorry if I am doing anything wrong.
Viktoriya Malyasova.</pre></div>