A
题意:中序遍历
Given a binary tree, return the inorder traversal of its nodes' values.
For example:
Given binary tree {1,#,2,3},
1
\
2
/
3
return [1,3,2].
思路:采用递归实现。因为函数声明是返回一个vector<int>,所以每个子树返回的是该子树的中序遍历的结果
按照 左、根、右的次序把根和左右子树的vector合并起来就可以了
代码:
/**
* Definition for binary tree
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode(int x) : val(x), left(NULL), right(NULL) {}
* };
*/
class Solution {
public:
vector<int> inorderTraversal(TreeNode *root) {
vector<int> in;
if(root == NULL) return in;
TreeNode *left = root->left;
TreeNode *right = root->right;
if(left) {
vector<int> left_vector = inorderTraversal(left);
in.insert(in.end(), left_vector.begin(), left_vector.end());
}
in.push_back(root->val);
if(right){
vector<int> right_vector = inorderTraversal(right);
in.insert(in.end(), right_vector.begin(), right_vector.end());
}
return in;
}
};
R
本周阅读了一篇德国慕尼黑技术大学的博士论文,名为基于递归神经网络的监督序列标记
递归神经网络是强大的序列学习者,它们能够以灵活的方式合并上下文信息,并且对输入数据的局部失真具有鲁棒性。这些特性使它们非常适合序列标记,在序列标记中,输入序列用标签流进行转录。长短期记忆(LSTM)是一种特别有前途的递归体系结构,能够在相关的输入和输出事件之间架起长时间延迟的桥梁,从而访问较大范围的上下文。
这篇论文论文着重于在长短期记忆的情况下,提高监督序列标记的技术水平。它的两个主要贡献是:(1)一种新型的输出层,允许递归网络直接接受序列标记任务的训练,其中输入和标记之间的对齐方式未知;(2)将长短期记忆扩展到多维数据,如图像和视频序列。在语音识别、在线和离线手写识别、关键词定位、图像分割和图像分类等方面进行了实验研究,证明了先进递归网络相比其他序列算法(如隐马尔可夫模型)的优势。
T
1 简介
DataFrame是Python中Pandas库中的一种数据结构,它类似excel,是一种二维表。
或许说它可能有点像matlab的矩阵,但是matlab的矩阵只能放数值型值(当然matlab也可以用cell存放多类型数据),DataFrame的单元格可以存放数值、字符串等,这和excel表很像。
同时DataFrame可以设置列名columns与行名index,可以通过像matlab一样通过位置获取数据也可以通过列名和行名定位,具体方法在后面细说。
2 创建DataFrame
以Python 3.6.5版本为例
在所有操作之前先import必要的pandas库,因为pandas常与numpy一起配合使用,所以也一起import。
import pandas as pd
import numpy as np
3 常用函数
1.查看DataFrame前xx行或后xx行
a=DataFrame(data);
a.head(6)表示显示前6行数据,若head()中不带参数则会显示全部数据。
a.tail(6)表示显示后6行数据,若tail()中不带参数则也会显示全部数据。
2.查看DataFrame的index,columns以及values
a.index ; a.columns ; a.values 即可
3.describe()函数对于数据的快速统计汇总
a.describe()对每一列数据进行统计,包括计数,均值,std,各个分位数等。
4.对数据的转置
a.T
5.对轴进行排序
a.sort_index(axis=1,ascending=False);
其中axis=1表示对所有的columns进行排序,下面的数也跟着发生移动。后面的ascending=False表示按降序排列,参数缺失时默认升序。
6.对DataFrame中的值排序
a.sort(columns='x')
即对a中的x这一列,从小到大进行排序。注意仅仅是x这一列,而上面的按轴进行排序时会对所有的columns进行操作。
参照链接https://www.jianshu.com/p/682c24aef525
4 数据清洗
数据清洗:缺失值、异常值和重复值的处理-2代码实操 - sinat_22510827的博客 - CSDN博客