测试分拣方法

时间:2014-12-07 23:54:32

标签: sorting

我的作业需要使用各种排序方法,特别是冒泡排序,插入排序,快速排序和堆排序。我们被分配编写代码来对提供给我们的数据集执行每种排序。我已经编写了每种类型的代码没有问题,但我的问题与我们任务的第二部分有关。我们被要求找到我们应该测试的可能条件,以验证我们的代码在输入数据的所有情况下都能正常工作......我很遗憾该怎么办,因为我只能想到我们要处理的两个案例:

1)数据未排序

2)数据已经排序

我能想到的唯一条件是被测数据的大小以及它是如何“未分类”的。我只是想错误的方式或者是什么?

注意:我正在使用C ++,尽管我认为排序背后的方法在所有语言中是相同的并不重要

2 个答案:

答案 0 :(得分:0)

程序员网站中有一个question。 我想最好的答案适用于这个问题。 我同意Jongware。 我有一些脚本来生成测试数据     random.awk - 随机数据
    tim.awk:n-2,n-1,n-4,n-3,.....,2,3,0,1 - 几乎颠倒了
    middle.pl:5,3,1,2,4 - 中间枢轴快速杀手杀手(PERL脚本)
    median3.awk:n-1,0,1,2,...,n-2 - 中位数为3的快速杀手锏     valley.awk:n-1,n-3,...,4,2,0,1,3,...,n-4,n-2 - 大多数快速排序的坏情况

    n111.awk:n,1,1,1,...,1,1,首先是大的     n11n.awk:n,1,1,1,...,1,n - 第一个和最后一个是大的     n1n1.awk:n,1,n,1,...,n,1 - 之字形
    nn11.awk:n,...,n,1,...,1 - 很少
    nnnn.awk:n,n,...,n - 相同的 其他n * .awk - github中的awk脚本。

答案 1 :(得分:0)

  • 空数据
  • 1个数据值
  • 在数据中重复的值
  • 1个值重复20次
  • 各种值的排列
  • 按相反顺序排序的数据

您希望找到的是您的实施是否存在缺陷。通常你会使用这些条件创建单元测试...