数据结构和算法之线性表

作者: focusOn | 来源:发表于2016-11-20 15:52 被阅读25次

    线性表

    • 排队的时候只需要记住前一个元素和后一个元素就可以了
    • 线性表,像排队一样,具有线一样性质的结构
    • 线性表(List):由零个或者多个数据元素组成的有限序列

    需要注意的几个关键的地方:

    • 1 首先它是一个序列,也就是说元素之间是有个先来后到的
    • 2 若元素存在多个,则第一个元素无前驱,而最后一个元素无后继,其他元素都有并且只有一个前后元素
    • 3元素是有穷的
    • 数学语言进行定义:a1,a2,ai-1,ai,ai+1...an
    • 所以线性表元素的个数n(n>=0),当长度n为0时候,则线性表为空

    抽象数据类型

    • 指一组性质相同的值的集合以及定义在此集合上的一些操作的总称

    • 原子类型:不可以再分解的基本类型,例如整型、浮点型等

    • 结构类型:有若干个类型组合而成,是可以再分解的,例如整型数组是由若干整型数据组成的

    • 抽象:是指抽取事物具有的普遍性的本质。

    • 抽象数据类型(Abstract Data Type,ADT)是指一个数学模型的定义仅取决于它的一组逻辑特性,而在其计算机内如何表示和实现无关。

    模拟一个求两个集合的并集伪代码(C):

    void unionL(List *La,list Lb)
    {
        int La_len,Lb_len,i;
        ElemType,e;
        La_len = ListLength(*La);
        Lb_len = ListLength(Lb);
    
        for(i=1;i<=La_len;i++){
             //从某个集合中 
            GetElem(Lb,i,&e)
            //查找当前元素是否不在La集合中
            if(!LocateElem(*La,e)){
                //在线性表中的i位置插入某个元素
                ListInsert(La,++La_len,e);
            }
        }
    
    }
    

    相关文章

      网友评论

      本文标题:数据结构和算法之线性表

      本文链接:https://www.haomeiwen.com/subject/vlkypttx.html