原创:我自己设计了一道面试题(1)

1.已知一个n乘10的矩阵,,已知一个1乘10的矢量。在已知的矩阵中,要找到一行,使得这一行到这个已知矢量的距离最短。

问题:1.1 有哪些种距离,不同的距离的意义是什么。(考察基本知识,距离的种类)

         1.2 如果去找这一行。(考察直观解决问题的能力,有时人会想歪掉。会考虑复杂)

2. 如果选择全搜索算法,距离使用欧式距离,算法复杂度是几个乘法和几个加法(减法算加法)。(考察算法复杂度的计算能力,是否了解算法复杂度评估知识,细心程度,很多人的加法会算错)

3. 当n很大时,算法很复杂,有没有快速算法?有哪些快速算法?(考察逻辑思维能力和发散能力,该题就是一个简单的一维到二维的发散问题)。

二叉树法,分级法。

4. 二叉树法会设计排序。写一个冒泡排序算法的C/Matlab 实现。写一个该题下全搜索的matlab实现。(考察代码能力,C或C++)

5. 如何设计这个二叉树。(注意矢量二叉树和标量二叉树不同,考察矢量的形心对应于标量的均值)。

6. 当n很大时,我想把这n乘10的矩阵分成m个子类,每个子类是一组n/m乘10的矩阵。m个矩阵中选出有代表的m个矢量,m乘10,代表m个矩阵。要求是各个矩阵中的矢量到各自代表矢量的距离最短。如何对着个n乘10的矩阵进行分类。(聚类分析,SVM)。

 

欢迎大家给我提意见,发散这个考题,看还有哪点可以扩充考察。也包括我哪里设计的不好,有漏洞。

posted @ 2012-10-15 22:42  杭州桓泽  阅读(394)  评论(2编辑  收藏  举报