![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
ai芒果
这个作者很懒,什么都没留下…
展开
-
关于数组常见面试题 一(python详解)
总结的一些关于数组的常见面试题(一)1.寻找中数组中第二小的元素思路1:直接排序,取值def second_smallest(arr): #升序排列1位置对应数组第二小元素 arr=sorted(arr) return arr[1]思路2:用one和two分别存放最小值和第二小值def second_smallest(arr): one=float("inf") two=float("inf") for i in arr: if i <one: two=one原创 2020-06-21 23:26:21 · 526 阅读 · 0 评论 -
常见的非比较类的排序算法(python详解)
常见的非比较类的排序算法计数排序,桶排序,基数排序,时间复杂度都为O(n+k),都为稳定算法1.计数排序主要思想:借助额外的空间(索引与值的关系存储)记录各值出现的次数,适合元素范围(k个不同元素)较集中的排序python实现:def count_sort(arr): #申请额外空间数组 min_value=min(arr) max_value=max(arr) k=max_value-min_value+1 count=[0]*k #额外空间用来存放对应元素出现的次数 #未排序序原创 2020-06-21 12:22:50 · 2525 阅读 · 0 评论 -
常见的7种比较类排序算法(python详解)
常见的7种比较类排序算法(python详解)常见的7种比较类的排序算法冒泡排序、插入排序、选择排序、快速排序、希尔排序、归并排序、堆排序详解以及python实现算法稳定:对于序列中元素相等的值,若排序后前后顺序不变,则算法稳定1. 冒泡排序时间复杂度O(n2)稳定主要思想:每次排序时,从头开始两两进行比较,较小的数向前“冒”,较大的数向后“沉”python实现:def bubble_sort(arr): for i in range(0,len(arr)): #每排序一次,经过两两比原创 2020-06-20 12:32:57 · 1410 阅读 · 0 评论