![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
samsara_1
这个作者很懒,什么都没留下…
展开
-
二叉树的实现与遍历(Python)
1.二叉树是指每个节点最多有两个子树的树结构。 2.二叉树的数学性质:a.第I层上至多有2^(i-1)个节点 b.对于一个深度为k的二叉树,最多有(2^k - 1)个节点 c.任意一个二叉树,叶节点个数为N0,度数为2的节点个数为N2,N0=N2+1...原创 2019-05-02 12:35:42 · 185 阅读 · 0 评论 -
常见排序算法Python实现
冒泡排序: 最优时间复杂度:O(n) 最坏时间复杂度:O(n^2) 稳定性:稳定 def bubble_sort(alist): """冒泡排序""" for j in range(len(alist)-1, 0, -1): count = 0 for i in range(j): if alist[i] > al...原创 2019-05-03 11:23:11 · 198 阅读 · 0 评论 -
堆排序Python实现
首先说堆,什么是堆? 堆(默认大根堆)有两个特点:1.堆都是完全二叉树 2.堆的父节点的值都大于其孩子节点的值 其次我们要生成一个堆,也就是我们要从堆的最后一个父节点(度不为0的节点,按层次遍历数)开始往前依次进行堆化,以此递归的生成大根堆。 def max_heapify(heap, heapSize, root): """堆化""" left = 2*root...原创 2019-05-04 12:33:59 · 2203 阅读 · 1 评论