算法回归-矢量模型与排序算法
通过矢量模型进行排序算法的思考:
排序算法不管是堆排序,桶排序,快速排序,及其各种优化,主要目的是减少比较的次数和对于特定环境的应用。
矢量是线性代数以及空间几何中重要的理论依据,其主要性质在图形学领域应用颇广,向量AB同时代表A到B的方向以及A到B的线性长度。
首先我们对于序列9,4,1,8,6,5,7从小到大进行排序,考虑向量的几何特性,我们倾向于将序列作为坐标点的形式在坐标系中表现,通过定义矢量来进行排序。考虑排序过程中的重要因素,序列的中数的位置n以及数的大小Xn,定义所有坐标点(n,Xn),定义从原点到坐标点的矢量空间,发现该矢量空间并不足以描述整个序列的特性,不管是寻找整体面积,或者取样寻找特定点,并没有看到真正在应用矢量模型来解决问题的方法,在我看来,此路不通。
转换思路,假设坐标由(Xn,Xn-1)表示,考虑(9,4),(4,1),(1,8),(8,6),(6,5),(5,7),矢量空间由XnXn-1表示,矢量图如下图,每条边代表矢量,方向是从起点(9,4)开始
考虑排序完成后矢量空间
矢量模型能够描述原有数据序列的数据位置,在矢量模型相关的排序算法中应当尽量保证其原有形状,在图形变换过程中减少比较次数。
到这里就卡壳了,各位同学给点启发,矢量模型的旋转和角度偏差或者面积还有什么不同的含义没有。