自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jiutianhe的专栏

声明:本博客乃学习笔记,没有纯粹无意义的转载。作者除了对自己负责,不对任何读者负责,欢迎指出文章错误

  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

转载 二叉树

1求二叉树中相距最远的两个节点之间的距离2判断二叉树是否平衡二叉树3指定二叉树,给定两节点求其最近共同父节点4二叉树的广度遍历、逐层打印二叉树节点数据、只打印某层节点数据5在二叉树中找出和(叶子到根节点路径上的所有节点的数据和)为指定值的所有路径。6将二叉查找树转为有序的双链表7求二叉树的镜像8二叉树前序、中序、后序遍历的非递归实现9

2012-10-31 15:46:41 870

转载 喝汽水问题

喝汽水问题 有1000瓶汽水,喝完后每3个空瓶能换1瓶汽水,问最后最多可以喝几瓶汽水,此时剩余几个空瓶?不妨假设,共有n瓶汽水,每a个空瓶能换b瓶汽水(a > b)。刚开始有n瓶汽水,喝完后就有n个空瓶,多喝的汽水是靠空瓶换来的,每进行一次空瓶换汽水,就能多喝b瓶汽水、空瓶数目就减少了a-b个(a个空瓶换了b瓶汽水,喝完后得到b个空瓶)。(下面用 [x]表示x的整数部分)

2012-10-31 15:37:18 677

原创 计算字符串的相似度

《编程之美》,参阅了其中的——计算字符串的相似度许多程序会大量使用字符串。对于不同的字符串,我们希望能够有办法判断其相似程度。我们定义了一套操作方法来把两个不相同的字符串变得相同,具体的操作方法为:    1.修改一个字符(如把“a”替换为“b”)。    2.增加一个字符(如把“abdd”变为“aebdd”)。    3.删除一个字符(如把“travelling”变为“tra

2012-10-26 19:08:14 705

原创 1. Java设计模式--单例模式

概念:  java中单例模式是一种常见的设计模式,单例模式分三种:懒汉式单例、饿汉式单例、 枚举式单例三种。  单例模式有一下特点:  1、单例类只能有一个实例。  2、单例类必须自己自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框

2012-10-19 21:56:17 579

转载 Eclipse 安装插件

Eclipse 安装插件本文介绍Eclipse插件的安装方法。Eclipse插件的安装方法大体有三种:直接复制、使用link文件,以及使用eclipse自带的图形界面的插件安装方法。AD:做为当下最流行的开源IDE之一,Eclipse的一大优势就在于其无数优秀的插件。一个好的插件可以大大的提高我们的工作效率,学习如何安装Eclipse插件自然也是必修课了。下面介绍E

2012-10-16 21:36:10 1057

转载 Java中十个常见的违规编码

这份列表没有依据任何规则或顺序,所有的这些都是通过代码质量工具包括CheckStyle,FindBugs和PMD检查出。一起来看下:一、Eclipse编译器提供源代码格式输入Eclipse提供自动源码格式选项,并且组织输入(删除未使用的代码)。你可以使用下面的这些快捷键进行操作。Ctrl + Shift + F——源代码格式Ctrl + Shift + O——组织输

2012-10-16 20:37:52 1113

转载 每个程序员都应该知道的8个Linux命令

每个程序员,在职业生涯的某个时刻,总会发现自己需要知道一些Linux方面的知识。我并不是说你应该成为一个Linux专家,我的意思是,当面对Linux命令行任务时,你应该能很熟练的完成。事实上,学会了下面8个命令,我基本上能完成任何需要完成的任务。注意:下面的每个命令都有十分丰富的文档说明。这篇文章并不是来详尽的展示每个命令的各种功用的。我在这里要讲的是这几个最常用的命令的最常见用法。如果你对l

2012-10-16 20:07:36 896

原创 Trie树(字典树)

1. Trie树Trie树,即字典树,又称单词查找树或键树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计和排序大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。它的优点是:最大限度地减少无谓的字符串比较,查询效率比哈希表高。Trie的核心思想是空间换时间。利用字符串的公共前缀来降低查询时间的开销以达到提高效率的目的。它有3个基本性质:

2012-10-16 13:56:13 26290 2

原创 传教士和野人问题(Missionaries and Cannibals)

传教士和野人问题(Missionaries   and   Cannibals)               这是一个经常在有关讨论人工智能的书籍中见到的问题,   其描述是这样的:            有N个传教士和N个野人来到河边渡河,   河岸有一条船,   每次至多可供k人乘渡。问传教士为了安全起见,   应如何规划摆渡方案,   使得任何时刻,   河两岸以及船上的野人数目总是

2012-10-14 18:38:30 14978 3

原创 二叉排序树(二叉搜索树)

二叉排序树二叉排序树又称为二叉查找树,它是一种特殊结构的二叉树,其定义为:二叉树排序树或者是一棵空树,或者是具有如下性质的二叉树:(1)若它的左子树非空,则左子树上所有结点的值均小于根结点的值;(2)若它的右子树非空,则右子树上所有结点的值均大于根结点的值;(3)它的左右子树也分别为二叉排序树。这是一个递归定义。由定义可以得出二叉排序树的一个重要性质:中序遍历一个二叉排序树时可

2012-10-09 11:17:50 4332

原创 哈夫曼树

哈夫曼树又称最优二叉树哈夫曼树的构造  哈夫曼树的构造  假设有n个权值,则构造出的哈夫曼树有n个叶子结点。 n个权值分别设为 w1、w2、…、wn,则哈夫曼树的构造规则为:  (1) 将w1、w2、…,wn看成是有n 棵树的森林(每棵树仅有一个结点);  (2) 在森林中选出两个根结点的权值最小的树合并,作为一棵新树的左、右子树,且新树的根结点权值为其

2012-10-09 10:55:38 914

原创 二叉树的遍历(Java实现)

主要是二叉树的遍历,包括递归遍历和非递归遍历package util;import java.util.ArrayDeque;import java.util.ArrayList;import java.util.List;import java.util.Queue;public class BinaryNode { /** * 泛型BinaryNode

2012-10-09 10:42:32 1847

原创 Java中四舍五入

Java有四舍五入函数--Math.round,通过一个例子看看他的用法:package math;public class MathRoundTest { /** * Math类中提供了三个与取整有关的方法:ceil,floor,round, * 这些方法的作用于它们的英文名称的含义相对应,例如:ceil的英文意义是天花板,该方法就表示向上取整, * Math.

2012-10-07 16:30:20 773

转载 4.java内存机制--堆与栈

问题的引入:问题一:String str1 = "abc";String str2 = "abc"; System.out.println(str1==str2); //true问题二:String str1 =new String ("abc");String str2 =new String ("abc"); System.out.println(str

2012-10-07 16:23:51 544

转载 3.Java内存管理--内存分配

一、Java内存分配1、 Java有几种存储区域?* 寄存器-- 在CPU内部,开发人员不能通过代码来控制寄存器的分配,由编译器来管理* 栈-- 在Windows下, 栈是向低地址扩展的数据结构,是一块连续的内存的区域,即栈顶的地址和栈的最大容量是系统预先规定好的。-- 优点:由系统自动分配,速度较快。-- 缺点:不够灵活,但程序员是无法控制的。-- 存放基本数据类

2012-10-07 16:14:18 815

原创 2.Java内存回收机制

一、Java对象在内存引用状态内存泄露:程序运行过程中,会不断分配内存空间,那些不再使用的内存空间应该即时回收它们,从而保证系统可以再次使用这些内存,如果存在无用的内存没有被回收回来,这就是内存泄漏.(1)强引用  这是java程序中最常见的引用方式,程序创建一个对象,并把这个对象赋给一个引用变量,这个引用变量就是强引用.java程序可通过强引用来访问实际的对象。当一个对象被一个或一个

2012-10-07 15:24:13 692

转载 支持向量机通俗导论(理解SVM的三层境界)

http://blog.csdn.net/v_july_v/article/details/7624837http://www.cnblogs.com/vivounicorn/archive/2011/06/01/2067496.html

2012-10-04 18:53:51 530

转载 Vim使用总结

1.移动光标在当前行里面有效的移动光标,注意这些字母都可以配合删除、移动等操作。fx:移动光标到当前行的下一个 x 处。很明显,x 可以是任意一个字母,而且你可以使用 ; 来重复你的上一个 f 命令。tx:和上面的命令类似,但是是移动到 x 的左边一个位置。(这真的很有用)Fx:和 fx 类似,不过是往回找。:jumps 看你过去移动光标的历史% 跳转到配对的括号去

2012-10-04 18:42:37 944

转载 荷兰国旗问题--快速排序的变种

1.问题描述:我们将乱序的红白蓝三色小球排列成有序的红白蓝三色的同颜色在一起的小球组。这个问题之所以叫荷兰国旗,是因为我们可以将红白蓝三色小球想象成条状物,有序排列后正好组成荷兰国旗。2.问题分析:这个问题我们可以将这个问题视为一个数组排序问题,这个数组分为前部,中部和后部三个部分,每一个元素(红白蓝分别对应0、1、2)必属于其中之一。由于红、白、蓝三色小球数量并不一定相同,所

2012-10-04 17:15:44 1082

原创 1. Java数组与内存控制

一、Java数组初始化Java数组是静态的,即当数组被初始化之后,该数组的长度是不可变的。Java数组使用之前必须先对数组对象进行初始化,所谓初始化,就是为数组的所有元素分配内存空间,并为每个数组元素指定初始值。      Java基本类型数组的两种初始化方式静态初始化:初始化时由程序员显式指定每个数组元素的初始值,由系统决定数组长度。动态初始化:初始化时程序员只指定数组长

2012-10-04 15:41:54 497

原创 单链表是否有环和两个单链表是否相交

1、如何判断一个链表是不是有环? 2、如果链表为存在环,如何找到环的入口点?3、判断两个单链表是否相交,如果相交,给出相交的第一个点(两个链表都不存在环)。1、解答:判断链表是否存在环,办法为:设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,f

2012-10-04 11:04:27 473

五个常用MySQL图形化管理工

五个常用MySQL图形化管理工:MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

2012-05-08

遗传算法求解01背包问题论文

01背包问题属于组合优化问题的一个例子,求解01背包问题的过程可以被视作在很多可行解当中求解一个最优解。

2011-04-23

身份认证技术分析论文

认证技术是信息安全中的一个重要内容,在“网络与信息安全”课程中我们学习了两种认证技术:消息认证与身份认证,消息认证用于保证信息的完整性与抗否认性,身份认证则用于鉴别用户身份。

2011-04-23

网络信息安全信息理论

这里是网络信息安全,信息架构,信息采集的专业需要的信息。有各种各样的信息按群信息六条的问题。

2011-04-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除