
数据结构
珞珈山小杨
励志一直做一个有梦想的人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
堆排序算法
##堆的定义 堆是一颗二叉完全树,可氛围大根堆与小根堆。 大根堆:左右子节点的值小于其父节点的值。 小根堆:左右子节点的值大于父节点的值。 堆排序的实现(以数组为例,建立大根堆,父节点为a[i]时,则左右子节点分别为a[2i+1]与a[2i+2]) 建立堆:找到第一个非叶节点,调整该以节点为跟的子树为大根堆,在一次调整其他非叶节点,直到根节点。 排序:将堆的根节点,与尾节点交换(即交换数组第...原创 2019-03-15 12:55:31 · 155 阅读 · 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 · 415 阅读 · 0 评论 -
平衡搜索树的一种简单代码
public class AvlTree { //平衡二叉树不平衡有四种情况(去除对称其实只有两种) //即左左,右右,左右,右左(可自行画图脑补) //对应解决办法为 左旋 右旋 先左旋后右旋 先右旋后左旋 //这里写的是最直观最简单也是效率比较低的写法 class TreeNode{ int val; int heigh...原创 2019-07-04 20:57:07 · 204 阅读 · 0 评论