摘要: 1.定义树节点 二叉树是每个结点最多有两个子树的树结构,通常子树被称作“左子树”和“右子树”。 1 class Node(object): 2 """树的节点""" 3 def __init__(self, item): # 构建树节点时,需要传入节点数据元素 4 self.elem = item 阅读全文
posted @ 2020-05-25 23:12 孔子?孟子?小柱子! 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 二分查找算法是针对有序数据集合的查找算法,也叫折半查找算法:每次都通过跟区间的中间元素对比,将待查找的区间缩小为之前的一半,直到找到要查找的元素,或者区间被缩小为0。二分查找的最好时间复杂度是O(1),最坏时间复杂度是O(logn),这种对数时间复杂度极其高效,有时甚至比O(1)的算法还要高效。 1 阅读全文
posted @ 2020-05-25 16:17 孔子?孟子?小柱子! 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 1.冒泡排序 # 冒泡排序在遍历时,每次只比较相邻的两个元素,并把较大的元素放在后面。 # 冒泡排序的每次遍历,得到的较大数的位置都会被确定。 # 是稳定的原地排序算法。 # 最好情况下,要排序的数据已经是有序的,只需要进行一次冒泡操作,最好情况时间复杂度是O(n);最坏的情况是要排序的数据刚好是倒 阅读全文
posted @ 2020-05-25 15:47 孔子?孟子?小柱子! 阅读(378) 评论(0) 推荐(0) 编辑