Data_Structure
文章平均质量分 81
Linear_Luo
平心静气却不失激情,仰望星空仍需奋力搏击
展开
-
排序——基数排序
编程论到极致,核心非代码,即思想。所以,真正的编程高手同时是思想独到及富有智慧(注意与聪明区别)的人。每一个算法都是一种智慧的凝聚或萃取,值得我们学习从而提高自己,开拓思路,更重要的是转换思维角度。其实,我们大多数人都活在“默认状态”下。没有发觉自己的独特可设置选项-----思想。言归正传(呵呵!恢复默认状态),以下学习基数排序。【1】基数排序以前研究的各种排序算法,都是通原创 2016-08-23 15:57:01 · 1068 阅读 · 0 评论 -
排序——归并排序
归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。 将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成原创 2016-08-23 15:57:04 · 889 阅读 · 0 评论 -
排序——选择排序
选择排序的基本思想为:每一趟(例如第i趟)在后面的n-i+1(i=1,2,3,…...,n-1)个待排序元素中选取关键字最小的元素,作为有序序列的第i个元素,直到n-1趟做完,待排序元素只剩下一个,就不用选了,序列也排序完毕。选择排序主要有简单选择排序和堆排序,下面分别就这两种排序算法进行讨论。1.简单选择排序 从上面选择排序的思想中可以很直观的得出简单选择排序的算法思想:原创 2016-08-23 15:56:59 · 1000 阅读 · 0 评论 -
排序——交换排序
1.交换排序算法实现这里的交换排序指的是冒泡排序和快速排序,其中快速排序的过程可以简单的理解为:选取序列首元素为枢轴值(pivot),然后分别从序列尾部找到第一个小于pivot的元素(A),从序列首部找到第一个大于pivot的元素(B),然后交换此A,B两元素,直至首尾遍历的两指针重合,一趟排序结束。以下是这两算法的具体实现: 1 #include 2 using name原创 2016-08-23 14:50:40 · 1335 阅读 · 0 评论 -
k-d tree算法的研究
动机先前写了一篇文章《SIFT算法研究》讲了讲SIFT特征具体是如何检测和描述的,其中也提到了SIFT常见的一个用途就是物体识别,物体识别的过程如下图所示:如上图(a),我们先对待识别的物体的图像进行SIFT特征点的检测和特征点的描述,然后得到了SIFT特征点集合。接下来生成物体目标描述要做的就是对特征点集合进行数据组织,形成一种特殊的表示,其作用是为了加速特征点匹配的过程。所谓的特征转载 2016-09-26 21:30:03 · 931 阅读 · 0 评论