随笔分类 - 树
摘要:定义及性质 AVL树:AVL树是一颗自平衡的二叉搜索树. AVL树具有以下性质: 根的左右子树的高度只差的绝对值不能超过1 根的左右子树都是 平衡二叉树(AVL树) 百度百科: 平衡二叉搜索树(Self-balancing binary search tree)又被称为AVL树(有别于AVL算法)
阅读全文
摘要:二叉搜索树 定义 class BiTreeNode: def __init__(self, data): self.data = data self.lchild = None self.rchild = None class BST: def __init__(self, li=None): se
阅读全文
摘要:# 1.简单版# 二叉树的搜索也可以分DFS和BFS 分别可以用栈和队列实现,也可以递归实现from collections import deque class BiTreeNode: def __init__(self, data): self.data = data self.lchild = None self.rchild = ...
阅读全文
摘要:三、堆排序-----内置模块 优先队列:一些元素的集合,POP操作每次执行都会从优先队列中弹出最大(或最小)的元素。 堆——优先队列 Python内置模块——heapq heapify(x) #将list类型转化为heap, 在线性时间内, 重新排列列表 heappush(heap, item) heappop(heap) 利用heapq模块实现堆排序 import heapq ...
阅读全文
摘要:树和二叉树简介 一、树 1、什么是树? 树状图是一种数据结构,它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父
阅读全文
摘要:本文转载自:http://www.cnblogs.com/yangecnu/p/Introduce-B-Tree-and-B-Plus-Tree.html 维基百科对B树的定义为“在计算机科学中,B树(B-tree)是一种树状数据结构,它能够存储数据、对其进行排序并允许以O(log n)的时间复杂度
阅读全文