目录
循环队列的相关条件和公式:
1.队空条件:rear==front
2.队满条件:(rear+1) %QueueSIze==front,其中QueueSize为循环队列的最大长度
3.计算队列长度:(rear-front+QueueSize)%QueueSize
4.入队:(rear+1)%QueueSize
5.出队:(front+1)%QueueSize
对称矩阵中,M[k]和a(i,j)的对应关系是:
当i>=j时,k=i(i+1)/2+j
当i<j时, k=j(j+1)/2+i
上三角矩形中,M[k]和a(i,j)的对应关系是:
当i<=j时,k=i(2n-i+1)/2+j-i
当i>j时, k=n(n+1)/2
下三角矩形中,M[k]和a(i,j)的对应关系是:
当i>=j时,k=i(i+1)/2+j
当i<j时, k=n(n+1)/2
针对下三角矩阵,元素a(i,j)在数组M中的下标k=1+2+...+i+j=i(i+1)/2+j
针对上三角矩阵,元素a(i,j)在数组M中的下标k=1+2+……j-i+i=j(j-1)/2+i
队列的插入操作(入队)在队尾进行,删除操作(出队)在队首进行。因为单循环链表是自前向后的,尾结点的下一个结点是头结点。故只设头指针时,入队操作的时间为O(n),出队操作的时间为O(1);只设尾指针时,入队操作的时间为O(1),出队操作的时间也为O(1)。
【卡特兰数的应用】
1、出栈次序:一个栈(无穷大)的进栈次序为1、2、3……n。不同的出栈次序有几种。
2、二叉树构成问题。有n个结点,问总共能构成几种不同的二叉树。