Fork me on GitHub

随笔分类 -  基础算法

算法学习
每日算法---Two Sum
摘要:Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have ex 阅读全文

posted @ 2017-04-12 21:22 Jackbase 阅读(415) 评论(0) 推荐(0) 编辑

基础算法之插入排序Insertion Sort
摘要:原理通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。相信大家都打过扑克牌,很好理解。例子将数组[5,6,3,1,8... 阅读全文

posted @ 2015-02-06 17:56 Jackbase 阅读(785) 评论(0) 推荐(0) 编辑

基础算法之选择排序Selection Sort
摘要:原理首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。一种简单直观的排序算法。例子将数组[3,6,4,2,5,1]进行从大到小排序排序步骤:第一趟找到最小数1,放到最前边(与首... 阅读全文

posted @ 2015-02-05 17:30 Jackbase 阅读(767) 评论(1) 推荐(1) 编辑

基础算法之快速排序Quick Sort
摘要:原理快速排序(Quicksort)是对冒泡排序的一种改进。从数列中挑出一个元素,称为"基准"(pivot);排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在本次排序退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作... 阅读全文

posted @ 2015-02-04 15:49 Jackbase 阅读(1423) 评论(1) 推荐(2) 编辑

基础算法之冒泡排序Bubble Sort
摘要:原理将相邻的数据两两进行比较,按照从小到大或者从大到小的顺序进行位置交换,这样一趟过去后,最大或最小的数字被交换到了最后一位,然后从头开始再次进行两两比较交换,直到倒数第二位时结束。按照此规则,若干趟数据便按照了从小到大或者从大到小完成了排序。例子将数组[3,6,4,2,5,1]进行从大到小排序第一... 阅读全文

posted @ 2015-02-03 16:06 Jackbase 阅读(1127) 评论(2) 推荐(0) 编辑