摘要:
https://github.com/hotwater99/practice_datastructure_and_algorithm.git《数据结构与算法分析——C语言描述》机械工业出版社,原书第2版,第7章N=100N=1000N=10000N=100000插入排序 insertion sort0s0.001s0.056s5.542s希尔排序 Shell sort0s0s0.002s0.022... 阅读全文
摘要:
https://github.com/hotwater99/practice_datastructure_and_algorithm.git《数据结构与算法分析——C语言描述》机械工业出版社,原书第2版,7.6桶排序的时间复杂度为O(N+K),但是需要满足前提条件:待排序的元素必须为小于M的正整数或者是0(负的整数也可以,就需要再多处理一下)。待排序的数组array[N],另外使用一个大小为M+1... 阅读全文
摘要:
https://github.com/hotwater99/practice_datastructure_and_algorithm.git《数据结构与算法分析——C语言描述》机械工业出版社,原书第2版,7.7快速排序的思路是在数组中设定一个数为“枢纽元”,比“枢纽元”小的数全部放到“枢纽元”的左边;比“枢纽元”大的数全部放到“枢纽元”的右边。然后采用分治的方法分别处理左边右边的数组,这样就可以完... 阅读全文
摘要:
https://github.com/hotwater99/practice_datastructure_and_algorithm.git《数据结构与算法分析——C语言描述》机械工业出版社,原书第2版,7.6归并排序是将待排序的数组分为两个子数组,分别排好序,然后再合并到一起。使用到了分治的策略。归并排序: 1 void Merge(int array[], int tmpArray[], i... 阅读全文
摘要:
https://github.com/hotwater99/practice_datastructure_and_algorithm.git《数据结构与算法分析——C语言描述》机械工业出版社,原书第2版,7.5节可以参考这篇文章,有一步步的图解:https://blog.csdn.net/u010452388/article/details/81283998另外这个动图也可以帮助理解:https:... 阅读全文