码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构 笔记1 概览

时间:2016-05-07 16:36:46      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

 线性结构

 1.数据元素之间满足唯一的线性关系。

   2.每个数据元素(除第一个和最后一个外)只有一个直接前趋和一个直接后继。

  线性表 (顺序表,链表,栈,队列)

    1.最简单和最常用的一种数据结构

    2.由n个数据元素(结点)组成的有限序列

    顺序表 

      1.线性表的数据元素按逻辑次序依次存入一组地址真实的存储单位。

    链表 (单向链表,双向链表,循环链表)

      1.线性表的数据元素除了存储自身的信息以外,还需要一个存储指示器后继元素,存储位置的指针。

      2.一个结点的存储结构为data|next,n个结点链成一个链表。

    栈 (Stack)

      1.限定在表的一端进行插入和删除运算的线性表

      2.遵循后进先出(Last In First Out)原则

    队列 (Quene)  

     按存储方式划分:顺序队列,链队列,环形队列

      1.只允许在表的一端进行元素插入,而在另一端进行元素删除

      2.遵循先进先出(First In First Out)原则

 

非线性结构

  树形结构 

    1.数据元素之间有着明显的层次关系,并且每个元素只与上一层中的一个元素(双亲结点)及下层中的多个元素(孩子结点)相关

    二叉树 (二叉树,满二叉树,完全二叉树,最优二叉树)

    按存储方式划分:顺序存储结构,链式存储结构

    1.每个结点至多只有两个孩子,而其子树有左右之分的有序树。

    2.符合三大性质(具体后续文章说明)

  

  图型结构 (graph)

    遍历方式:深度优先搜索遍历,广度优先搜索遍历

    存储结构:邻接矩阵表示法,邻接表表示法

    1.结点之间的关系是任意的。

    2.特殊的树形结构

  

  多维数组

   按内存表现形式划分: 行向量,列向量

    1.线性表的推广

    2.由于计算机的内存结构是一唯的,所以二位数据使用行向量或列向量表示

 

  广义表

    结点数据结构: tag|data/slink|link

    tag: 用来区分当前结点是原子还是子表

    data/slink 存放原子数据 或者 子表地址

    link 存放下一个元素对应的结点的地址

    1.带有层次的非线性结构

    2.通常使用链式存储结构

    3.每个结点由三个域构成,其中tag是一个标志位,用来区分当前结点是原子还是子表。

    

  

  

数据结构 笔记1 概览

标签:

原文地址:http://www.cnblogs.com/sz-zzm/p/5468399.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!