zoukankan      html  css  js  c++  java
  • 常用数据结构

    数组:

      具有同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。

    栈:

      是只能在某一端插入和删除的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据。

    队列:

      一种特殊的线性表,它只允许在表的前段(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为对尾,进行删除操作的端称为对头。队列是按照“先进先出”或“后进后出”的原则组织数据的。队列中没有元素时,称为空队列。

    链表:

      是一种物理存储单元上非连续、非顺序的存储结构,它既可以表示线性结构,也可以用于表示非线性结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个节点包括两个部分:一个事存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

    树:

      是包含n(n>0)个结点的又穷集合K,且在K中定义了一个关系N,N满足以下条件:

        1、有且仅有一个结点K0,他对于关系N来说没有前驱,称K0为树的根结点。简称为:根(root)

        2、除K0外,K中的每个结点,对于关系N来说有且仅有一个前驱。

        3、K中各结点,对于关系N来说可以由m个后继(m>=0)

    图:

      图是由结点的有穷集合V和边的集合E组成。其中为了与树形结构加以区别,在图结构中常常将结点称为定点,边是顶点有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

    堆:

      堆是一种特殊的树形结构,每个结点都有一个值。通常我们所说的堆的数据结构,只是二叉堆。堆的特点是根结点的值最小或最大,且根结点的两个子树也是一个堆。

    散列表(Hash Table):

      若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。

  • 相关阅读:
    JAVA基础知识之JVM-——反射和泛型
    JAVA基础知识之JVM-——动态代理(AOP)
    顶层const和底层const
    C#正则分组实例
    jQuery延迟加载(懒加载)插件 – jquery.lazyload.js
    vs2015打开cshtml文件失败的解决方法
    Postman的使用
    webapi中的Route的标签的命名参数name的使用
    webapi中Route标签定义可选参数
    webapi中的自定义路由约束
  • 原文地址:https://www.cnblogs.com/yourGod/p/9100514.html
Copyright © 2011-2022 走看看