基础算法
嫌疑人X的解忧杂货店
这个作者很懒,什么都没留下…
展开
-
数据结构基础算法整理归纳:二分查找算法(一)
如今,对于学生来说,面试各大公司,免不了要考察对于数据结构的基础算法的掌握情况。由于自己的学习时间过长,对于这些基础算法的掌握有些遗忘,面试的时候碰了一鼻子的灰,加之学习算法的时候使用C语言学习,为何适应自己所熟悉的语法,故在此总结一下常用的算法思路,并使用JAVA和Python实现基础算法,并运行调通。一、二分查找算法。二分查找(折半查找)算法的基本思路如下:首先,假设表中元素是按升序排列,将表...原创 2018-02-18 23:00:24 · 302 阅读 · 0 评论 -
数据结构基础算法整理归纳:冒泡排序(二)
二、冒泡排序算法。冒泡排序的基本思路如下:首先进行一趟冒泡排序,比较第一个元素和他相邻的元素。如果第一个比第二个大(或者小,最后结果是顺序或者逆序),就交换他们两个。之后,第一个元素与第三个元素比较(如果交换,就是第二个元素而和第三个元素),之后挨个比较其他元素,最后的那个元素就是最大或者最小的。然后,进行第二趟,第二趟从,第二个元素开始,然后重复上述步骤。持续每次对越来越少的元素重复上面的步骤,...原创 2018-03-01 22:44:40 · 203 阅读 · 0 评论 -
数据结构基础算法整理归纳:插入排序(三)
三、插入排序老规矩,首先,重复一下插入排序的基础原理。插入排序:有一个有序(空记录也看做有序)的记录,每步将一个待排序的记录,按其关键码值的大小插入前面已经排序的文件中适当位置上,直到全部插入完为止。因为,每次插入一个,所以对于一个序列,插入的部分,有序;没插入的部分无序。因此,在循环当中,如果第 i 个元素比前面的元素大,则跳过 i 元素,扫描下一个元素(其实已经将i元素插入到了有序部分的最后)...原创 2018-03-01 23:10:08 · 139 阅读 · 0 评论 -
数据结构基础算法整理归纳:选择排序(四)
这次是选择排序。所谓选择排序,就是从已知的序列中选一个出来,将其放到正确的位置,有点类似于插入排序。但对于插入排序,选择排序是对为排序的序列进行操作(从无序的序列中选出最小的),而插入排序是,从无序序列中随便(每次选无序序列中的第一个元素)取一个出来,将其按顺序插入到有序序列当中。因此,选择排序的思想就显而易见:从无序的序列中选择一个最小(或者最大的元素),将其一次放入有序的序列当中即可。下面是代...原创 2018-03-03 00:11:30 · 150 阅读 · 0 评论 -
数据结构基础算法整理归纳:快速排序(五)
今天说的是快速排序,这个也是面试经常考到的,所以大家应当格外的注意。还是先说思想,快速排序:选取序列的第一个元素(或任意元素)作为标兵,在序列左边和右边两端分别设置一个指针(数组的话,就是数组下标)。首先,从序列的右端开始扫描,如果右端的第一个元素比标兵小,那么将改元素的值填充到左边指向的位置,并将指针向左移动一个;然后指针从左端向右开始扫描,如果左端元素比标兵大的话,将改元素的值填充到右边指针所...原创 2018-03-04 00:46:08 · 148 阅读 · 0 评论 -
数据结构基础:朴素字符串匹配算法
这次主要讲的是串匹配,首先是比较简单的朴素匹配算法,原理很简单,就是如果两个字符串第一位相同,就分别指向下一位,如果不相同,母串指向下一位,子串指向第一位。Python代码如下:def pusu (a,b): # a是母串,b是子串 i,j=len(a),len m,n=0,0 while m<i and if a[...原创 2018-03-06 00:06:42 · 325 阅读 · 0 评论