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

    数据结构

    数据结构(data structure)是相互之间存在一种或多种特定关系的数据元素的集合。数据元素不是孤立存在的,它们之间存在着某种关系,这种数据元素相互之间存在的关系称为结构。

    [Data\_Structure=(D,S) ]

    D是数据元素的有限集,S是D上关系的有限集。

    结构定义中的“关系”描述的是数据元素之间的逻辑关系,因此又称为数据的逻辑结构。

    那数据结构如何在计算机中表示的呢?

    1. 数据元素的表示

      先来认识几个概念;

      位(bit):在算机中表示信息的最小单位是二进制数中的一位,0或者1

      元素(element)/结点(node):由若干组合一起形成的一个位串

      比如说操作系统有32位和64位之分,它表示操作系统一次性能处理多少位的二进制数,将这样的位串称为一个字长,一个字长的位串表示一个整数;一个字节(8位二进制数)表示一个字符......

      因此:元素或结点可以看成是数据元素在计算机中的表示。

    2. 数据关系在计算机中的表示

      计算机中用存储数据元素的地址位置关系表示数据关系。由此得到顺序存储结构链式存储结构

      顺序存储结构把逻辑上相邻的结点存储在物理位置上相邻的存储单元中,结点之间的逻辑关系由存储单元的邻接关系来体现。链式存储结构在计算机中用一组任意的存储单元存储线性表的数据元素(这组存储单元可以是连续的,也可以是不连续的).它不要求逻辑上相邻的元素在物理位置上也相邻;链式存储用指针表示数据之间的逻辑关系。

    所以,数据结构在计算机中是存储、组织数据的方式。分为:

    • 线性结构(数组、链表、栈、队列、哈希表)
    • 树形结构(二叉树、AVL树、红黑树、B数、堆、Trie、哈夫曼树、并查集)
    • 图形结构(邻接矩阵、邻接表)

    这些数据结构既可以采用顺序存储,也可以采用链式存储表示,两种存储方式各有优缺点。

  • 相关阅读:
    美国地质调研局USGS
    SAR 图像
    Matlab 之meshgrid, interp, griddata 用法和实例
    ENVISAT卫星及ASAR数据介绍
    ASP.NET Integration with IIS7
    ubuntu下C/C++基本开发环境的配置
    C++ Objects Part 1: Basic Object Memory Layout
    Socket Programming in Windows
    Memory Layout for Multiple and Virtual Inheritance
    Common Type System—Memory Layout at C# Online.NET
  • 原文地址:https://www.cnblogs.com/arduka/p/12655486.html
Copyright © 2011-2022 走看看