数据结构
눈_눈 axe
myblog:https://www.cnblogs.com/militray-axe/
展开
-
2021-06-05
Rust 基数排序参数是数组,改成Vec也可以,中间实现比较垃圾,凑合用use std::collections::VecDeque;fn radix_sort(v:&mut [i32]){ let lenght = v.len(); let max = *v.iter().max().unwrap(); let mut digit = 1; let radix = 10; let mut matrix = Vec::new(); for _原创 2021-06-05 13:45:28 · 76 阅读 · 0 评论 -
2021-06-03
Rust 双轴快排author: Mi1itray.axeWebsite: military-axe.github.io思路都是双轴快排的思路。需要注意的是。我把最左边的数做第一个轴,最右边的数做第二个轴由于遍历是从左往右便利,右边的数还没有比较,就有可能会和已经比较的数交换,导致可能某些数没比较就过了。所以这里在判断右边的轴下面再加入一个循环codefn quick_sort(v: &mut Vec<i32>) { let (l, r) = (0, v.len(原创 2021-06-03 09:22:52 · 77 阅读 · 0 评论 -
各类排序算法特性+比较次数+交换次数对比表格
类别排序bestnormalworst辅助空间稳定?比较次数交换次数插入插入O(n)O(n2)O(n2)O(1)稳n-1,n(n-1)/20,n(n-1)/2插入希尔O(n)O(n1.3)O(n2)O(1)不稳??选择选择O(n2)O(n2)O(n2)O(1)不稳n(n-1)/20,n-1选择堆...原创 2020-01-08 15:33:55 · 5066 阅读 · 2 评论