zoukankan      html  css  js  c++  java
  • 数据结构(一) 线性表

    一、线性表

      1、线性表的顺序表示和实现

      2、线性表的链式表示和实现

        线性链表

        循环链表

        双向链表

     

    线性表

             线性结构:线性结构中的元素除了第一个和最后一个元素,其它元素都有唯一的直接前驱和直接后继。

        线性表的逻辑结构:由类型相同的数据元素组成的有限序列。

             线性表的实现方法:顺序表和链表

            

    顺序表

             线性表的顺序存储结构特点:

    (1)    用一组地址连续的存储单元一次存储线性表的元素;

    (2)    用元素在存储器中的“物理位置相邻”表示线性表中数据之间的逻辑关系;

    (3)    可直接随机存取任一个数据元素,所以线性表的顺序存储是一种随机存取的存储结构;

    (4)    在进行插入或删除操作时需要移动大量的数据元素;

            

    单链表

             线性表的链式存储结构特点:

    (1)    数据元素之间的逻辑关系由节点的后继指针表示,逻辑上相邻的两个元素不要求物理存储位置也相邻。

    (2)    每个元素的存储位置由其直接前驱的后继指针所表示;

    (3)    链式存储结构是非随机存取的存储结构,存取第i个元素必须从头指针出发进行查找;

    (4)    线性表的链式存储结构中的尾节点的直接后继为空。

    循环链表

             循环链表的节点结构与单链表相同,与单链表不同的是在循环链表中表尾节点的next指针不为NULL,而是指向头节点。一个空循环链表中,有head->next==head。

             循环链表的操作与线性链表的操作基本相同,只是将算法中循环条件改为tmpPtr是否等于头指针。

    双向链表

             双向列表的节点中有两个指针,分别指向前驱和后继,back是指向前驱的指针,next是指向后继的指针。

  • 相关阅读:
    linux命令-ps
    solr参数说明
    CAP原理和BASE思想
    java多线程文件上传服务器
    swift的简介
    浅谈对【OSI七层协议】的理解
    手写简易WEB服务器
    JVM知识整理和学习(转载并修改)
    多线程学习笔记六
    多线程学习笔记五
  • 原文地址:https://www.cnblogs.com/bigbigbigo/p/8616859.html
Copyright © 2011-2022 走看看