摘要: 3.2 给出区分给定的“栈操作”序列是否合法的准则,并证明两个不同的合法序列不可能得到相同的输出元素序列。准则:1,从操作序列中第一个自夫妻的任何一个自序列中,‘S’的个数不少于‘X’的个数。2,整个序列中,‘S’的个数和‘X’的个数相同。证明:(反证法)假设两个不同的合法操作序列:T1 = u1,u2,,,,,un,T2 = v1,v2,,,,,,vn,ui,vi €{S,X} i=1,2,,,,,n可以得到相同的输出元素序列。不失一般性,假设第一个不同的操作为:uk = ’S‘ ≠vk = 'X'即:uj = vj,j=1,2,,,,,k-1则此时,已输出的元素序列相同,栈 阅读全文
posted @ 2013-04-08 15:28 奔跑的Code 阅读(692) 评论(0) 推荐(0)
摘要: 2.8 一直A,B和C为三个有序链表,编写算法从A表中删除B表和C表中共有的数据元素。分析:被删除的元素特点为: = bj =其他元素则为: ai < bj 或 bj< ck 或 ck < ai设三个指针的pa,pb和pc分别指向这三个链表中的相应结点,则算法中的主要操作为:if(pa->data <pb->data) {pre = pa ; pa = pa->next}else if(pb->data < pc->data) { pb = pb->next }else if(pc->data < pa->da 阅读全文
posted @ 2013-04-08 14:17 奔跑的Code 阅读(348) 评论(0) 推荐(0)