![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
珞珈山小杨
励志一直做一个有梦想的人
展开
-
堆排序算法
##堆的定义堆是一颗二叉完全树,可氛围大根堆与小根堆。大根堆:左右子节点的值小于其父节点的值。小根堆:左右子节点的值大于父节点的值。堆排序的实现(以数组为例,建立大根堆,父节点为a[i]时,则左右子节点分别为a[2i+1]与a[2i+2])建立堆:找到第一个非叶节点,调整该以节点为跟的子树为大根堆,在一次调整其他非叶节点,直到根节点。排序:将堆的根节点,与尾节点交换(即交换数组第...原创 2019-03-15 12:55:31 · 122 阅读 · 0 评论 -
牛客网剑指offer题解(66题)
import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.Comparator;import java.util.List;import java.util.PriorityQueue;import java.util.Queue;import ja...原创 2019-04-26 14:48:39 · 350 阅读 · 0 评论 -
平衡搜索树的一种简单代码
public class AvlTree { //平衡二叉树不平衡有四种情况(去除对称其实只有两种) //即左左,右右,左右,右左(可自行画图脑补) //对应解决办法为 左旋 右旋 先左旋后右旋 先右旋后左旋 //这里写的是最直观最简单也是效率比较低的写法 class TreeNode{ int val; int heigh...原创 2019-07-04 20:57:07 · 169 阅读 · 0 评论