随笔分类 - 算法系列
算法系列
摘要:那么接下来就是选择排序: 选择排序就是先选数组中最大的一个,再选剩下中的最大一个,如此反复直到最后一个,其思想就是平时我们的一般正常的排序思想。接下来用JS代码来实现: 1 //选择排序 2 function SelectionSort(arr){ 3 for(var i=0;i<arr.length-1;i++){ //要循环的次数 4 var temp=i;//默认的最小数 5 for(var j=i+1;j<arr.length;j++){//每次大循环将默认最小数与其后面的所有数相比,得到真正的最小数...
阅读全文
摘要:长时间没接着写了,今天接着未完成的革命,接下来就是快速排序: 快速排序的思想就是先选取一个基准点,然后将小于基准点的放在基准点的左边,大于基准点的数放在基准点右边,然后将左、右边的数组再重复上述步骤直到全部排序完成。 还是如数组:20 、40、50、10、60 left指针指向20,right指针指向60,base参照数指向20。其实思想是蛮简单的,就是通过第一遍的遍历(让left和right指针重合)来找到数组的切割点。第一步:首先我们从数组的left位置取出该数(20)作为基准(base)参照物。第二步:从数组的right位置向前找,一直找到比(base)小的数, 如果找到,将此...
阅读全文
摘要:算法对程序员来说是熟悉的陌生人,编过大量代码后突然被哪个问到算法是什么也有时不知从何说起,简单来说是没有好好总结过仔细分析过。大学里面导师整天苦口婆心的教导算法有多么多么重要,但哪个能真正听得进去,即使认真的学了出了社会过个两三个月就忘到九霄云外了,记得算法的排序有几种就算不错了的。说到底还是没有真正的理解,而理解是建立在应用之上,用多了亲历了也就知道其中的道理,学好了也能锻炼自己的抽象能力,因此平时没事就多拿出来多练哈,没准哪天突然开窍了也说不定。 自己也是意识到学好算法的重要性,因此一直也在找一些好的资料,之前是准备找一本数据结构的书好好从头开始看,不过书上理论太多,而且都是伪代码,...
阅读全文