"PB16110173-徐煜森-project11排序实验报告"

需积分: 0 0 下载量 165 浏览量 更新于2024-02-02 收藏 917KB DOCX 举报
本实验使用了插入排序,堆排序,快速排序,基数排序和计数排序五种常见的排序算法,对不同规模的元素进行排序。实验环境为在虚拟机中编译运行,宿主机为Windows10,虚拟机为Ubuntu 16.04 LTS。编译环境为Ubuntu 16.04 LTS,使用了G 5.4.0进行编译,编译选项为-std=C 11。实验过程包括编写Makefile用于编译代码,并生成随机数据进行实验。在实验中,对于不同规模的元素,分别进行排序,并记录时间和比较次数,最终对结果进行分析和总结。 在实验过程中,首先编写了一个简单的Makefile用于编译代码,方便实验操作和助教进行测评。随后通过编写程序生成了随机数据,确保数据的随机性与多样性,以便对不同情况下的排序算法进行测试。随机生成的整数范围为1到65535之间,元素规模分别为2^2,2^5,2^8,2^11,2^14,2^17,以确保对于不同规模的元素对排序算法进行测试。 在进行实验时,选取了插入排序,堆排序,快速排序,基数排序和计数排序这五种排序算法进行测试。对每种排序算法,分别对不同规模的元素进行排序,记录下排序时间和比较次数。实验结果显示,对于小规模的元素,插入排序表现较好,而对于大规模的元素,快速排序和计数排序表现出色。堆排序和基数排序在特定情况下也有其优势。 在实验结果的分析中,结合排序算法的特点和时间复杂度等方面进行综合分析,得出了不同排序算法在不同情况下的适用性和效率。插入排序作为简单且易于实现的排序算法,在小规模元素上表现良好,但对于大规模元素效率较低。堆排序和快速排序在大规模元素上有较好的性能,而基数排序和计数排序在特定情况下也有其优势。 综合实验结果和分析,结合排序算法的特点和适用范围,可以根据不同的应用场景选择合适的排序算法,以达到更好的排序效果和性能。本实验通过对五种排序算法的实验比较,加深了对排序算法性能的理解,并对不同排序算法的适用性有了更深入的认识。同时,通过实验过程和结果的记录和分析,也提高了实验者的数据处理和分析能力。