数据结构笔记一

  • 数据
  • 1.对客户事物的符号表示
    2.能够输入到计算机

    3.能够被计算机程序进行处理

    数据元素:是数据的基本单位。

    数据结构:相互之间存在一种或者多种特定关系的数据元素的集合。

    数据的逻辑结构:

    1.线性结构:线性表  栈  队列

    2.非线性结构:树形结构  图形结构

    数据的存储结构:

    1.顺序存储

    2.链式存储

    数据的运算:检索  排序  插入  删除  修改   等

    A    线性表:

    静态:表中结点的存储是连接的,占用一块连续存储区,一般节点数是固定的

    动态:表中节点的存储是不连续的,一般节点的数量是不固定的

    静态图型表示:

    数据1  

    数据2

    数据3

    ...

    数据n-1

    数据n

    后继2

    后继3

    后继4

    ...

    后继n

    null

     结构:

        typedef struct{

             T data;//数据域

             int  next;//后继

        }Node,*pNode;

    线性存储结构:借助元素在存储器中的相对位置(物理位置)相临来表示,数据元素之间的逻辑关系。

    缺点:插入,删除元素时需要移动大量的数据;一次性分配内存空间,表的容量难以扩充。

     

    动态:

     

    结构:

       typedef struct{

            T data;//存储数据信息,数据域

            Node *next;//存储直接后继存储位置,指针域

      }Node,*pNode;

     

    链式存储结构:

       struct Node{

            int data;

           struct Node *next;

       };

    typedef struct Node m_Node;

    只有一个指针域的结构图:

     

    分为:单链    单循环链  双向循环链

    带头结点和不带头结点,头结点是指头指针所指的不存放数据元素的结点。

    单链表的操作:

    A。删除:

        p=a.next;

        a.next=a.next.next;

        delete p;

     

    B .插入:

        new p;     //申请

        p.data=x; //加载数据

        p.next=a.next;//加载后继

        a.next=p;确定前继

     

    笔记二付代码,请关注,谢谢。

     

    posted @ 2013-04-13 01:15  wust小吴  阅读(170)  评论(0编辑  收藏  举报