《算法设计与分析》——子数组换位问题
子数组换位问题1. 问题2. 一般算法2.1 初步思考2.2 具体做法2.3 代价分析3. 采用分治算法
参考:经典算法之子数组换位问题
1. 问题
设a[0:n-1]是一个有n个元素的数组,k(0<=k<=n-1)是一个非负整数。
试设计一个算法将子数组a[0:k]与a[k+1,n-1]换位。要求算法在最坏情况下耗时O(n),且只用到O(1)的辅助空间。
2. 一般算法
2.1 初步思考
最简单的方法就是循环(n-(k+1))次=(n-k-1)次,将a数组的末尾数字插入到a[0]之前。
注:a
原创
2021-03-26 23:24:28 ·
434 阅读 ·
0 评论