js 实现基础算法
很多时候前端工程师使用不到基础算法,但并不意味着我们可以不用学习,本专栏会持续更新各种算法思想,并用js实现,帮助自己和大家共同进步,(所有的算法思想都是从现有的资料和前人的总结中学习)
卡塔库栗
一个不成熟的软件工程师
展开
-
js 堆排序
一、简介 堆排序是指利用堆这种数据结构所设计的一种排序算法。堆是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。 在堆的数据结构中,堆中的最大值总是位于根节点(在优先队列中使用堆的话堆中的最小值位于根节点)。堆中定义以下几种操作: 最大堆调整(Max Heapify):将堆的末端子节点作调整,使得子节点...原创 2019-05-28 10:15:07 · 1518 阅读 · 0 评论 -
二、桶排序
一、 桶排序桶排序(Bucket sort)是一种基于计数的排序算法的推广(计数排序,顾名思义就是要统计出现的次数,适用于对数值范围很小的正数序列排序。在统计每个数的出现次数后,我们可以直接构造出排序结果),工作的原理是将数据分到有限数量的桶子里,然后每个桶再分别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序进行排序)二、算法步骤 设置固定数量的空桶。(有的是设置每个...原创 2019-05-09 10:15:20 · 223 阅读 · 0 评论 -
一、 冒泡排序
1、冒泡排序(Bubble Sort)冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。1.1 算法描述比较相邻的元素。如果第一个比第二个大,就交换它们两个; 对每一对相邻元素作同样...原创 2019-05-08 11:22:41 · 177 阅读 · 0 评论