数据结构
海涛czwx
努力工作,努力生活
展开
-
简述二叉树的特性和分类
二叉树的分类:满二叉树:除最后一层且最后一层无任何子节点外,每一层上的所有结点都有两个子结点的二叉树叫满二叉树;完全二叉树:一棵二叉树最多只有最下面的一层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树;平衡二叉树:它是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树原创 2017-12-09 16:39:51 · 2053 阅读 · 0 评论 -
JVM入门必看——JVM结构
转自:https://www.cnblogs.com/xuningchuanblogs/p/7688332.html转载 2018-10-01 10:29:00 · 234 阅读 · 0 评论 -
堆其实是个很简单的数据结构
说到堆这种数据结构,很多人的第一反应是感觉很复杂,其实不然,堆就是个优先级队列而已,或者,堆其实就是一种树。本文先讲原理,后面给出堆的实现代码。优先级队列可以用有序数组来实现,这种做法的问题是,尽管删除最大数据项的时间复杂度为O(1),但是插入还是需要较长的O(N)时间,这是因为必须移动数组中平均一半的数据项以插入新数据项,并在完成插入后,数组依然有序。本文主要介绍实现优先级队...原创 2018-09-26 12:04:42 · 408 阅读 · 1 评论 -
volatile 关键字 解析
对于volatile这个关键字,相信很多朋友都听说过,甚至使用过,这个关键字虽然字面上理解起来比较简单,但是要用好起来却不是一件容易的事。这篇文章将从多个方面来讲解volatile,让你对它更加理解。计算机中为什么会出现线程不安全的问题volatile既然是与线程安全有关的问题,那我们先来了解一下计算机在处理数据的过程中为什么会出现线程不安全的问题。大家都知道,计算机在执行程序时,每条...原创 2018-10-26 10:34:42 · 174 阅读 · 0 评论 -
用两个栈实现队列
package test;import java.util.Stack;public class StackQueneTest { private Stack<Integer> stackA = new Stack<Integer>(); private Stack<Integer> stackB = new Stack<Integer&g...原创 2018-11-02 11:47:08 · 194 阅读 · 0 评论