最前端

技术最前端,专注 Web 技术学习与总结。JavaScript, JS, ES6, TypeScript, Vue, PHP, CSS3, Html5, Node, Git, Markdown 等技术文章。

vuePress-theme-reco jimco    2014 - 2025
最前端 最前端
首页
索引
  • 分类
  • 标签
  • 归档
收藏
  • 网站
  • 资源
  • 文章
  • 书单
知识库
  • 前端

    • JS
    • CSS
    • HTML
  • 计算机通识

    • 网络
实验室
  • 手册

    • CSS3 参考手册 (opens new window)
    • HTML 参考手册 (opens new window)
    • NodeJS 参考手册 (opens new window)
    • PHP 参考手册 (opens new window)
  • 工具

    • CSS 格式化 (opens new window)
    • 在线编辑器 (opens new window)
author-avatar

jimco

73 文章
100 标签

首页
索引
  • 分类
  • 标签
  • 归档
收藏
  • 网站
  • 资源
  • 文章
  • 书单
知识库
  • 前端

    • JS
    • CSS
    • HTML
  • 计算机通识

    • 网络
实验室
  • 手册

    • CSS3 参考手册 (opens new window)
    • HTML 参考手册 (opens new window)
    • NodeJS 参考手册 (opens new window)
    • PHP 参考手册 (opens new window)
  • 工具

    • CSS 格式化 (opens new window)
    • 在线编辑器 (opens new window)

算法 Categories

vuePress-theme-reco jimco    2014 - 2025
  • 前端 51
  • 后端 4
  • 笔记 20
  • 浏览器 3
  • 工程化 7
  • 运维 11
  • 算法 2
常用排序算法

# 快速排序

简介:通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。时间复杂度 O(n㏒n)。

实现:

快速排序使用分治法来把一个串(list)分为两个子串(sub-lists)。具体算法描述如下:

  1. 从数列中挑出一个元素,称为 "基准"(pivot);

  2. 重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;

  3. 递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序。

jimco 2016/04/07 sortalgorithm
不用中间变量交换两个数值变量的值
  1. 加减法

    var a = 1,
        b = 2;
    
    a = a + b;
    b = a - b;
    a = a - b;
    
    console.log(a, b); // 2, 1
    
jimco 2016/04/05 algorithm
上一页 1 ... 1 ... 1 下一页