因为最近手上有个小的需求,设计一个可缩放和可拖拽的树形结构,我便去研读了D3官网给的一个树形的例子。
布局(Layout)
原本我以为理解了基本的选择器、元素操作、Enter、Exit就能去看实例的代码了,后来发现我错了,所以这里需要理解一下D3中布局(Layout)的概念。布局是D3中一个十分重要的概念,从布局衍生出很多图表。例如:饼状图(pie)、力导向图(force),树状图(tree)等等,基本实现了很多开源的可视化工具提供的图表。但是它又和很多可视化工具(如Echarts)有很大的不同。
相对于其它工具来说,D3较底层一点,所以初学者可能会觉得有点困难,但是一旦理解了D3布局的思想,使用起来,会比其它工具更加得心应手
继续阅读 »
从B 树、B+ 树、B* 树谈到R 树
作者:July、weedge、Frankie。编程艺术室出品。
说明:本文从B树开始谈起,然后论述B+树、B*树,最后谈到R 树。其中B树、B+树及B*树部分由weedge完成,R 树部分由Frankie完成,全文最终由July统稿修订完成。
出处:http://blog.csdn.net/v_JULY_v 。
第一节、B树、B+树、B*树
1.前言:
动态查找树主要有:二叉查找树(Binary Search Tree),平衡二叉查找树(Balanced Binary Search Tree),红黑树(Red-Black Tree ),B-tree/B+-tree/ B*-tree
继续阅读 »
分析:如果已知深度为d - 1的k叉树(以下代称T(d-1))一共有a(k, d - 1)种标号法,那么深度为d的k叉树(以下代称T(d))的a(k, d)如何计算?more
对T(d)来说,除去根节点,恰好有k棵T(d-1)子树,考虑到根节点的标号必须是1,则T(d)的标号方法可以分两步进行:首先把2~n的标号分成k组,每组m个,共有
继续阅读 »
The Single Immutable State Tree
Redux 的第一个概念就是在应用中所有改变的数据或界面的路径都包含在一个单一的 JavaScript 对象里,我们把这个对象叫作 State 或者 State Tree
继续阅读 »
I have trained my algorithm on leetcode a period of time.
Today, I will explain my solution about Minimum Height Trees.
My solution beat ~95% against others but it is hard to explain what is I do.
Please allow me to introduce the solution from easy to hard. If you only need the
last solution, jump to
继续阅读 »
介绍
所谓树状数组,就是将线性的数组预处理成树状的结构以降低时间复杂度。先来看一幅经典的图:
其中的a数组为原生数组,c数组为辅助数组,计算方式为: $$c_1=a_1——{(1)}{10}={(1)}_2$$ $$c_2=a_2+c_1——{(2)}{10}={(10)}_2$$ $$\ldots$$ 不难发现,c[k]存储的实际上是从k开始向前数k的二进制表示中右边第一个1所代表的数字个元素的和。这样写的好处便是可以利用位运算轻松计算sum。上代码。
Code
var
n, i: longint;
a, c: array [1..10000] of longint;
//计算x最右边的1所代表的数字。
继续阅读 »
作为一个开源工具,caffe的代码十分庞大,但是组织的还是比较好的,本文主要介绍其代码框架。由于caffe大部分使用C++写的,因此,读者需要掌握C++的基本知识,包括:封装、继承、多态等。
1. caffe目录结构
在caffe根目录下使用tree -d查看整个代码的文件夹组织情况,如下。
继续阅读 »
1. 从我在Erlang and OTP in Action中第六章中的错误说起
前两天看EOIA这本书,觉得终于可以用Erlang来搞点东西玩了,于是决定按照书中流程来实践一下所谓的缓存系统。
谨慎起见,我还是半抄半写把simple_cache的源码写好了,当前目录结构如下:
chenshan@mac007 6-EOIA$tree
.
├── ebin
│ ├── prim_consult.beam
│ ├── sc_app.beam
│ ├── sc_element.beam
│ ├── sc_store.beam
│ ├── sc_sup.beam
│ ├── simple_cache.ap
继续阅读 »
本文主要介绍go语言动态库的编译和使用方法,以linux平台为例,windows平台步骤一样,具体环境如下:
``
$ echo $GOPATH
/media/sf_share/git/go_practice
$ echo $GOROOT
/usr/lib/golang/
$ tree $GOPATH/src
/media/sf_share/git/go_practice/src
|-- demo
|-- demo.go
`-- main.go
继续阅读 »
链接:Link 耗时: 0.012s
前言
真是疯玩了几天,脑袋都残了,一道弱智题做了近一个小时。
Code
var
pre, mid, s: string;
tree: array [1..50] of record
l, r: integer;
ch: char;
end;
cur: integer;
function init: integer;
var
m: integer;
begin
readln(s);
m := length(s) >> 1 + 1;
pre := Copy(s, 1, m-1);
mid
继续阅读 »