摘要:
Trie树又称字典树、单词查找树,是一种树形结构,用于保存大量的字符串。优点:利用字符串的公共前缀来节约存储空间。缺点:如果Trie树中存在大量字符串,并且这些字符串基本上没有公共前缀,那么相应的Trie树将非常消耗内存空间,Trie的缺点是空指针耗费内存空间。基本性质:(1)根节点不包含字符,除根节点外的每个节点只包含一个字符。(2)从根节点到某一个节点,路径上经过的字符连接起来,为该节点对应的字符串。(3)每个节点的所有子节点包含的字符串不相同。基本操作有:查找、插入和删除。假设,我们要构建一个26个字母的Trie树,那么每一个指针对应着字母表里的一个字母。从根节点开始,我们只要依次找到目 阅读全文
摘要:
详解Java内部类与final关键字内部类的几种创建方法:1、成员内部类class Outer{ private int i = 1; class Inner{ public void fun() {System.out.println("Outer I=" + i)} } } 2、方法内部类class Outer{ public void fun() { final int i = 1; // 被方法内部类访问的局部变量必须被final修饰 class Inner{ // 方法内部类 不能有访问修饰符,比如public public void p... 阅读全文
摘要:
前言tar打包对于服务器端运维来说是个非常重要的命令,因为很多数据备份都需要先打包,然后在scp或者rsync传送,这里介绍tar的基本命令,方便自己回顾man tarlinux下学习什么命令都需要先man一下,只有好处没有坏处!选项-c : 建立新的归档文件-x : 从归档文件中解出文件-v : 处理过程中输出相关信息-z : 调用gzip来压缩归档,与-x连用时调用gzip完成解压缩-f : use archive file or device ARCHIVE-C : change to directory DIR,解压时用于指定解压目录示例(1)压缩文件(2)指定目录,解压缩tar与op 阅读全文
摘要:
前言shell写脚本通常可以模块化,也可以功能化,例如test1.sh完成一个独立功能,test2.sh也完成一个独立的功能,但是需要test1.sh作为前提,因此为了节省执行时间,不是用crontab傻瓜似的等待,我们可以在test1.sh里调用test2.sh执行,效率会更高,这里仅仅介绍两种在一个脚本里调用另外一个脚本的方法脚本间调用首先,简单的写两个测试脚本test1.sh :#!/bin/bash echo "the first scripts"
test2.sh :#!/bin/bash 调用 test1.sh echo "second scripts 阅读全文
摘要:
模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中实现,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。UML示例代码示例package com.pattern;public abstract class TemplateMethod { public static final String S1="method1"; public static final String S2="method2"; /** * 模板方法 * @param methodName */ public final void Method(Str 阅读全文