elvalad

修仙

12 2014 档案

KochSnow曲线
摘要:在这里实现了Koch曲线,而且提到我们只需要对一个等边三角形的各条边按照Koch曲线的算法进行绘图就能得到KochSnow曲线,将其实现到之前提到的绘图框架中,考虑到KochSnow的实现主要依赖Koch曲线的绘图算法,所以讲KochSnow作为Koch类的子类实现,在这个子类中实现一个新的构造函数... 阅读全文

posted @ 2014-12-29 23:40 elvalad

Koch曲线
摘要:Koch曲线是一种分形,完整的Koch曲线像雪花,维基百科上记录Koch曲线最早出现在海里格·冯·科赫的论文《关于一条连续而无切线,可由初等几何构作的曲线》中,它的定义如下,给定线段AB,科赫曲线可以由以下步骤生成:将线段分成三等份(AC,CD,DB)以CD为底,向外(内外随意)画一个等边三角形DM... 阅读全文

posted @ 2014-12-28 22:21 elvalad

一个简单的绘图框架
摘要:在这篇博客里提到我想要实现一个分形软件,晚上用Java写了一个简单的绘图框架来方便我实现各种分形算法,有了这个框架我就可以很容易的将实现的各种分形绘图算法集成进这个软件。这个框架主要包含以下几个类:FractalMain类继承自JFrame,用于整个Frame的布局,这里通过用户选择的不同的Menu... 阅读全文

posted @ 2014-12-28 01:03 elvalad

一个分形项目计划
摘要:从第一次接触分形几何就非常的感兴趣,正像分形之父Benoit B. Mandelbrot说的“似乎没有人会对分形无动于衷”,最近韩总送了我一本M.C.Escher的画册The Magic of M.C.Escher里面的几幅埃舍尔手绘的分形图也是让人叹为观止,以前也玩过一些分形软件,像XaoS,Ap... 阅读全文

posted @ 2014-12-27 20:25 elvalad

How to Write Doc Comments for the Javadoc Tool
摘要:http://www.oracle.com/technetwork/java/javase/documentation/index-137868.htmlThis document describes the style guide, tag and image conventions we use... 阅读全文

posted @ 2014-12-26 22:17 elvalad

Intellij IDEA Help
摘要:https://www.jetbrains.com/idea/help/intellij-idea.htmlhttps://www.jetbrains.com/idea/help/creating-and-running-your-first-java-application.htmlhttps:/... 阅读全文

posted @ 2014-12-25 22:57 elvalad

Java Sudoku游戏
摘要:这几天尝试用Java的swing写图形程序,边学习边摸索写了个简单的数独游戏,在编写的过程中学到了不少关于swing的东西,而且对于图形化程序的编写也有了一点简单的认识:善其事先利其器,既然写图形化程序就先把一个IDE玩熟练,不在乎是什么IDE,喜欢哪个就用那个,不然急于动手会遇到更多麻烦;先实现一... 阅读全文

posted @ 2014-12-25 22:27 elvalad

Intellij导入外部的jar
摘要:File -> Project Structure (ctrl + shift + alt + s ) -> Module -> Dependencies -> Add... -> Library... -> Attach Classes. 阅读全文

posted @ 2014-12-24 22:19 elvalad

随机生成一个数独
摘要:最近学习用Java编写GUI程序,感觉从做一个小东西入手最好,选择了编写一些小游戏开始,第一个为数独游戏。http://en.wikipedia.org/wiki/Sudoku编写数独游戏第一步考虑的就是该如何生成一个原始的数独题目,要想生成数独题目最简单的办法就是先随机生成一个完整的数独,然后从中... 阅读全文

posted @ 2014-12-22 23:25 elvalad

Intellij编译时报“java: System Java Compiler was not found in classpath”
摘要:问题如下:http://stackoverflow.com/questions/19889145/setting-up-intellij-12-idea-with-java-1-7-and-resolve-java-system-java-compileIntelliJ 12 CE download... 阅读全文

posted @ 2014-12-21 20:47 elvalad

考古备份:a.out文件ELF文件头中魔数的由来
摘要:来源:《程序员的自我修养》3.4节。补充:http://wiki.osdev.org/ELFhttp://www.linux-mag.com/id/116/http://en.wikipedia.org/wiki/A.outhttp://osr507doc.sco.com/en/man/html.F... 阅读全文

posted @ 2014-12-17 23:30 elvalad

ELF Spec
摘要:ELF SpecGeneric System V Application Binary Interface,ELF-64 Object File FormatAMD64 System V ABI, AMD64 SupplementARM ELF for the ARM ArchitectureIA-... 阅读全文

posted @ 2014-12-17 22:40 elvalad

[转]关于代码优化
摘要:http://www.douban.com/note/470828235/ 阅读全文

posted @ 2014-12-14 23:18 elvalad

关于binary search的一点解惑
摘要:在写binary search时对于mid的计算我最开始使用的是mid = (low + high)/2;后来看到在很多的实现为mid = low + (high - low)/2;想了一下两种实现貌似没什么差别啊,后来无意看到g9博客上的一篇文章,备份一下:http://blog.csdn.net... 阅读全文

posted @ 2014-12-10 22:34 elvalad

Java中接口作为方法的返回
摘要:在《算法》中的散列表一节,在用拉链法实现散列表的API时要求实现以下一个方法:public Iterable keys()我们知道Iterable是一个接口,那么一个方法怎么会返回一个接口呢?在《Effective Java》中第52条为“通过接口引用对象”as parameter types. M... 阅读全文

posted @ 2014-12-10 22:13 elvalad

求一个数组中最小的K个数
摘要:方法1:先对数组进行排序,然后遍历前K个数,此时时间复杂度为O(nlgn);方法2:维护一个容量为K的最大堆(《算法导论》第6章),然后从第K+1个元素开始遍历,和堆中的最大元素比较,如果大于最大元素则忽略,如果小于最大元素则将次元素送入堆中,并将堆的最大元素删除,调整堆的结构;方法3:使用快速排序... 阅读全文

posted @ 2014-12-08 23:38 elvalad

按层遍历二叉查找树
摘要:《算法》中二叉查找树一节的习题:按层遍历二叉查找树。可以使用队列来管理二叉查找树中的节点,节点按照如下方法入队出队:节点x入队当队列不为空时使用队列的第一个元素first如果节点first.left不为空则将fisrt.left入队如果节点first.right不为空则将first.right入队将... 阅读全文

posted @ 2014-12-05 22:56 elvalad

求一个数组的子数组的最大和
摘要:如题:求一个数组的子数组的最大和,要求O(n)时间复杂度。由于有了O(n)时间复杂度的限制,所以暴力求解的O(n^2)方法肯定不行。再考虑递归求一个数组a[n]的子数组的最大和,可以分解为a[i]子数组的最大和以及a[n-i-1]之间的某种情况a[n]的子数组最大和等于a[i]子数组的最大和;a[n... 阅读全文

posted @ 2014-12-04 23:14 elvalad

非递归实现二叉查找树
摘要:之前在学习二叉查找树时按照递归方式实现了二叉查找树:http://www.cnblogs.com/elvalad/p/4129650.html在实际应用中由于递归的深度和性能等问题会要求使用非递归方式实现二叉查找树的search操作,这里用循环的方式实现put,get,min和max操作。二叉查找树... 阅读全文

posted @ 2014-12-03 23:00 elvalad

N个元素组成二叉树的种类
摘要:《算法》中的二叉查找树一节的一道习题。N个元素组成的二叉树固定一个根节点,这个根节点的左右子树组合数为(0,n-1),(1,n-2),(2,n-3)...(n-1,0),假设N个元素组成的二叉树种类为f[n],则f[n] = f[0]*f[n-1]+f[1]*f[n-2]+...+f[i]*f[n-... 阅读全文

posted @ 2014-12-03 20:33 elvalad

大型HashMap
摘要:看到一篇评估大型HashMap的文章,备份几个Collections库。原文:Large HashMap overview: JDK, FastUtil, Goldman Sachs, HPPC, Koloboke, Trove中文翻译:大型HashMap评估:JDK、FastUtil、Goldma... 阅读全文

posted @ 2014-12-01 23:23 elvalad

桟的min实现:O(1)时间复杂度
摘要:实现桟的push和pop操作,以及桟的min操作返回桟中的最小值,要求这三个操作的时间复杂度均为O(1)。在Java中可以使用LinkedList实现桟的各种操作,这里使用双向链表实现桟的push和pop操作,这两个操作都能维持O(1)的时间复杂度,但是对于求桟中元素的最小值,最容易想到的方法是遍历... 阅读全文

posted @ 2014-12-01 22:53 elvalad