快速找出在字符串A中而不在字符串B中的字符

这篇博客讨论了如何快速找出字符串A中缺少而在字符串B中存在的字符。方法一是直接比较,时间复杂度为O(n^2),效率较低。方法二是借助哈希表,创建一个标志数组,时间复杂度为O(n),平均时间复杂度为O(n),大大提高了效率。
摘要由CSDN通过智能技术生成


               问题是这样的,假设连个线性表La和Lb分别表示两个集合A和B(即线性表中的数据元素即为集合中的成员),现要求一个新的集合A = A U B.这就要求对线性表作如下的操作;扩大线性表La,将存在于线性表Lb中而不存在于La中的数据元素插入到线性表La中去。只要从线性表Lb中依次取得每个数据元素,并依值在线性表La中进行查防,如不存在,则插入之。

                 

                         方法一:

                            

void union(List &La , List &Lb)
{
            //将所有在线性表Lb中但不在La中的数据元素插入到La中
   La_len = ListLength(La); Lb_len = ListLength(Lb);

   for (i = 1; i <= Lb_len; i++)
   {
         GetElem(Lb, i ,e);   //Lb中第i个数据赋给e
         if (!LocateElem(La, e, equal))
              ListInsert(La, ++La_len,e); //La中不
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值