一. 序言 上一篇文章中,给出了 trie 树的一个实现. 能够看到,trie 树有一个巨大的弊病,内存占用过大. 本文给出还有一种数据结构来解决上述问题---- Ternary Search Tree (三叉树) 二.数据结构定义 Trie 树中每一个节点包括了 26 个指针,但有非常大一部分的指针是 NULL 指针,因此浪费了大量的资源. 一种改进措施就是,以一棵树来取代上述的指针数组. 节点定义例如以下: 一个节点代表了一个字母,左孩子的字母小于当前节点,右孩子的字母大于当前节点. 同一时…
一. 序言 上一篇文章中,给出了 trie 树的一个实现.可以看到,trie 树有一个巨大的弊病,内存占用过大. 本文给出另一种数据结构来解决上述问题---- Ternary Search Tree (三叉树) 二.数据结构定义 Trie 树中每个节点包含了 26 个指针,但有很大一部分的指针是 NULL 指针,因此浪费了大量的资源. 一种改进措施就是,以一棵树来代替上述的指针数组. 节点定义如下: 一个节点代表了一个字母,左孩子的字母小于当前节点,右孩子的字母大于当前节点. 同时每个节点包含一…
一.功能: 1.传入一个 List<String> 数组,控件会自己主动加入TextView,一行显示不下会自己主动换行.而且把上一行末尾的空白通过拉伸而铺满. 2.配置灵活 <com.dd544.bu.MultipleTextView xmlns:my="http://schemas.android.com/apk/res-auto" android:id="@+id/main_rl" android:layout_width="mat…
1. 新建Python环境变量配置文件: vim ~/.pystartup # Add auto-completion and a stored history file of commands to your Python # interactive interpreter. Requires Python 2.0+, readline. Autocomplete is # bound to the Esc key by default (you can change it - see rea…
1. 简述 Trie 树是一种高效的字符串查找的数据结构.可用于搜索引擎中词频统计,自动补齐等. 在一个Trie 树中插入.查找某个单词的时间复杂度是 O(len), len是单词的长度. 如果采用平衡二叉树来存储的话,时间复杂度是 O(lgN), N为树中单词的总数. 此外,Trie 树还特别擅长 前缀搜索,比方说现在输入法中的自动补齐,输入某个单词的前缀,abs, 立刻弹出 abstract 等单词. Trie 树优良的查找性能是建立在 牺牲空间复杂度的基础之上的. 本文将给出一个 Trie…
Excel的多工作薄.多工作表批量合并功能,Excel用户很多这方面的使用场景,也促使了各大Excel各大插件们都在此功能上有所开发,体验程度不一,但总体能够满足大多数的应用场景,本人之前也开发个单独的多工作薄合并功能. 在众多群友反馈想Excel催化剂上也加上多工作薄合并功能.因无法开发出较目前众多插件提供的功能以外较新颖独特的功能,本人最终还是放弃开发此功能. 因微软推出的PowerQuery数据处理ETL插件实在太强大,对于应付多工作薄合并的场景,简直是逆天般轻松易得,故强烈推荐有多工作薄…
你知道为什么Xcode6中Swift没有智能提示和自己主动补全功能吗 ? 长沙戴维营教育将为你解开这个巨大的谜团大BUG! http://www.ubuntucollege.cn/course/29/learn#lesson/354   注冊登录后课时6为你解决问题. 戴维营教育-Swift语言中文教程更新中 http://blog.diveinedu.net/category/ios_8_development/ 戴维营教育-Swift语言的github翻译项目地址: https://gith…
#!/usr/bin/env python# -*- coding:utf-8 -*- ip = '192.168.0.1' # 转为二进制:# 方法一'''eve = ip.split('.')s = ''for i in eve: i = int(i) ejz = bin(i) s += ejz+','print(s[:-1])''' # 方法二'''eve = ip.split('.')s = []for i in eve: i = int(i) ejz = bin(i) s.append…
一.数字补0. 如果要自动生成学号,自动生成某某编号,就像这样的形式“d0000009”.“d0000027”时,那么就会面临一个问题,怎么把左边用0补齐成这样8位数的编码呢?我想到了两种方法实现这个功能. 方法一: 先构造一个数字10000000,千万,也就是一个1,7个0,然后加上当前的编号(比如是3),那么就得到 10000003,用字符串截取 substr('10000003',1,7)后就得到0000003,最后在与“d”拼接,就得到了最终的编号d0000003. 源码如下: <?ph…
一.转换 1.1.TreeMap 有序Map 无序有序转换 使用默认构造方法: public TreeMap(Map<? extends K, ? extends V> m) 1.2.Map和Bean互转 BeanUtils位于org.apache.commons.beanutils.BeanUtils下面,其方法populate的作用解释如下: 完整方法: BeanUtils.populate( Object bean, Map properties ), 这个方法会遍历map<key…