`
lazyee
  • 浏览: 15538 次
社区版块
存档分类
最新评论
文章列表
  问题是这样的:如何存储5亿个正整数,并对这些数据进行排重。   直接用一个长度为5亿的int型数组存起来?这显然是不可能的,让我们来计算一下:   一个int型数据占用4byte,5亿个正整数也就是1.6*10^10bit,约为16G,16G的数据全存在内存里,内存显然不够用。那么,如何才能缩小占用空间呢?   再回到问题上看看,问题要求对数据进行排重,在用int存储的情况下,这5亿个数据的范围也就是0-2^31,排重的结果不过就是0到2^31的每一个数值都最多只有一个数存在。约定用1表示有这个数,0表示没有这个数,如此一来就可以用一个bit来表示一个数了。   解决方法如下:建立一个长度为 ...
  哈弗曼树是一种特殊的二叉树。   定义:  构造一棵二叉树,若该二叉树的带权路径长度为最小值,则此二叉树可称为哈弗曼树。   解释:  带权路径长度:树中各叶结点到根结点需要经过的最短层数与该结点上 ...
滑杆JSlider类是让用户能够通过滑块的滑动来改变选择值的组件。     与JLabel、JButton相似,JSlider也可以作为小组件放置在面板上。下面以用滑杆改变颜色使画出的图像动态变化为例,说明滑杆的使用。 在这个程序中,我们需要4个类:一个面板类三个监听器类。     面板类:     面板最好分成左右两块,左边放置需要的小组件(按钮、标签、滑杆),右边作为绘画区域。     动作监听器ActionListener:     用来监听按钮,获得按钮文本,从而判断要进行的操作。在这里由于动作监听器所需要完成的功能很少,也可以将其作为一个内部类放置在面板类中。     鼠标监听器Mo ...
对于分形,我的理解就是:由小元件组成整体,然后再用另一或相同整体替换元件形成的循环迭代图形。 下面以谢尔平斯基三角形为例,介绍下最简单的分形思路。 第一步,先构造一个正三角形,取正三角形三边中点并连线,形成一个内置倒三角形,然后把周围3个三角形又分别作为一个基元重复上述操作,多迭代几次就成了第三个图的样子。        界面初始代码如下: import java.awt.Graphics; import javax.swing.JFrame; //谢尔宾斯基三角形 public class DrawPanel extends JFrame{ /** * 程序的入口主函 ...
在之前的重绘中,用到了数组来传递数据,但是这个数组只能用于某种特定情形中,如果要存入别的数据,就又要定义新的数组了,这样既麻烦又耗时。为了使用方便,我们可以定义一个通用的存储数据的结构,使用时只需更改传入对象的类型就好。这样一个用来存储数据的通用结构就是队列,队列中一般有几种基本的方法:数据对象的添加、插入、删除、获取、队列长度的获取。 有两种基本的实现队列的方法: 用数组实现的队列和用链表实现的队列。 一、用数组实现的队列 1、如何用数组实现队列 用数组实现的队列实质上就是用队列包装了的数组。在队列中还是用一个数组来存储信息,并定义了几个队数组进行基本操作(添加、获取数组元素、数组 ...
一、事件机制 1、事件参与者 事件机制的参与者有三个:事件源,监听器方法(事件类型),事件的处理者。 事件源:事件源是发起动作的对象,java中所有的图形界面组件都可以成为事件源对象。 监听器方法:监听器方法监听某个对象,一旦它发起监听器可识别的动作,监听器方法产生反馈信息。Java中有4种常用的监听器:ActionListener()、   MouseListener()、MouseMotionListener()、KeyListener()。 事件的处理者:最终执行反馈行为的对象,这个类必须实现事件接口。 2、 事件机制流程 事件源发起动作,监听器监听到动作的发生,捕获动作信息及 ...
在前面简单登录界面实现的基础上更进一步,尝试实现QQ登录界面。 首先打开新版QQ的登陆界面,可以发现它有着典型的边框布局特点。一整块的背景,我们暂时不能实现,可当成是北边的部分;西边是我们的头像显示;中央为 ...
要用java实现一个简单登陆界面,首先应该来了解下java中有关图形界面的工具。 Swing开发: 一、java图形界面的分类 1、awt:在jdk 1.4之前一般使用awt,优点是功能强大,使用方便。缺点是跨平台性不好。一般通过包名(java.awt.*)来调用其中的方法。 2、swing:在jdk 1.4之后出现,有着良好的跨平台性,但是在有些方面的功能不如awt.一般通过包名(java.swing.*)来调用其中的方法。 二、Swing中常用的类 1、容器:有两种常用的容器,,一种是JFrame,JFrame是窗体类,如果要创建一个窗体来显示什么东西的话就一定会用到它;另 ...

类与对象

    博客分类:
  • java
1、类与对象:            类是有某些相同性质的事物的集合,如:汽车,书籍。            对象则是指某一个具体的事物,如属于你的电脑就是一个对象。对象是基于类来定义的。            对对象的描述包括对 ...
一、类的继承 1、什么是类的继承? 类的继承就是某一个类可以通过extends关键字继承另一个类中的方法和属性。 2、为什么要进行类的继承? 有时我们要定义一个新的类,可能会发现这个类中的属性和方法有很大一部分就是我 ...
Global site tag (gtag.js) - Google Analytics