笔试题—知识点汇总(一)

目录:

1、有序树转换二叉树

2、洗牌问题

3、矩阵秩的几何意义

 

1、有序树转换二叉树

  如果T2是由有序树T转换而来的二叉树,那么T中结点的前序就是T2中结点的前序,T中结点的后序就是T2中结点的中序

 2、洗牌问题

  简单直接的方法:对数组从头到尾扫描一遍,扫描过程中,每次都从整个数组随机选一个元素,跟当前扫描到的元素交换位置。也就是,先拿起第一张牌,把它跟从整副牌里随机挑出的另一张牌(把它叫做随机牌)交换位置(随机牌也可能是第一张牌自己,这个时候就相当于不交换位置);接着拿起第二张牌,也把它跟随机选出的另一张牌交换位置;一直重复直到把最后一张牌跟随机牌交换位置。

  但是实际并不公平,有些组合出现概率会大些,解释:https://yjk94.wordpress.com/2017/03/17/%E6%B4%97%E7%89%8C%E7%9A%84%E6%AD%A3%E7%A1%AE%E5%A7%BF%E5%8A%BF-knuth-shuffle%E7%AE%97%E6%B3%95/

  Knuth洗牌算法:唯一修改的就是随机牌j选取的方法,在拿起第i张牌时,只从它之后(或者之前)的牌随机选出j,而不是从整副牌里面随机选取。这次概率就相同了。

vector<int> shuffle() {
        vector<int> res=v;
        for(int i=0;i<res.size();++i)
        {
            int t = i + rand()%(res.size()-i);//从当前位置之后的书中随机找一个交换位置
            swap(res[i],res[t]);
        }
        return res;
    }

 

 3、矩阵秩的几何意义

  一个向量组中,极大线性无关组中向量的个数,就是矩阵的秩。

  可以用于降维,去除相关性大的向量,保留主要的向量。SVD降维。

 

posted @ 2018-08-20 18:57  深度机器学习  阅读(342)  评论(0编辑  收藏  举报