zoukankan      html  css  js  c++  java
  • 常用数据结构(子博客)

    1. 数据结构概述

      数据结构是计算机存储,组织数据的方式。通常由数据元素的集合和集合中数据元素之间的关系组成。

      算法得实现基于数据结构,选择恰当的数据结构可以带来更高的运行或者存储效率。

      数据结构通常由三个部分组成:数据的逻辑结构,数据的存储结构和数据的运算基础。

      1)数据的逻辑结构

        数据的逻辑结构反映数据元素之间的逻辑关系。数据的逻辑结构主要包括:

        线性结构(一对一的关系),树状结构(一对多的关系),图结构(多对多的关系),集合。

      2)数据的物理结构

        数据的物理结构反映数据的逻辑结构在计算机存储空间的存放形式,即数据结构在计算机中的表示。

        其具体实现的方法包括:顺序,链接,索引,散列等多种形式。

        一种数据结构,可以由一种或多种物理存储结构实现。

      3)数据的运算结构

        数据的运算结构反映在数据的逻辑结构上定义的操作算法,如检索,插入,删除,更新和排序等。

    2. 常用的数据结构概述

      计算机包括如下常用的数据结构

      1)数组:按序排列的同类数据元素的集合。

      2)线性表:排列在一条线上或一个环上的数据元素(线性关系)。

      3)栈:遵循先进后出(FILO)原则,只允许在某一端插入和删除的线性表。

      4)队列:遵循先进先出(FIFO)原则,只允许在表的前端进行删除操作,在表的后端进行插入的线性表。

      5)链表:链表由一系列结点(元素)组成,每个结点包括两个部分:数据域和指针域。

      6)树:由 n(n >= 1)个有限结点组成一个具有层次关系的集合,其形状像一棵倒着的树。

      7)图:图是由顶点集合 V(Vertex)和边集合 E(Edge)组成的,定义为 G = (V ,E)。

      8)堆:堆(Heap)是一个树状数据结构,其中子结点与父结点是一种有序关系。

      9)散列表:散列表(Hash Table ,也称哈希表)是把键值映射(映射函数)到表(散列表)的数据结构,通过键值可以实现快速查找。

     

    3. python 的 collections 模块(待补充)

  • 相关阅读:
    使用事件驱动代替定时任务
    MySql中的有条件插入 insert where
    Mac上“您没有权限来打开应用程序”(Big Sur)
    Java反编译反混淆神器
    Java实现开根号运算(不使用数组和String)
    使用vs code搭建Q#开发环境 (Mac)
    离散傅里叶变换DFT入门
    Java的nanoTime()方法
    Eslint提示const关键字被保留
    myBatis分页插件PageHelper的使用及源码详解
  • 原文地址:https://www.cnblogs.com/HZY258/p/8504998.html
Copyright © 2011-2022 走看看