- 博客(6)
- 资源 (2)
- 收藏
- 关注
转载 C++栈和队列标准库函数
栈 使用标准库的栈和队列时, 应包含先关头文件. 在栈中应包含头文件: #include 定义: stack s s.empty(); //如果栈为空则返回true, 否则返回false; s.size(); //返回栈中元素的个数 s.top(); //返回栈顶元素, 但不删除该元素 s.pop(); //弹出
2018-01-11 15:47:03
256
原创 归并排序MergeSort
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用,归并排序将两个已排序的表合并成一个表。 将序列2分至单个元素,将2分的序列归并(按序保存在缓存空间,最后保存会原序列) void MergeSort(int* a, int len) { MSort(a, 0, len - 1); } void MSor
2018-01-11 15:00:33
116
原创 希尔排序(shellsort)
希尔排序是改进的插入排序,将无序数组分割为若干个子序列,子序列不是逐段分割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小的增量,再将数组分割为多个子序列进行排序……最后选择增量为1,即使用直接插入排序,使最终数组成为有序。 void ShellSort(int* a, int len) { int d = len / 2; while (d >=
2018-01-11 11:50:40
108
原创 快速排序 quicksort
快速排序应用分治法的思想进行处理,具体是: 1. 选择基准数(可以随机选择,通常可选数组第一个和最后一个或中间数); 2. 分割待排序序列(数组),序列前后设置left和right指针,往中间移动,比较left和基准,基准和right,发现逆序,交换数据,直到指针重合; 3. 重复递归处理分割序列。 class __declspec(dllexport) QuickSort { pub
2018-01-11 08:48:00
157
原创 堆排序heapsort
class __declspec(dllexport) HeapSort { public: HeapSort(int* a, int len); ~HeapSort(); void AdjustHeap(); private: int* array_; int length_; }; void swap(int* a, int* b) { int
2018-01-10 15:33:26
161
转载 线段树
一 概述 线段树,类似区间树,它在各个节点保存一条线段(数组中的一段子数组),主要用于高效解决连续区间的动态查询问题,由于二叉结构的特性,它基本能保持每个操作的复杂度为O(logn)。 线段树的每个节点表示一个区间,子节点则分别表示父节点的左右半区间,例如父亲的区间是[a,b],那么(c=(a+b)/2)左儿子的区间是[a,c],右儿子的区间是[c+1,b]。 二 从一个例子理解线段树 下
2018-01-09 10:28:33
189
机器人标定和手眼标定
2018-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人