
算法
moon聊技术
我是moon
文章首发于我的微信公众号:moon聊技术,欢迎大家关注 !
关注后回复666 有一线大厂面试题赠送,助你成为offer收割机!
展开
-
排序算法之冒泡排序
冒泡排序冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果他们的顺序(如从大到小、首字母从A到Z)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料...原创 2019-01-27 15:47:10 · 227 阅读 · 0 评论 -
排序算法之选择排序
选择排序选择排序选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。说下基本思路:选择某个索引的元素,然后和后面元素依次比较,若大于则交换位置...原创 2019-01-27 16:40:23 · 249 阅读 · 0 评论 -
搜索算法之二分法查找
二分法查找算法:二分法查找适用于数据量较大时,但是数据需要先排好顺序。主要思想是:(设查找的数组区间为array[low, high])(1)确定该区间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T 由数组的有序性可知array[k,k+1,……,high]>T;故新的区间...原创 2019-01-28 14:58:04 · 1139 阅读 · 0 评论 -
排序算法之直接插入排序
直接插入排序直接插入排序直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从而得到一个新的、记录数量增1的有序表。直接插入排序实现思想:第一轮从第二个数开始,第二个数与第一个数开始比较,若比第一个数小,则插入到第一个数后面,第二轮第三个数和第二个数比较,如果比第二个数小,则直接插入到第二个数后面,若比第二个数大...原创 2019-01-28 18:22:00 · 353 阅读 · 0 评论 -
搜索算法之顺序表查找
搜索算法之顺序表查找顺序表查找又叫线性查找,是最近本的朝赵技术,它的查找过程是;从第一个或者最后一个记录开始,逐个进行记录的关键字和给定值比计较,若某个关键字和给定值相等,则查找成功,找到所查的记录;若果直到最后一个或第一个记录,其关键字和给定值比较都不相等时,则表中没有所查的记录,查找不成功实现思想,用给定值和数组中的元素从头到尾一一比较,若相等则直接返回索引,查找成功,若没查询到就返回查找...原创 2019-01-29 18:21:12 · 515 阅读 · 0 评论 -
算法之求最大公约数
以下方法就拿30 和18 这两个数来举例子方法一:质因子分解30 = 2 * 3 * 518 = 2 * 3 * 3故它们的最大公约数是2*3=6方法二:辗转相除法第一步把 30 当做a把 18 当做b30 / 18 = 1 余 12第二步把 18 当做a把 上一步的余数12当做b18 / 12 = 1 余 6第三步把 12 当做a把 上一步的余数6当做b12 ...原创 2019-05-13 16:50:33 · 285 阅读 · 0 评论