数据结构与算法分析(C语言描述)L1.1
来源:互联网 发布:后台解析json字符串 编辑:程序博客网 时间:2024/04/29 22:49
1.1编写一个程序解决选择问题,令k = N/2.画出表格显示你的程序对于N为不同值的运行时间。
代码如下:
#include <iostream>#include <time.h>using namespace std;int select(int A[],int k,int n){int *minHeap = (int *)malloc(sizeof(int)*k);int heapSize = 0;int i,j;minHeap[heapSize++] = A[0];for(i = 1;i<k;i++){for(j = heapSize;j>0;j--){if(minHeap[j-1]<A[i])break;minHeap[j] = minHeap[j-1];}minHeap[j] = A[i];heapSize++;}//get K elements in arrayfor(i = k;i<n;i++){if(minHeap[heapSize-1]<A[i])continue;//将A[i]插入其中for(j = heapSize-1;j>0;j--){if(minHeap[j-1]<A[i])break;minHeap[j] = minHeap[j-1];}minHeap[j] = A[i];}cout<<"minHeap";for(i = 0;i<k;i++)cout<<minHeap[i]<<" ";cout<<endl;return minHeap[heapSize-1];}int main(){srand((unsigned)time(NULL));int i=0;int n = 10000;int *A = (int *)malloc(sizeof(int)*n);while(i<n){A[i] = rand()%10000;cout<<A[i++]<<" ";}cout<<endl;clock_t start = clock();cout<<"number:"<<select(A,n/2,n)<<endl;clock_t end = clock();cout<<"time:"<<end-start<<endl;free(A);system("pause");}
2 0
- 数据结构与算法分析(C语言描述)L1.1
- 1:数据结构与算法分析(c语言描述)引论(1)
- 排序 - C语言实现(摘自数据结构与算法分析C语言描述))
- 栈及其应用 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 队列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 二叉查找树 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 散列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 优先队列(堆) - C语言实现(摘自数据结构与算法分析 C语言描述)
- 散列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 优先队列(堆) - C语言实现(摘自数据结构与算法分析 C语言描述)
- 散列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 二叉查找树 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 队列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 栈及其应用 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 队列 - C语言实现(摘自数据结构与算法分析 C语言描述)
- 优先队列(堆) - C语言实现(摘自数据结构与算法分析 C语言描述)
- 《数据结构与算法分析-C语言描述》笔记
- 《数据结构与算法分析--c语言描述》之第一章:引论
- oracle学习笔记
- hdoj 1535 Invitation Cards 【最短路径SPFA】【正反向建边求单源最短路之和】
- 强制去除xcode的编译警告
- [高可用]Ubuntu搭建高可用的RabbitMQ(2)
- 菜鸟系列——最小生成树
- 数据结构与算法分析(C语言描述)L1.1
- Android _Smali中插入Toast
- 动态编辑删除Toolbar中的元素
- BNUOJ 28887 A Simple Tree Problem(线段树, 区间查询,区间更新)
- 写一封电子情书,困了的时候逗妹子玩儿的
- welcome to my scala and spark blog! Let's go!
- 架构师速成7.6-高中书单资料推荐
- 那些年,我们一起逆向的过程.
- jquery ajax的验证实例