求助一些算法问题

1.设A[1..n]是一个包含n个不同自然数的数组. 如果在i<j时,有A[i]>A[j], 则称(i, j)为A中的一个逆序对(inversion).
a)列出<2,3,8,6,1>的5个逆序对
b)怎样数组含有最多的逆序对?它包含多少个逆序对?
c)设计算法,在最坏情况下,用Θ(nlgn)的时间确定n个元素的任意排列中的逆序对数目.


2.试设计分治算法实现24点游戏, 要求:
输入: n1, n2, n3, n4
输出:如能得到24, 则输出一个运算表达式

3.为找零问题设计一个动态规划算法: 给定金额n以及各种面额d1,d2,…,dm的数量无线的硬币, 求总金额等于n的硬币的最少个数.

4.设计一个按字典序生成排列的算法并用C语言实现, 分析其时间复杂度

5.证明J(2k+i)=2i +1 (i =0, 1,..., 2k−1)


先谢谢大家了

作者: yjcaroline   发布时间: 2011-06-11

mark

作者: liuhex   发布时间: 2011-06-12

想想啊

作者: SpiderdeRay   发布时间: 2011-06-12

第一个题目是用归并排序, 
lz可以试试

作者: bryantism   发布时间: 2011-06-12