作为一名前线的码农不时地看一下算法和数据结构还是很有必要的,虽然《算法导论》这本书很难啃,但还是有必要啃一下的。算法这东西和某种编程语言关系不大,在大学的课堂上书上一般是用伪代码来描述算法的,而用C语言去实现。算法更多的是一种思想,一种解决问题的方法,多看看算法还是很有必要的,它可以开阔的你的思.....
分类:
编程语言 时间:
2015-05-05 12:10:27
阅读次数:
252
快速排序之所以特别快,主要是由于非常精炼和高度优化的内部循环。像归并排序一样,快速排序也是一种分治的递归算法。数组S排序的基本算法由下列简单的四部组成:1.如果S中元素个数是0或1,则返回2.取S中任一元素v,称之为pivot(枢纽元,主元,基准)3.将S-{v}分成两个不想交的集合:S1={x∈S...
分类:
编程语言 时间:
2015-05-04 22:02:28
阅读次数:
141
public static void mergSort(Comparable[] data,int min,int max){ int mid = (min + max)/2; //递归的过程 if(max > min){ mergSort(data,min,mid); mergSort(dat.....
分类:
编程语言 时间:
2015-05-04 21:39:17
阅读次数:
123
1.堆排序不仅拥有与归并排序一样的时间复杂度为o(nlgn),而且空间复杂度所占秩序额外的几个元素空间,这个又有插入排序的优势。
2.堆排序分为3部分,第一部分是保持堆的性质的函数MAX_HEAPIFY函数,用于保持堆的性质:父结点的值要大于子节点。
第二部分是创建大根堆的函数,BUILD_MAX_HEAP这个函数从第一...
分类:
编程语言 时间:
2015-05-03 23:45:15
阅读次数:
210
八大排序对比(转)排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:...
分类:
编程语言 时间:
2015-05-03 17:25:25
阅读次数:
224
参考网址:http://blog.csdn.net/morewindows/article/details/6678165
// MergeSort.cpp : 定义控制台应用程序的入口点。
//归并排序
#include "stdafx.h"
#include
//合并两个有序数组
void mergeArray(int * array,int first,int mid,int las...
分类:
编程语言 时间:
2015-05-03 13:24:19
阅读次数:
151
将若干个有序序列进行两两合并,直到所有待排记录都在一个有序序列为止。1、二路归并排序 对于任意一个给定长度为n的待排序列,其中的n个记录各自为一个有序序列(单个记录必定是有序的),然后把相邻的两个序列归并,组成一个新的有序序列,一次下去,直到归并成一个有序序列为止。把两个有序序列归并,数组ar...
分类:
编程语言 时间:
2015-05-03 11:48:57
阅读次数:
134
1.归并排序#include using namespace std;const int maxn = 1000;int a[maxn],b[maxn];int ans;void merge_sort(int x,int y){ if(y-x>1) { int m = x+...
分类:
其他好文 时间:
2015-05-02 01:04:09
阅读次数:
122
一开始只会用归并排序算,但不知怎么的蜜汁WA,所以还是学习一下树状数组的方法。。。树状数组的方法看起来比归并排序简单很多。
分类:
编程语言 时间:
2015-05-01 21:14:33
阅读次数:
146
安装Microsoft Office 2010 的朋友们可能会发现,当你打开多个Excel文件时,想要将几个文件对比参考时,发现无法将几个窗口并排放置,几个Excel文件是共享一个窗口的。
通过上网寻求帮助,找到了一种方法,可以使多个Excel文件在多个独立的窗口中打开。
注:
此方法在Windows 7及Windows XP下均测试有效。
...
分类:
其他好文 时间:
2015-05-01 16:11:15
阅读次数:
215