
数据结构
눈_눈 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 · 118 阅读 · 0 评论 -
2021-06-03
Rust 双轴快排 author: Mi1itray.axe Website: military-axe.github.io 思路都是双轴快排的思路。需要注意的是。我把最左边的数做第一个轴,最右边的数做第二个轴 由于遍历是从左往右便利,右边的数还没有比较,就有可能会和已经比较的数交换,导致可能某些数没比较就过了。所以这里在判断右边的轴下面再加入一个循环 code fn quick_sort(v: &mut Vec<i32>) { let (l, r) = (0, v.len(原创 2021-06-03 09:22:52 · 110 阅读 · 0 评论 -
各类排序算法特性+比较次数+交换次数对比表格
类别 排序 best normal worst 辅助空间 稳定? 比较次数 交换次数 插入 插入 O(n) O(n2) O(n2) O(1) 稳 n-1,n(n-1)/2 0,n(n-1)/2 插入 希尔 O(n) O(n1.3) O(n2) O(1) 不稳 ? ? 选择 选择 O(n2) O(n2) O(n2) O(1) 不稳 n(n-1)/2 0,n-1 选择 堆 ...原创 2020-01-08 15:33:55 · 6570 阅读 · 2 评论