非递归实现

中序遍历

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution:
def inorderTraversal(self, root: TreeNode) -> List[int]:
cur = root #借助临时的cur,不要修改root
res = []
stack = []
while cur or stack:
if cur: # 一直往左走,全部入栈
stack.append(cur)
cur = cur.left
else: # 取出栈顶节点,处理,再处理该节点的右子树
cur = stack.pop()
res.append(cur.val)
cur = cur.right
return res

前序遍历

写法一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution:
def preorderTraversal(self, root: TreeNode) -> List[int]:
cur = root
res = []
stack = []
while cur or stack:
if cur:
stack.append(cur) # 每一个节点都放入栈中
res.append(cur.val)
cur = cur.left
else:
cur = stack.pop() # 这里pop出来的是已经访问过的节点
cur = cur.right # 还需要指向右子树
return res

写法二:

阅读全文 »

关键词:model base, variable sharing, model sharing

word2vec

  • 文本的分布式表示是许多自然语言处理任务的基础
  • word2vec是用来生成词语分布式表示的一组模型
  • 主要有两种模型:skip-gram和CBOW
  • 算法角度:CBOW模型从上下文词预测目标词,skip-gram模型从目标词预测上下文词
阅读全文 »

一般流程:

TFboy基操:

  • 定义图
阅读全文 »

Jumping Right In

  • FROM指定的数据集会被调用SPARQL处理器时指定的数据集覆盖(如果都指定了
  • RDF不是数据格式,而是数据模型,它可以选择存储数据文件的语法
  • 如果我们将数据与其它数据结合起来,那么RDF三元组的主语和谓语都必须属于特定的名称空间,以防止类似名称之间的混淆,于是我们使用URI来表示它们
  • 当使用完整的URI时,将其放在尖括号中以向处理器显示它是一个URI
  • 在semantic web开发中,词汇表是一组使用标准格式存储的术语,供人们重复使用
  • 发现不同来源三元组之间联系的能力是SPARQL的最佳特性之一
  • 约定:主谓宾分别用?s,?p,?o表示
  • 只有满足图模式中所有三元组的数据才会被返回
阅读全文 »
0%