算法(C/C++)
文章平均质量分 60
宇宙设计师
这个作者很懒,什么都没留下…
展开
-
选择排序(selection_sort)详解
使用语言:C++代码如下: #includeusing namespace std;int main(){ int a[10]={31,41,59,26,41,58,12,6,102,23};//示例数据 int len=sizeof(a)/sizeof(a[0]),min=0,temp=0,index;//获取数组长度的方法 m原创 2012-11-18 15:12:16 · 1078 阅读 · 0 评论 -
二分查找/二分搜索(binary_search)详解
前提:1.不考虑超大数据情况。2.对于二分查找/搜索,要求待查表为有序表。 代码: 1.递归方式: #includeusing namespace std;int binary_search(int a[],int h,int t,int value);int main(){ int a[11]={0,1,2,3,4,5,6,7,8,9,10};原创 2013-01-21 14:27:04 · 1578 阅读 · 0 评论 -
插入排序(insertion_sort)详解
使用语言:C++代码如下:#includeusing namespace std;int main(){ int a[6]={31,41,59,26,41,58}; int len=sizeof(a)/sizeof(a[0]);//获取数组长度的方法 int key,i,j; for(i=1;i { j=i;原创 2012-10-30 13:44:09 · 610 阅读 · 0 评论 -
归并排序/合并排序(merge_sort)详解
前提:1.待排序的子序列相对有序。2.不考虑大数据等特殊情况。#includeusing namespace std;void merge_sort(int a[],int p,int r);void merge(int a[],int p,int q,int r);int b[20];int main(){ int a[11]={1,49,60,12,-12,1原创 2013-01-16 18:17:59 · 1180 阅读 · 0 评论 -
题目1.请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个证书x时,判断出S中是否存在有两个其和等于x的元素。
题目: 请给出一个运行时间为O(nlgn)的算法,使之能在给定一个由n个整数构成的集合S和另一个整数x时,判断出S中是否存在有两个其和等于x的元素。分析: 若要整个算法的时间复杂度为O(nlgn),那么只要算法中最复杂的模块的复杂度为O(nlgn)就可以了。代码:#includeusing namespace std;bool check_原创 2013-01-22 17:31:49 · 4930 阅读 · 0 评论