Loading

摘要: 一、概述 我们知道java代码先编译为.class文件,然后再将.class文件交由jvm执行。在程序运行的这一过程中,jvm会将其管理的内存空间划分为不同的区域,这些区域各有各的用途,我们将其分为五类: 方法区 堆 虚拟机栈 本地方法栈 程序计数器 其中方法区和堆是线程共享的,随jvm启动和停止而 阅读全文
posted @ 2020-08-06 17:59 Createsequence 阅读(427) 评论(6) 推荐(4) 编辑
摘要: 一、概述 曾经纠结了很久java的参数传递方式是什么样的,后面粗略的了解了一鳞半爪以后有了大概的印象:“传参数就是值传递,传对象就是引用传递”,后面进一步查找了相关资料和文章以后,发现这么理解是不正确的。 这里先放结论: java中参数的传递可以理解为都是值传递 基础数据类型传递的是值的拷贝 对象类 阅读全文
posted @ 2020-08-05 14:02 Createsequence 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 一、什么是图 1.概述 首先,我们已经在之前学习过了树这种数据结构,树能反映一对多的关系,但是却无法反映多对多的关系,因此我们引入了图这种数据结构。 对于图,其节点也可以叫做顶点,每个节点具有零或者多个相连节点,每个节点之间的连接称为边,从一个节点到达另一个节点路线都称为路径。 以上图为例,其中: 阅读全文
posted @ 2020-08-04 22:03 Createsequence 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 一、什么是多路查找树 二叉树有诸多便利之处,但是当二叉树节点极多时,二叉树的构建速度就会受影响,而且过高的层数也会导致对树的操作效率降低。 对于树的查找而言,树的高度决定了查找的时间下限,但是同样数量的节点,如果要高度小那每一层容纳的节点就要多,而二叉树每一层固定的节点数导致的高度难以降低,为此每一 阅读全文
posted @ 2020-07-25 19:48 Createsequence 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 一、什么是平衡二叉树 1.概述 平衡二叉树(AVL树)是一种带有平衡条件的二叉搜索树。它的特性如下: AVL树的左右两个子树的高度差的绝对值不超过1 AVL树的左右两个子树都是一棵平衡二叉树 举个例子,如上图所示: 第一棵树左树高2,右树高1,差值为1,是一颗AVL树; 第二棵树左树高2,右树高2, 阅读全文
posted @ 2020-07-23 22:16 Createsequence 阅读(199) 评论(0) 推荐(0) 编辑
摘要: 一、什么是二叉排序树 二叉排序树(Binary Sort Tree)又称二叉查找树、二叉搜索树。 它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别 阅读全文
posted @ 2020-07-20 17:13 Createsequence 阅读(321) 评论(0) 推荐(0) 编辑
摘要: 一、什么是赫夫曼编码 哈夫曼编码(Huffman Coding),又称霍夫曼编码,是一种编码方式,可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码, 使用赫夫曼编码可以有效的压缩数据,通常可以节省 阅读全文
posted @ 2020-07-19 18:47 Createsequence 阅读(782) 评论(0) 推荐(1) 编辑
摘要: 一、什么是赫夫曼树 给定n个权值作为n个叶子节点,构造一课二叉树,若该树的带权路径长度和(wpl)达到最小,称这样的二叉树为最优二叉树,也就是赫夫曼树。 要理解这句话,我们需要了解几个关键词: 路径:从一个节点往下一个节点之间的通路。若根节点层数为1,则根节点通往L层的节点路径长度为L-1 带权路径 阅读全文
posted @ 2020-07-17 18:05 Createsequence 阅读(282) 评论(0) 推荐(1) 编辑
摘要: 一、什么是堆排序 1.堆,堆排序 对于“堆”我们可以理解为具有以下性质的完全二叉树: 每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆 每个结点的值都小于或等于其左右孩子结点的值,称为小顶堆 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均 阅读全文
posted @ 2020-07-16 21:17 Createsequence 阅读(379) 评论(0) 推荐(0) 编辑
摘要: 一直都用博客园写博客,后面自己曾经想自己写一个博客项目,但是因为各种各样的事情最后做了一半就没能继续做下去。但是中间定制markdawn样式的时候接触到的代码高亮插件highlight.js倒是给我留下了很深的影响,今天有时间于是决定利用当初的经验重新diy一下博客园的代码块样式,算是对夭折的博客项 阅读全文
posted @ 2020-07-13 16:59 Createsequence 阅读(3531) 评论(4) 推荐(8) 编辑