DSL 思考

一、什么是DSL

DSL,即Domain Specific Language,是为在某些特定领域内解决特定问题而设计的专用语言,其基本思想是“求专不求全”。DSL主要目的是消除代码复杂度和间接性,并且应该注重专业领域。此外,也需要合理恰当的语法形式来实现DSL。

阅读更多

gpu.js

gpu.js 使用记录

  1. 定义GPU

    1
    2
    3
    4
    5
    const mode = 'gpu';
    // gpu, cpu
    const gpu = new GPU({ mode: mode });
    console.log(gpu.getMode());
    // gpu
阅读更多

Image processing using Graph_2

L2

  1. 体素或立体像素(voxel) 是体积像素(volume pixel) 的简称,是数字数据位于三维空间分区的最小单位,应用于三维成像、科学数据与医疗视频等领域。

  2. CPP —— Boost Graph libraries

    Matlab —— Graph Analysis toolbox

  3. 适定问题 well-posted problem

    不适定问题 ill-posted problem

阅读更多

Trie字典树

一、字典树

字典树——Trie树,又称为前缀树(Prefix Tree)、单词查找树或键树,是一种多叉树结构。

上图是一棵__Trie__树,表示了关键字集合{“a”, “to”, “tea”, “ted”, “ten”, “i”, “in”, “inn”} 。从上图可以归纳出Trie树的基本性质:

  1. 根节点不包含字符,除根节点外的每一个子节点都包含一个字符。

  2. 从根节点到某一个节点,路径上经过的字符连接起来,为该节点对应的字符串。

  3. 每个节点的所有子节点包含的字符互不相同。

    • 通常在实现的时候,会在结点结构中设置一个标志,用来标记该节点处是否构成一个单词(关键字)。
    • 可以看出,Trie树的关键字一般都是字符串,而且Trie树把每个关键字保存在一条路径上,而不是一个节点中。另外,有两个公共前缀的关键字,在Trie树种前缀部分的路径相同。所以Trie又称为前缀树。
阅读更多