算法
s_ss0921
这个作者很懒,什么都没留下…
展开
-
选择排序
选择排序是一种灵巧的算法,但是其速度不是很快。 选择排序算法的核心思想是在一个乱序的需要排序的数组中,选择一个最小的数放到另外一个数组中,第二次从数组中选出一个次小的,依次重复,直到把第一个数组中的所有数据排序完成。 时间复杂度的计算,每次需要在第一个数组中遍历一遍数据,找到最小的数据,所以每次的时间复杂度为O(n)。需要循环n次才能排序完成,所以时间复杂度为O(n^2)。 python示例...原创 2018-09-09 19:21:34 · 109 阅读 · 0 评论 -
快速排序
快速排序是一种常用的排序算法,比选择排序快的多,它的时间复杂度为O(nlogn)。 快速排序算法的核心思想是在一个乱序的数组中选择一个数值(基准值),遍历数组比这个基准值小的数据放到一个较小的数组中,比这个基准值大的数据放到一个较大的数组中,对较小的数组和较大的数组重复进行相同的找基准值,分离数组。直到数组中只剩下一个或者为空为退出条件。把所有排序好的数组组合起来就是最终的数组。 递归退出条件...原创 2018-09-09 21:57:37 · 108 阅读 · 0 评论 -
二分法查找
二分法查找是一种比较快速的查找数据的算法,它的时间复杂度为O(logn)。 二分法查找的核心思想是从一个排序好的数组中,进行折半查找。每次判断最中间的位置,如果比要查找的数据大则在小的那部分继续查找。反之,则在大的那部分查找,直到找到数据或者查找完数据退出。 python示例代码: def binary_search1(list,item): low = 0 ...原创 2018-09-09 22:16:51 · 177 阅读 · 0 评论