07 2019 档案
摘要:二叉排序树(Binary Sorted Tree)是二叉树的另一个典型应用,之所以称之为二叉排序树,是因为这种二叉树结构在创建的时候遵循一些特殊的规则,并且在对这棵二叉树进行制定顺序的遍历之后,能够得到一个有序序列。 二叉排序树相当于是另一种排序算法的实现。但...
阅读全文
摘要:哈夫曼树是二叉树的一种经典应用,哈夫曼树和哈夫曼编码经常搭配使用,用来创建一篇文章对应的加密编码,并且能够对这篇 文章进行加密和解密,通过哈夫曼编码加密后的文章完全通过01构成,并且每一篇文章因为内容的不同,即使是相同的字符所对应的的哈夫曼编码也是不...
阅读全文
摘要:在经典二叉树问题中,还有一类题目,那就是给定深度优先遍历序列三种顺序中的两种,反推一棵二叉树的结构图。实际上这种问题具有很强的技巧性,只要我们记住这一技巧,就能够很容易的推断出整个二叉树的结构。 请记住如下规律:中序定左右,树根看先后 但是需要注意的是:在给定...
阅读全文
摘要:为了方便我们的讨论,在学习二叉树节点的遍历方式之前,我们创建一个二叉树的结构,以此来讨论二叉树的各种遍历方式 二叉树的各种方式的遍历,是一个既简单又麻烦的问题。简单在于,找到规律后我们会发现:如何遍历整个二叉树结构,如何遍历二叉树的子树结构,这个过程直接使用...
阅读全文
摘要:二叉树结构一直以来都是数据结构课程中的重点和难点。在原始的二叉树的基础上,有不断演化出了很多其他基于二叉树的结构,但是不管从二叉树衍生出来的结构多么复杂多变,但是底层对于二叉树结构的理论和操作都是相通的。所以从最基本的原生二叉树开始,不断进行总结和实践,最终达...
阅读全文
摘要:上面我们已经学习的4种高级排序算法:归并排序、快速排序、堆排序和桶排序。 归并、快速排序 堆排序、桶排序 下面我们通过一个实验案例来进行上述4种排序算法效率的直观比较。 实验内容:创建4个具有相同初始化长度、初始化元素内容和元素顺序的,长度为100000的正整...
阅读全文
摘要:一、堆排序 1、排序原理 堆,是一种类似于二叉树的结构。也就是说,在堆中,每一个待排序序列的元素都可以看做是一个堆的节点,而堆的每一个节点,又有两个子节点。 我们称图中任何一个节点下方的左右两个分支节点为其左右孩子节点,这个节点本身称之为其...
阅读全文
摘要:一、归并排序 1、排序原理 归并排序算法是一种利用了分治算法思想实现的排序算法,这种排序算法是基于有序数组合并的归并排序算法的基本思想就是:判断一个待排序序列的长度,只要这个待排序序列的长度是超过1的,那么久将这个待排序序列进行折半直到一个待排序序列的长度为1...
阅读全文
摘要:Maven 包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(p...
阅读全文
摘要:前面我们已经讲过坐标、依赖以及仓库,Maven的另外两个核心概念是生命周期和插件。生命周期和插件二者协同工作,密不可分。 1. Maven生命周期基本概念 1) Maven的生命周期就是为了对所有的构建过程进行抽象和统一。Maven总结了一套高度完善的、易扩展...
阅读全文
摘要:我们可以在cmd 中通过一系列的 maven 命令来对我们的 maven-helloworld 工程进行编译、测试、运行、打包、安装、部署。 1、compile compile 是 maven 工程的编译命令,作用是将 src/main/java 下的文件编译...
阅读全文
摘要:上面我们已经学习的4种基本排序算法:冒泡排序、选择排序、插值排序和希尔排序。 冒泡、选择排序 插值、希尔排序 下面我们通过一个实验案例来进行上述4种排序算法效率的直观比较。 实验内容:创建4个具有相同初始化长度、初始化元素内容和元素顺序的,长度为100000...
阅读全文
摘要:一、差值排序 1、排序原理 在学习插值排序之前,首先让我们回忆一下我们曾经玩过的扑克牌游戏的抓牌的过程:假设现在我的手里有4张牌,分别是♥A,♦3,♥8和❀9,并且我从牌堆中又抽取了一张牌,这张牌是♠7,那么,我们应该如何确定这张♠7应该放在我手牌中的什么位置...
阅读全文


浙公网安备 33010602011771号