美文网首页
辅助排序

辅助排序

作者: newway_001 | 来源:发表于2019-01-09 20:10 被阅读0次

compareFunction 可能需要对元素做多次映射以实现排序,尤其当 compareFunction 较为复杂,且元素较多的时候,某些 compareFunction 可能会导致很高的负载。使用 map 辅助排序将会是一个好主意。基本思想是首先将数组中的每个元素比较的实际值取出来,排序后再将数组恢复。

// 需要被排序的数组
var list = ['Delta', 'alpha', 'CHARLIE', 'bravo'];

// 对需要排序的数字和位置的临时存储
var mapped = list.map(function(el, i) {
  return { index: i, value: el.toLowerCase() };
})

// 按照多个值排序数组
mapped.sort(function(a, b) {
  return +(a.value > b.value) || +(a.value === b.value) - 1;
});

// 根据索引得到排序的结果
var result = mapped.map(function(el){
  return list[el.index];
});

相关文章

  • 辅助排序

    compareFunction 可能需要对元素做多次映射以实现排序,尤其当 compareFunction 较为复...

  • 算法-排序

    基础类: 提供辅助方法和待排序的数组 选择排序

  • 排序问题

    排序问题 排序方法 平均情况 最好情况 最坏情况 辅助空间 ...

  • 计数排序和基数排序

    这两种排序方法的时间复杂度O(n), 不同于比较排序 计数排序基本方法:新建辅助数组, 把原数组中的值对应的辅助数...

  • 排序和查找

    排序算法 排序的稳定性image.png 影响排序算法的几个因素 时间性能 辅助空间 算法复杂性 冒泡排序 时间复...

  • 软件设计师16-数据结构02(排序/查找)

    排序 1 衡量排序算法质量 1)时间效率:排序速度 2)空间效率:占内存辅助空间的大小 3)稳定性:相...

  • 排序算法(十)计数排序

    排序算法(十)计数排序   计数排序是一种是一个非基于比较的排序算法,该算法以空间换时间,通过建立额外的辅助空间,...

  • 排序算法(八):计数排序

    计数排序是一种非比较性质的排序算法,元素从未排序状态变为已排序状态的过程,是由额外空间的辅助和元素本身的值决定的。...

  • Python实现七种常用排序(冒泡、快排、归并、选择、堆排序、插

    排序方法平均情况最好情况最坏情况辅助空间稳定性冒泡排序O(n^2)O(n)O(n^2)O(1)稳定选择排序O(n^...

  • 常见数据结构算法总结

    1、快速排序法 概念:排序速度非常快,采用分治思想 空间复杂度 快速排序是一种原地排序,只需要一个很小的栈作为辅助...

网友评论

      本文标题:辅助排序

      本文链接:https://www.haomeiwen.com/subject/uefnrqtx.html