齐天大圣

二叉树基础 什么是二叉树? 二叉树(Binary Tree)是包含 n 个节点的有限集合,该集合或者为空集(此时,二叉树称为空树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。 二叉树种类 完全二叉树 叶节点只能出现在最下层和次下层,并且最下面一层的结点都集中在该层最左边的若干位置的二叉树。完全二叉树特点: 只允许最后一层有空缺节点且空缺节...

堆基础 堆定义 堆是一颗完全二叉树 堆中某个节点的值总是不大于(小根堆)或不小于其父节点(大根堆)的值 用数组来实现 大根堆、小根堆 大根堆 每个节点的值都大于等于子节点的值;最大值在根节点 小根堆 每个节点的值都小于等于子节点的值;最小值在根节点 堆排序 构建堆,取堆顶为最小 (最大) 将剩下的元素重新构建一个堆,取堆顶,一直到元素取完...

01 数据结构和算法基础

数据结构基础 「数据结构」 指的是 数据的组织结构,用来组织、存储数据。数据结构可以分为 「逻辑结构」 和 「物理结构」。 逻辑结构可分为:集合结构、线性结构、树形结构、图形结构。 物理结构可分为:顺序存储结构、链式存储结构 作为线性表的两种存储方式 —— 链表和数组 数组 数组,所有元素都连续的存储于一段内存中,且每个元素占用的内存大小相同。这使得数组具备了通过下标快...

责任链模式基础

责任链模式 责任链模式定义 是一个请求有多个对象来处理,这些对象是一条链,但具体由哪个对象来处理,根据条件判断来确定,如果不能处理会传递给该链中的下一个对象,直到有对象处理它为止。 将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。以上定义来自《设计模式之美》 官方图解: ...