`
沉沦的夏天
  • 浏览: 10646 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
文章列表
  其实上个学期接触了一点安卓,就有做人人算法的五子棋了,并且这学期开学不久做了简单的人机,但人太懒没有总结。目前主要还是在学习java版的程序,索性把java版的五子棋编出来,做个总结,也算是个交代吧。 记得熊哥 ...
简单的说就是部分与整体以某种方式相似的形体,具有三个特性 1. 自相似性,部分是整体的缩影,2.自仿射性:局部到整体是在不同方向上的不等比例 3.精细结构,即在任意小的比例尺度包含整体 以下是编的一个分形树效果: 如果加入随机变化的颜色,就可以做成礼花效果图: 上图中的参数,没大多奥秘,其含义如下图所示,单元长度即AC,树枝伸展角度即W(程序中用A),主干生长角度即Theta(程序中用B表示),但测试结果好像树枝生长角度没多大意义,只是控制在屏幕中的旋转角度而已,分支长度系数即BE、BD、CG或者CF这四条相等线段与AC的比,主干长度系数即下一生长单元的长度与当前生长单元长度AC的 ...
哈夫曼树 哈夫曼树是一最优二叉树,假设有n个字节点Tn{T1,T2,……,Tn}的权值分别为 Wn{W1,W2,……,Wn},其构造方法 step1:想找出里面权值最小的两个节点,作为新建父节点的左右子树,父节点的权值step2:为这两个子节点的权值之和在Tn中将父节点的左右子树删除,并将父节点加进step3:重复1、2步,直到Tn只剩一个节点为止。 哈夫曼编码:当建好树后,从根开始,每层左子树标记为0,右子树标记为1,按此规律索引到叶节点,此顺序的01串即为该叶节点对应的哈夫曼编码。 下面是我的建树和打印哈夫曼编码过程(实现了简单的解码): public class HalfmanTr ...
链表 1.链表一种物理存储单元上非连续,非顺序的存储结构,但它里面的数据元素的逻辑顺序靠每个节点的指针连接起来,其基本单元就是一个个节点,跟链条靠链销连接差不多。 2.链表分为单向链表和双向链表及循环链表,它们结构如下: 由图可:单向链表便于形式简单,插入新节点,遍历不会进入死循环,双向链表便于找到前驱和后继,但建立起来稍微复杂一点,循环链表则相当于一个圆圈,任何节点都可以做头,这样容易遍历进入死循环。 链表和数组的区别:数组存储结构物理空间上连续,存取速度快,效率高,但不便于插入和删除数据,长度固定(不过动态数组可以弥补这缺点)。而链表空间上不连续,却能便于频繁插入和删除,只是建立起来复 ...
集合框架 主要学习了java.util.*包下的三大接口。 Java.util.Set 该接口及其子类提供的是一个无序的集合,无法索引,可以用来统计包含有哪些。 Java.util.List 该接口及其子类提供的一个有序的集合,可以索引,比如元素之前五子棋项目中队列的应用。 Java.util.Map 该接口及其子类提供一个对应关系或者说映射关系的集合,即每个唯一的key,都有一个value对应,映射吗,这个我的理解是相当于函数里的唯一的x对应一个y。 下面是这三大接口的应用的程序(见注释当中): public class Test { public static ...
   数组是一种在内存中连续分布的数据结构,很方便存储和取出。    java中一维数组定义几种格式如下:(直接赋值时就不能规定长度)   1.数据类型 [] 数组名 = {值,....}; 2.数据类型 [] 数组名 = new 数据类型[长度]; 3.数据类型 [] 数组名; 数组名 = new 数据类型[长度]; 4.数据类型 [] 数组名; 数组名 = new 数据类型[]{值,...};  类似的,二维数组格式如下: 1.数据类型 [][] 数组名 = {{值,....},...}; 2.数据类型 [][] 数组名 = new 数据类型[行][列] ...
一、重绘的原因即概念: 绘制的东西,只记录在缓存中,没有保存在内存中,在窗口变化的时候(放大缩小,移动,最小化等) 内存将刷新数据,使绘制的东西消失。重绘就是将已经绘制好的图形信息先保存起来,然后重写用 容器类里的 paint(Graphics g){}方法;当窗口变化时,自动调用该方法,就实现了重绘。 二、重绘信息的保存:     可以先创建一个类,定义要保存信息的各种属性,然后定义一个队列,存储单元为刚开始创建的类。     这样,在重绘方法中遍历队列即可实现重绘。     例如在画板中可以定义shapes类,定义颜色,形状,鼠标按下和释放坐标。     public class ...
参数传递总结: 一、.参数传递分为两种: 1.值传递(传递的是一个复制品)包括八大基本数据类型和String。 2.引用传递(传递的是地址,适用于java中的对象类型,包括类,接口,抽象类,数组) 例如:定义一个学生类 public c ...
一.接口 1.接口的定义 定义接口的关键字:interface 格式: public interface 接口名 extends 接口,... {  //接口可以继承接口 //常量   常量的命名习惯:每一个字母都必须要大写。 public static final 数据类型 常量名 = 值; static final 数据类型 常量名 = 值; 数据类型 常量名 = 值;  //其中public ,static ,final都是默认的 //抽象方法  该方法必须在子类中重写 public abstract 返回值数据类型  方法名(数据类型 形参,...) ...
<b>1</b>.继承的格式 public class 类名(子类,超类,派生类) extends 类名(父类,基类) { } 例:public class Student(){  //父类     }     public class UStudent extends Student(){  //子类     } <b>2</b>.子类可以继承到父类的所有属性和方法,但调用的的属性和方法分两种情况:    一、当子类和父类在同一个包内时,可调用为除了private以外的三种访问类型(默认,protected,public); ...
java的数据类型分为基本数据类型和对象数据类型两大类; 基本数据类型包括: Java有八大基本数据类型 byte 字节性 1个字节  8bit -128~127 short 短整型 2个字节 16bit int 整型 4个字节 32bit long 长整型 8个字节 64bit  //这几种默认数据为0; float 单精度 4个字节 32bit double 双精度 8个字节 64bit   默认数据为0.0; char 字符型 2个字节 16bit boolean 布尔类型 true和false 条件  默认false 对象数据类型主要包 ...
类和对象的理解:现实世界并没有类的存在,存在的只有一个个的对象,如小明,小红,我的笔记本电脑等,这些对象是具体,客观存在的;我们可以把那些具有相似特征的对象归结为一类,如小明和小红这两个人都可以归为学生这一类;而小红和我的笔记本电脑有不同点,所以归纳为不同的类,类是抽象的,主观的。 在程序中我们可以定义一个类,这个类是根据对象的特征和行为定义的。   在类中我们可以定义属性和方法,属性即对对象的特征描述,方法是对对象的行为定义;如定义一个学生类,学分和名字是他们的属性,学生在打篮球是一个类行为的一个方法;可以这样定义:    public class Student{    privat ...
Global site tag (gtag.js) - Google Analytics