问题描述
最近,我再次开始研究排序算法,并且我想知道哪种算法范式类别可以更好地描述insertion sort
。我研究了将插入排序链接到特定范例的网络,但是找不到特定答案。对于诸如quicksort
或mergesort
之类的其他排序算法,答案非常明显,即Divide and Conquer
范例。我只能为插入排序找到的数据表明它具有“ incremental approach”。但是我找不到关于增量方法的特定范例。如果有人能够清除这些定义并向我解释,我将不胜感激。
解决方法
“增量方法”的想法是使用户能够直观地看到中间结果,直到获得所需的最终结果为止。
这与插入排序的关系是,在插入排序中,我们计划将数组排序到“ j”位置,当到达此特定位置时,插入排序算法将对子数组A [1]进行排序…j-1],然后将单个元素A [j]插入其适当位置,产生排序后的子数组A [1 ... j]。