zoukankan      html  css  js  c++  java
  • 数据结构笔记一

    • 数据
  • 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;确定前继

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

查看全文
  • 相关阅读:
    模板的导入和继承
    图解从 URL 到网页通信原理
    HTTP协议详细介绍
    django的模型层
    LeetCode3-Longest Substring Without Repeating Characters
    LeetCode2-Add Two Numbers
    LeetCode1-Two Sum
    面试干货整理
    VS中使用QT调用R脚本
    MFC DLL 资源模块句柄切换[转]
  • 原文地址:https://www.cnblogs.com/wust221/p/3017621.html
  • Copyright © 2011-2022 走看看