知识大全 数据结构考研分类复习真题 第三章 答案[5]
Posted 序列
篇首语:吾生也有涯,而知也无涯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 数据结构考研分类复习真题 第三章 答案[5]相关的知识,希望对你有一定的参考价值。
输入序列为 不能得出 其理由是 输出序列最后两元素是 前面 个元素( )得到后 栈中元素剩 且 在栈顶 不可能栈底元素 在栈顶元素 之前出栈
得到 的过程如下 入栈并出栈 得到部分输出序列 然后 和 入栈 出栈 部分输出序列变为 接着 和 入栈 和 依次出栈 部分输出序列变为 最后 入栈并退栈 得最终结果
能得到出栈序列B C A E D 不能得到出栈序列D B A C E 其理由为 若出栈序列以D开头 说明在D之前的入栈元素是A B和C 三个元素中C是栈顶元素 B和A不可能早于C出栈 故不可能得到D B A C E出栈序列
借助栈结构 n个入栈元素可得到 /(n+ )(( n)!/(n!*n!))种出栈序列 本题 个元素 可有 种出栈序列 abcd和dcba就是其中两种 但dabc和adbc是不可能得到的两种
不能得到序列 栈可以用单链表实现 这就是链栈 由于栈只在栈顶操作 所以链栈通常不设头结点
如果i<j 则对于pi<pj情况 说明pi在pj入栈前先出栈 而对于pi>pj的情况 则说明要将pj压到pi之上 也就是在pj出栈之后pi才能出栈 这就说明 对于i<j<k 不可能出现pj<pk<pi的输出序列 换句话说 对于输入序列 不可能出现 的输出序列
cha138/Article/program/sjjg/201311/22718相关参考
见上题的解答 参见上面题 typedefstructnode elemtypeelemcq[m]; //m为队列最大可能的容量 intfrontrear;
typedefstruct elemtpq[m]; intfrontcount; //front是队首指针count是队列中元素个数 cqnode; &nbs
[题目分析]本题与上面题基本相同现用类C语言给出该双端队列的定义 #definemaxsize typedefstruct datatypeelem[maxsize]; int
#definemaxsize栈空间容量 voidInOutS(ints[maxsize]) //s是元素为整数的栈本算法进行入栈和退栈操作 inttop=;  
s=(LinkedList)malloc(sizeof(LNode))s>data=x;s>next=r>nextr>next=sr=s 牺牲一个存储单元 &n
既不能由输入受限的双端队列得到也不能由输出受限的双端队列得到的输出序列是dbca () () &nbs
本题与上题本质上相同现用类C语言编写入队和出队算法 ()voidEnQueue(LinkedListrearElemTypex) //rear是带头结点的循环链队列的尾指针本算法将元素x插入到
intMaxValue(inta[]intn)//设整数序列存于数组a中共有n个本算法求解其最大值 if(n==)max=a[]; elseifa[n]>MaxValue(an)max=
[题目分析]这是以读入数据的顺序为相反顺序进行累乘问题可将读入数据放入栈中到输入结束将栈中数据退出进行累乘累乘的初值为 PROC test; CONSTmaxsize=; VARs
n+ top[]+=top[] 两栈顶指针值相减的绝对值为(或两栈顶指针相邻) ()满 ()空 ()n ()栈底 ()两栈顶指针相