zoukankan      html  css  js  c++  java
  • python05--数据结构(P25)

    一、结构性数据结构

    一个具体的数据结构就是一个二元组

          D = (E,R)

       其中 E 是数据结构 D 的元素集合,而 R∈E * E 是 D 的元素之间的某种关系。

    总结出一批特别有用的典型数据结构:

    • 集合结构:其数据元素之间没有需要关注的明确关系,也就是说关系R是空集。

             这样的数据结构也就是其元素的集合,只是把一组数据元素包装成一个整体。这是最简单的一类数据结构。

    • 序列结构(线性结构):其数据元素之间有一种明确的先后关系(顺序关系)。其特点是每个元素只有(最多)一个后继。

             存在一个排位在最前的元素,除了最后的元素外,每个元素都有一个唯一的后继元素,所有元素排列成一个线性序列。关系R就是这里的线性顺序关系。

             序列结构还有一些变形,如循环结构和ρ形结构。

            

             

              圆圈表示数据元素,箭头表示元素之间的关系,说明这种关系是有方向的

    • 层次结构:其数据元素分属于一些不同的层次,一个上层元素可以关联着一个或者多个下层元素,关系R形成一种明确的层次性,只从上层到下层(通常也允许跨层次)。
    • 树形结构:层次结构中最简单的一种关系是树形关系,其特点是在一个属性结构中只有一个最上层数据元素,称为根,其余元素都是根的直接或间接关联的下层元素。

             进一步说,除根元素之外的每个元素,都有且仅有一个上层元素与之关联。

    •  图结构:数据元素之间可以有任意复杂的相互联系。

    二、功能性数据结构

      包括栈、队列、优先队列、字典等。

      这些结构都支持以某一套方式存储和访问元素(包括删除元素)

  • 相关阅读:
    Codeforces 414A
    使用Homebrew在Mountain Lion上安装MySQL
    hdu2066:一个人的旅行(最短路)
    hdu2066:一个人的旅行(最短路)
    hdu1297:Children’s Queue(大数递推)
    hdu1297:Children’s Queue(大数递推)
    hdu1175: 连连看(bfs)
    hdu1175: 连连看(bfs)
    PID72 / 拔河比赛 (动态规划)
    PID72 / 拔河比赛 (动态规划)
  • 原文地址:https://www.cnblogs.com/yanyufeng/p/9621303.html
Copyright © 2011-2022 走看看