![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
江月几时有
人生苦短,我用python
展开
-
数据结构与算法-排序(二)
快速排序基本思想 快速排序是基于一种“二分”的思想,相比较冒泡排序,总的比较和交换的次数减少。核心是设置基准点,跳跃式交换,平均时间复杂度为O(NlogN)。代码实现(python)import randomdef quick_sort(arr, left, right): if left > right: return # temp存的基准数 tem原创 2017-03-25 12:22:21 · 256 阅读 · 0 评论 -
数据结构与算法-排序(一)
算法排序冒泡排序基本思想 每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来。核心是双重嵌套循环,时间复杂度是O(N*N)python代码实现def bubble_sort(test_list): for i in range(1, len(test_list)): for j in range(0, len(test_list)-i):原创 2017-03-11 17:24:32 · 504 阅读 · 0 评论 -
数据结构与算法-排序(三)
归并排序 基本思想 假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后两两归并,得到[n/2]个长度为2或者1的有序子序列;再两两归并,…,如此重复,直至得到一个长度为n的有序序列为止。归并排序是一种比较占用内存,但是却效率高并稳定的算法,时间复杂度是O(logN). 代码实现(python)#! /usr/bin/env python# -*- co原创 2017-03-25 18:21:27 · 244 阅读 · 0 评论