
javascript数据结构算法
Hong Jet
这个作者很懒,什么都没留下…
展开
-
JavaScript冒泡排序
原理:比较两个相邻的元素,将值大的元素交换至右端。每次比较完都会将最大值挪到最后端,就像水泡一样往上冒,下次循环的次数依次减少(因为每次比较完在最后的肯定是最大)N个数字要排序完成,总共进行N-1趟排序,每i趟的排序次数为(N-i)次,双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数var arr = [1,4,2,5,7,3,6,9,0]console.log(arr) //[1...原创 2019-05-08 09:55:38 · 210 阅读 · 0 评论 -
JavaScript插入排序
将n个元素的数列分为已有序和无序两个部分。数列:{a1,a2,a3,a4,…,an}将该数列的第一元素视为有序数列,后面都视为无序数列:{{a1},{a2,a3,a4,…,an}}将无序数列中的元素插入到有序数列的对应位置,插入前通过比大小的方式找到其在有序数列中的对应位置。var arr = [11, 4, 8,1, 7, 6, 5];console.log(arr);//11,4,...原创 2019-05-08 11:18:32 · 291 阅读 · 0 评论 -
JavaScript使用二分查找算法在数组中查找数据的方法
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以...原创 2019-05-07 12:06:25 · 1080 阅读 · 0 评论 -
栈
栈是一种特殊的列表,栈内的元素只能通过列表的一端访问,这一端陈为栈顶。比如餐馆里面洗盘子,只能先洗最上面的盘子,盘子洗完后,也只能螺到这一摞盘子的最上面。栈被称为 “后入先出”(LIFO)的数据结构。由于栈具有后入先出的特点,所以任何不在栈顶的元素都无法访问,为了得到栈低的元素,必须先拿掉上面的元素。我们可以对栈的两种主要操作是将一个元素 压入栈 和 将一个元素 弹出栈。入栈我们可以使用方法pus...原创 2019-06-12 11:39:25 · 266 阅读 · 0 评论