Algorithm
文章平均质量分 66
fj352127189
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Sort——STL
<br />//Sort——STL.cpp:列举了c++、C里面定义好的Sort函数,重点说明STL中的sort函数 #include <iostream> #include <algorithm> #include <vector> #include <functional> using namespace std; int Comp(const void *p1, const void *p2 ) { return *((int *)p2) < *((int *)p1) ?原创 2010-09-14 19:31:00 · 791 阅读 · 0 评论 -
Sort——快速排序
<br />/**************************************************** 快速排序(Quick Sort): 1. 是不稳定的排序方法(目前被认为是最好的一种内部排序 方法)。 2. 算法的时间复杂度为O(nlogn),如果初始记录关键字有 序或基本有序则时间复杂度变以O(n^2)。 3. 算法思想:通过一趟排序将待排记录分割成独立的两部 分,其中一部分记录的关键字均比另一部分记录的关键 字小,则可分别对这两部分记录继续进行原创 2010-09-06 23:04:00 · 370 阅读 · 0 评论 -
Sort——希尔排序
<br />/**************************************************** 希尔排序(Shell,s Sort): 1. 又称”缩小增量排序“,是不稳定的排序方法。 2. 算法的时间复杂度为O(n^2)。 若为正序时,其时间复杂度为O(n)。 3. 算法思想:先将整个待排记录序列分割(相隔某个增量 的记录)成为若干个子序列分别进行直接插入排序,待 整个序列中的记录“基本有序”时,再对全体记录进行一 次直接插入排序。 *原创 2010-09-05 23:32:00 · 359 阅读 · 0 评论 -
Sort——直接插入排序
/**************************************************** 直接插入排序(Straight Insertion Sort): 1. 稳定的排序方法。 2. 平均来说插入排序算法的时间复杂度为O(n^2)。 3. 插入排序不适合对于数据量比较大的排序应用。 ****************************************************/ #include using namespace std;原创 2010-09-03 21:50:00 · 467 阅读 · 0 评论 -
Sort——堆排序
<br />/**************************************************** 堆排序(Heap Sort): 1. 是不稳定的排序方法。 2. 算法的时间复杂度为O(nlogn)。 3. 由无序元素构造一个堆,不断的重建堆。 4. 对记录较少的文件并不值得提倡,但对n较大的文件还是 很有效的。 5. 只需要一个记录大小的辅助空间。 6. 堆排序在最坏的情况下,其时间复杂度也为O(nlogn)。 *************原创 2010-09-07 21:14:00 · 342 阅读 · 0 评论 -
Sort——树形选择排序
<br />/**************************************************** 树形选择排序(Tree Selection Sort): 1. 是稳定的排序方法。 2. 算法的时间复杂度为O(nlogn)。 3. 要构造一个n个叶子节点的完全二叉树。 4. 需要大量的辅助空间,另外“最大值”进行了多余比较。 ****************************************************/ // 该算法转原创 2010-09-07 20:05:00 · 773 阅读 · 0 评论 -
Sort——简单选择排序
<br />/**************************************************** 简单选择排序(Simple Selection Sort): 1. 是稳定的排序方法。 2. 算法的时间复杂度为O(n^2)。 3. 记录移动操作的次数比较少。 ****************************************************/ #include <iostream> using namespace std;原创 2010-09-07 19:50:00 · 347 阅读 · 0 评论 -
Sort——起泡排序
<br />/**************************************************** 起泡排序(Bubble Sort): 1. 是稳定的排序方法。 2. 算法的时间复杂度为O(n^2)。 3. 算法思想:每一趟比较把关键字最大的按排到最后一个 记录上,如果一遍排序过程中没有交换操作则结束。 ****************************************************/ #include <iostream原创 2010-09-06 22:13:00 · 305 阅读 · 0 评论 -
Sort——表插入排序
<br />/**************************************************** 表插入排序: 1. 稳定的排序方法。 2. 平均来说算法的时间复杂度为O(n^2)。 3. 以修改2n次指针值代替移动记录。 4. 排序过程中需要的关键字的比较次数与直接插入相同。 5. 排序结果得到一个有序链表,不能随机查找。 ****************************************************/ #incl原创 2010-09-04 14:19:00 · 407 阅读 · 0 评论 -
Sort——2-路插入排
<br />/**************************************************** 2-路插入排序: 1. 在折半插入排序的基础上改进的稳定的排序方法。 2. 平均来说算法的时间复杂度为O(n^2), n^2 / 8。 3. 需要n个记录的辅助空间。 4. 减少了排序过程中移动记录的次数。 5. 当第一个元素是待排记录中关键字最小或最大的记录时 2-路插入排序就完全失去它的优越性。 ************************原创 2010-09-04 14:18:00 · 455 阅读 · 0 评论 -
Sort——折半插入排序
<br />/**************************************************** 折半插入排序(Binary Insertion Sort): 1. 稳定的排序方法。 2. 平均来说算法的时间复杂度为O(n^2)。 3. 不适合对于数据量比较大的排序应用。 4. (减少了关键字的比较次数)速度比直接插入要快。 ****************************************************/ #includ原创 2010-09-03 21:54:00 · 340 阅读 · 0 评论 -
中点画椭圆算法
/* 名 称:中点画椭圆算法 * 作 者:fj * 时 间:2010年9月16日20:52:24 * 功 能:根据鼠标输入的椭圆外截矩形坐标画出椭圆 */ #include LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM); inline int Round(const float a);原创 2010-09-17 12:51:00 · 2337 阅读 · 0 评论
分享