版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、算法分析与设计西南交通大学算法设计与分析指导教师:尹治本学院:信息科学与技术学院班级:软件一班姓名:*学号:*2013年11月作业一、8-皇后问题1、实验代码:#include stdio.hint count;int queen10, column20, left20, right20;void prt1()int j;printf(No.%d , +count);for (j = 1; j = 8; j+) printf(%3d, queenj);printf(n);void meun(int i)int j;for (j = 1; j = 8; j+)if (columnj & left
2、i - j + 8 & righti + j)queeni = j; columnj = 0;lefti - j + 8 = 0; righti + j = 0;if (i8) meun(i + 1);else prt1();columnj = lefti - j + 8 = righti + j = 1;void main()int i;for (i = 1; i = 16; i+)columni = lefti = righti = 1;count = 0; meun(1); 2、实验结果 作业二:Quicksort 快速排序算法1、 实验代码:#include#includeusing
3、namespace std;int Partition(int arry,int start,int end) int pivot=arrystart; while(startpivot&startend) end-; arrystart=arryend; while(arrystartpivot&startend) start+; arryend=arrystart; arrystart=pivot; return start;void QSort(int arry,int start,int end) if(startend) int pivotkey=Partition(arry,sta
4、rt,end); QSort(arry,start,pivotkey-1); QSort(arry,pivotkey+1,end); void QuickSort(int arry,int len) QSort(arry,0,len);void main() int arry10; cout输入10个数:endl; for(int i=0;iarryi; coutendl; QuickSort(arry,10); cout排序后:endl; for(int i=0;i10;i+) coutarryi ; coutendl; 2、 实验结果作业三、Heapsort 堆排序算法1、 实验代码:#i
5、nclude #include #define N 10 using namespace std; void BuildMaxHeap(int * array); void HeapSort(int * array); void MaxHeapify(int * array,int n); int HeapSize; int main() int arrayN; cout请输入10个数:; for(int i=0 ; iarrayi; coutendl排序后:endl; HeapSort(array); for(int k=0;kN;k+) coutarrayk ; cout=0 ; i-)
6、int temp = array0; array0 = arrayi; arrayi = temp; HeapSize -= 1; MaxHeapify(array,1); void BuildMaxHeap(int * array) HeapSize = N; for(int i = N/2 ; i=1 ; i-) MaxHeapify(array,i); void MaxHeapify(int * array,int temp) int largest; int l = 2*temp ; int r = 2*temp+1; if(l arraytemp-1) largest = l; el
7、se largest = temp; if(r arraylargest-1) largest = r; if(largest != temp) int t = arraytemp-1; arraytemp-1 = arraylargest-1; arraylargest-1 = t; MaxHeapify(array,largest); 2、 实验结果 作业四:Quicksort like(类似于快速排序的选择算法)找中位数1、 实验代码#include #include #include #include using namespace std;int array = 89,98,45,2
8、6,15,35,48,86,92,65,45;const int size = sizeof array / sizeof *array;int partition(int *array, int left, int right)if (array = NULL)return -1;int pos = right;right-;while (left = right)while (left pos & arrayleft = 0 & arrayright arraypos)right-;if (left = right)break;swap(arrayleft, arrayright);swa
9、p(arrayleft, arraypos);return left;int getMidIndex(int *array, int size)if (array = NULL | size 1;int index = -1;while (index != midPos)index = partition(array, left, right);if (index midPos)right = index - 1; elsebreak;assert(index = midPos);return arrayindex;int main() cout数组元素为:endl; for(int i=0;
10、i9;i+) coutarrayi ; int value = getMidIndex(array, size); coutendlendl; cout 中位数是: value endl; return 0; 2、实验结果作业五:Radixsort基数排序算法1、 实验代码:#include #include #define MAXK 10 int get_int(void); int count_sort (int*array,int n,int d); int get_value(int a,int d); void radix_sort(int* a,int n,int d); int
11、main() int n = 12; int p12 = 1234,3123,2539,5958,4365,3352,6654,7214,7684,9351,4685,3325; radix_sort(p,n,3); for (int i=0;in;i+) printf(%d ,pi); printf(n); return 0; void radix_sort(int* a,int n,int d) for (int i=0;i=d;i+) printf(第%i次n,i+1); count_sort(a,n,i); int count_sort (int *array, int n,int d
12、) int kMAXK = 0; int * temp,*b; int i; temp = (int *) malloc (sizeof (int)*n); b = (int *) malloc (sizeof (int)*n); if (NULL = temp) return 0 ; for (i=0;in;i+) bi = get_value(arrayi,d); for (i=0;in;i+) printf(%d ,bi); printf(n); for (i = 0; i n; i+) kbi+; for (i=0;i10;i+) printf(%d ,ki); printf(n); for (i=1;i=0;i-) temp-kbi=arrayi; for (i=0;in;i+) printf(%d ,tempi); printf(n); for (i = 0; i 0&a0;d-) b/=MAXK; return b%MAXK; int get_int(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 4234.3-2024外科植入物金属材料第3部分:锻造钛-6铝-4钒合金
- 高考物理总复习专题七电场第2讲电势能、电势、电势差练习含答案
- 《品牌规划方案》课件
- 高中信息技术 《虚拟现实初探》教案 沪教版选修5
- 八年级物理下册 第九章 压强 第1节 压强第2课时 压强的综合运用教案(新版)新人教版
- 2024年五年级数学上册 三 游三峡-小数除法信息窗2 除数是小数的小数除法除法教案 青岛版六三制
- 2024-2025版新教材高中化学 第2章 第2节 第2课时 离子反应教案 鲁科版必修第一册
- 2023九年级数学下册 第24章 圆24.4 直线与圆的位置关系第3课时 切线长定理教案 (新版)沪科版
- 2024年七年级生物下册 2.1.3营养物质的吸收和利用教学设计 (新版)冀教版
- 应急管理工作格言
- 【8物(科)期中模拟】合肥市2023-2024学年八年级上学期期中模拟物理作业试卷
- 情商与智慧人生学习通超星期末考试答案章节答案2024年
- 部编人教版《道德与法治》六年级上册第6课《人大代表为人民》课件
- 液化气站双重预防体系手册
- 盘扣式卸料平台施工方案
- 《无人驾驶航空器飞行管理暂行条例》考试复习题库(含答案)
- 2024年榆林交通投资建设集团有限公司招聘笔试冲刺题(带答案解析)
- 空乘人员生涯发展展示
- 新探索研究生英语(基础级)读写教程参考答案Language-focus
- 习近平总书记关于教育的重要论述研究学习通章节答案期末考试题库2023年
- 部编 二年级语文上册 第七单元【教材解读】
评论
0/150
提交评论