初始提交:排序算法性能实验(数据结构与算法,大二上)
数据结构与算法课程(大二上)大作业:八种经典排序算法的 C++ 实现与同规模数据下的性能对比实测。
(以下依据实验报告与源码整理)
random_device
mt19937
uniform_int_distribution
<ctime>
clock()
CLOCKS_PER_SEC
排序集.cpp
linux/a.cpp
Scale: n
testresult.log
.gitignore
说明:两份 .cpp 是同一程序在不同调参阶段的快照,跑不同档位时改动源码顶部的 n 与 repeats 再重新编译。未入库:实验报告(.doc)、作图数据(.xlsx)、运行截图(.png)、提交压缩包、编译产物(排序集.exe、a.out)。
n
repeats
依赖:任意支持 C++11 的 g++/clang++,无第三方库。
# 编译并运行(Linux/macOS) g++ -O3 -o sortbench linux/a.cpp ./sortbench # Windows(MinGW-w64/g++) g++ -O3 -o sortbench.exe 排序集.cpp ./sortbench.exe
#define n 50000000
main
数据结构大作业:多种排序算法实现与性能对比实验(冒泡、选择等,367 行 C++)
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
排序算法性能实验
任务背景
(以下依据实验报告与源码整理)
random_device作种子,mt19937加uniform_int_distribution在 1~1e8 范围等概率生成随机整数,7 个数组填入同一份数据,保证各算法输入一致。<ctime>的clock(),取排序前后差值除以CLOCKS_PER_SEC得到秒数。内容结构
排序集.cpplinux/a.cppScale: n,n=5e7、repeats=10,当前启用树形选择、归并、快排、堆排计时testresult.log.gitignore说明:两份 .cpp 是同一程序在不同调参阶段的快照,跑不同档位时改动源码顶部的
n与repeats再重新编译。未入库:实验报告(.doc)、作图数据(.xlsx)、运行截图(.png)、提交压缩包、编译产物(排序集.exe、a.out)。运行方法
依赖:任意支持 C++11 的 g++/clang++,无第三方库。
#define n 50000000;修改轮数:改全局变量repeats,随后重新编译。main里对应的计时代码块。来源声明