我有这个伪代码,可以使用另一个队列对一个队列进行排序:
1) Q2.enqueue(Q1.dequeue)
2) while Q1.size > 0 do
2.1) next <- Q1.dequeue
2.2) for i <- 1 to i<=Q2.size do
2.2.1) if Q2.first < next then
2.2.1.1) Q2.enqueue(Q2.dequeue)
2.2.2) else do
2.2.2.1) Q2.enqueue(next)
2.2.2.2) next <- Q2.dequeue
2.3) Q2.enqueue(next)
我想计算运行此算法时将要执行的确切操作量。
所以我从1开始只是1,然后while循环将进行n-1次,到目前为止,其1+ n-1。
然后将在while循环行2.1中执行它的1,然后在for循环2中执行操作,然后执行2.3循环,它是while循环的一部分。 for循环将首先执行1次,然后执行2次,直到执行n-1次,每次执行2次操作,因此到目前为止
这正确吗?