
算法导论
问若
这个作者很懒,什么都没留下…
展开
-
算法基础之插入排序
问题描述: 输入: n个数的一个序列,[a1, a2 , a3, a4, ……, an ] 。 输出:输入序列的一个排序结果,[b1, b2 , b3, b4, …… ,bn ], 满足 b1≤ b2 ≤ b3 · · · · ≤ bn 。 算法描述: 插入排序的工作 方式像许多人排序一手扑克牌,开始时,我们的左手为空并且桌子上的牌面向下。 然后,我们每次从桌子上拿走原创 2017-03-27 18:12:02 · 370 阅读 · 0 评论 -
算法基础之冒泡排序
首先讲一下冒泡排序的基本算法思想 。 假设有这样一个数组 var arr = [3,4,6,1,7,2,5,8]; 需要我们从小到大对其进行排序。我们从数组的第一个元素开始,依次比较相邻的两个元素,若前边的数大于后边的数,则对它们进行位置交换。即第一次比较arr[0]与arr[1] ,继续比较arr[1] 与arr[2] ,再继续比较arr[2] 与arr[3] ,依次类推 。 if原创 2017-04-17 21:34:01 · 329 阅读 · 0 评论 -
算法基础之选择排序
说一下选择排序的基本算法 。 现在有这样一个数组,[ 3 , 4 ,6 , 1 , 7 , 2 , 5 , 8] 我们对其进行从小到大的排序 。 现在我们默认数组中第一个元素就是数组中的最小值,将它与其后边的所有元素进行比较,当有元素的值小于当前默认最小元素时,交换这两个元素的顺序。 当数组第一个元素小于后边所有元素时,我们再用数组第二个元素与后面所有元素进行比较。依次类推,这样我们执行到原创 2017-04-18 09:25:18 · 294 阅读 · 0 评论 -
算法基础之数组去重
几种数组去重方法数组的排序和去重问题往往是编程新手在学习过程中经常遇到的,同时也是工作中较为常见的数组操作。现在我们有这样一个数组 var arr=[1,2,3,2,3,6,8]; 我们希望去除数组中重复的元素,只返回未重复的元素。 下面我们提供几种不同的思路来实现这个问题的解决。方法一 var obj={}; for(var i=0;i<arr.length;i++) {原创 2017-04-22 15:18:16 · 675 阅读 · 0 评论