算法与数据结构
lcd5
这个作者很懒,什么都没留下…
展开
-
写在前面
数据结构是计算机专业最重要的一门专业课,不管是否科班,都应该认真去学。本科搞数模的时候狠搞了一陈子算法,但时间久远了,好多都忘了,不过真正用到的时候重拾起来也快。就我们工作中,我想大部分人也没有用到多少复杂的算法,都是些最基本的东西。不过这些东西恰恰在面试笔试的时候经常考到,毕尽这些东西都是应该掌握的。 在此,我将会贴出一些常规的数据结构和算法相关的小题目的具体实现!包含原创 2009-06-11 20:14:00 · 397 阅读 · 0 评论 -
一般冒泡排序和双向冒泡排序
//冒泡排序,大的往上浮,时间复杂度o(n)void Buble(int a[],int N){ for(int i=0;i for(int j=0;j { if(a[j]>a[j+1]) { int t = a[j]; a[j] = a[j+1]; a[j+1] = t;原创 2009-06-11 20:49:00 · 630 阅读 · 2 评论 -
快速排序
//快速排序//交换数组中array[low,high]的记录,使枢轴左边的元素都小于枢轴,右边的元素都大于枢轴int Partition(int *array,int low,int high){ //以第一个元素为轴 array[0] = array[low];//用子表的第一个记录作为枢轴记录 while ( low //从表的两端交替地向中间扫描 { while( low ar原创 2009-06-14 20:08:00 · 356 阅读 · 0 评论 -
堆排序
//下标从1开始的数组,建立大顶堆void HeapAdjust(int array[],int b,int e)//b到e中的关键字除b外均满足堆的定义{ int key = array[b]; //沿key较大的孩子结点向下筛选 for(int j=2*b;j { //j为key较大的记录的下标 if(j ++j; if(key > array[j])break; //key应插在原创 2009-06-14 20:18:00 · 340 阅读 · 0 评论