随笔分类 -  算法浅析

写写小算法,改善一下智商
几种常见的排序算法之比较
摘要:对常见的这几种排序算法的练习,对我们的思路的规范化是很好的。学习前人是如何优化算法节约时间和空间的。 我们所练习的排序主要是内部排序,所谓内部排序,就是整个排序过程都在内存进行的排序,称为内部排序;反之,若排序过程中要进行数据的内、外存交换,则称之为外部排序。内排序适用于记录个数不是很多的小文件,而外排序则适用于记录个数太多,不能一次性放人内存的大文件。 对排序算法的分析可以从以... 阅读全文
posted @ 2009-03-20 14:12 Ruby_Wang 阅读(1415) 评论(0) 推荐(0)
字符串处理
摘要:在C语言中,有很多字符和字符串的处理。注意检查点 Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ -->1char*strcpy(char*des,constchar*src) 2{ 3 4if(... 阅读全文
posted @ 2009-03-17 18:58 Ruby_Wang 阅读(235) 评论(0) 推荐(0)
查找算法——二分法查找
摘要:二分法查找是在有序线性表查找指定的元素 int BinarySort(int n) { int low,high,mid; low = 0; high = length -1; while (low <= high) { mid = (low+high) / 2; if (n == m_num[mid]) return... 阅读全文
posted @ 2009-03-16 17:03 Ruby_Wang 阅读(387) 评论(0) 推荐(0)
排序算法——归并排序
摘要:归并排序的思想很像是插入排序,只不过插入的元素是已经排序好了的数组。 void CMergeSort::Merge(double R[], double R1[], int low, int mid, int high) { int i=low,j=mid+1,k=low; while ((i<=mid) && (j<=high)) { if (R[i] <= ... 阅读全文
posted @ 2009-03-16 16:20 Ruby_Wang 阅读(226) 评论(0) 推荐(0)
排序算法——选择排序
摘要:排序算法中有直接选择排序和堆排序。 (1)直接选择排序。是一种基于位置的排序,它第一趟选出最小的放在第一位,然后选出次小的放在第二位,然后依次类推。。。 for (int i=0;i=0;i--) { HeapSift(i,lenth); } for (int j =lenth-1;j>=0;j--) { temp = m_nu... 阅读全文
posted @ 2009-03-15 21:48 Ruby_Wang 阅读(301) 评论(0) 推荐(0)
排序算法——交换排序
摘要:交换排序中主要有:冒泡排序和快速排序 (1)冒泡排序比较简单每次每次两两比较,权值小的就向上升。这样一趟下来,就会得到最小的,依次循环后就会得到有序数列。 for(int i=0;i0;j--) { if(m_num[j] =n 而没有写head=n) && (head<rear))//head<rear { rear--; ... 阅读全文
posted @ 2009-03-15 20:04 Ruby_Wang 阅读(301) 评论(0) 推荐(0)
排序算法——插入排序
摘要:插入排序中最常见的是直接插入排序和希尔排序。 (1)直接插入排序其基本思想是:一个有序区和一个无序区,每次扫描扩大有序区,将无序区的数据不断的加入到有序区中。 例如:49、38、65、97、76、13、27、49' 第一趟排序:[13]、49、38、65、97、76、27、49' 第二趟排序:[13、27]、49、38、65、97、76、49' ... 阅读全文
posted @ 2009-03-15 15:15 Ruby_Wang 阅读(262) 评论(0) 推荐(0)