![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
_missTu_
努力大于天赋的女孩,英语专八通过者,岗位是算法工程师。
展开
-
python 选择排序
选择排序算法思想: 如果有N个元素需要排序,先假设最小的值为第0位置上的元素,然后从下标为1至N个元素中找到最小的那个元素,如找到的最小值元素与第0位置上的元素值不相同,才进行交换。一轮之后,第一个元素就是有序的了。接下来是从下标为2~~N的元素中找出最小值…共比较N-1轮。 python代码实现: class Solution: def selectSort(self, arr): ...原创 2019-05-24 16:20:15 · 90 阅读 · 0 评论 -
python 插入排序
插入排序算法思想: 每次将一个待排序的对象,按照关键码大小,插入到前面有序的一组对象上,有序的那组对象长度不断增加,直到待排序对象已经全部插入为止。 ...原创 2019-05-24 22:49:10 · 98 阅读 · 0 评论 -
python 归并排序
1. 归并排序算法思想: 主要是使用了分治法的思想,将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。 (1)分解成子问题 问题缩小到一定规模就更容易解决,归并排序的分解如下图所示: (2)求解且合并 第一步排序且合并的过程如下: 合并到更高的层级: 直到最后一组,整个数据有序: 2. 以最后一步为例,详细解析: 如何把两个已经有序的子序列利用辅助空间合...原创 2019-05-25 11:59:51 · 329 阅读 · 0 评论 -
二叉搜索树及其操作(python代码实现)
1. 二叉搜索树性质 每个结点的健值大于左孩子,每个结点的健值小于右孩子,以左右孩子为根的子树仍为二叉搜索树。**注意:**二叉搜索树不一定是完全二叉树。 例如下图: 2. 二叉搜索树的常用操作(python代码实现) (1)定义二叉搜索树的节点信息 class TreeNode(object):#定义二叉搜索树的节点信息 def __init__(self, x): s...原创 2019-05-30 22:43:44 · 871 阅读 · 0 评论 -
python 快速排序
1.快速排序 思想 也主要利用了分治法的思想,先将待排序序列分为两部分。 如下图所示,若以4为划分的标准,划分为两部分之后,左边部分要比4小,右边部分要比4大。 ...原创 2019-05-29 23:57:42 · 69 阅读 · 0 评论