数据结构与java算法
文章平均质量分 93
该专栏使用的编程语言为java,以数据存储结构与相应的算法实现为主线。
何冽冽同学
纸上得来终觉浅,绝知此事要躬行。
展开
-
希尔排序、快速排序、归并排序的实现分析以及时间复杂度
我在另一篇文章中说插入排序的时候,会有一个不太好的现象,如果已排序的分组元素为{2,5,7,9,10},未排序的分组 元素为{1,8},那么下一个待插入元素为1,我们需要拿着1从后往前,依次和10,9,7,5,2进行交换位置,才能完成真 正的插入,每次交换只能和相邻的元素交换位置。希尔排序是按照不同步长对元素进行插入排序 ,虽然一次插入排序是稳定的,不会改变相同元素的相对顺序,但在不同的插入排序过程中,相同的元素可能在各自的插入排序中移动,最后其稳定性就会被打乱,所以希尔排序是不稳定的。原创 2022-10-05 16:17:41 · 1866 阅读 · 0 评论 -
冒泡排序、插入排序、选择排序的时间、空间复杂度以及优化方案
冒泡排序、插入排序、选择排序的时间复杂度、优化以及是否稳定问题原创 2022-10-04 21:46:26 · 1322 阅读 · 0 评论