logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

大顶堆排序java实现

堆的性质:(1)性质:完全二叉树或者是近似完全二叉树;(2)分类:大顶堆:父节点不小于子节点键值,小顶堆:父节点不大于子节点键值;图展示一个最小堆:(3)左右孩子:没有大小的顺序。(4)堆的存储一般都用数组来存储堆,i结点的父结点下标就为(i–1)/2。它的左右子结点下标分别为2∗i+1和2∗i+2。如第0个结点左右子结点下标分别为1和2。(5)堆的操作建立:以最小堆为例,如果以数组存储元素时,一

#java#数据结构#算法
深入理解JVM之类加载机制

上一章我们学习了Class文件存储格式的具体细节,在Class文件中描述的各类信息,最终都需要加 载到虚拟机中之后才能被运行和使用。而虚拟机如何加载这些Class文件,Class文件中的信息进入到虚 拟机后会发生什么变化,这些都是本章将要讲解的内容。Java虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析和初始化,最 终形成可以被虚拟机直接使用的Java类型,这个过程被称

文章图片
#java#开发语言
深入理解jvm第二章读书笔记

本文直接从第二章的主要内容开始记录(第一章主要是java的发展历程等内容 有兴趣可自查)上图运行时数据区中 方法区和堆是线程共享、虚拟机栈、本地方法去、程序计数器为私有程序计数器程序计数器(Program Counter Register)是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。在Java虚拟机的概念模型里,是通过改变这个计数器的值来选取下一条需要执行的字节码指令,它

文章图片
#java
01背包问题三种解决(贪心动态规划分支限界)

一、实验目的1、深入理解背包相关问题。2、能正确设计相应的算法,解决实际问题。3、掌握算法时间复杂度分析。二、实验要求用3种方法求解0-1背包问题(贪心算法、动态规划、分支限界法),获得精确最优解或近似最优解均可。通过一个规模较大的实例比较不同方法的求解速度,分析不同算法的时间复杂度,并分析是否能获得最优解。实验结果跟实验设置的参数(如:背包容量、物品的体积)关系很大,简要分析参数对结果的影响。三

#动态规划#算法#c++
哈夫曼编码实验报告

二.实验内容:题目:哈夫曼编码/译码问题描述:利用哈夫曼编码进行通信可以大大提高信道利用率,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码(复原)。对于双工信道(即可以双向传输信息的信道),每端都需要一个完整的编/译码系统。试为这样的信息收发编写一个哈夫曼码的编/译码系统。基本要求:接收原始数据(电文):从终端输入电文(电文为一

#算法#p2p#c++ +1
到底了