数据结构内的概念

简介:
  • 什么是数据结构

    • 一个数据结构是由元素依据某种逻辑联系组织起来的,对数据元素间逻辑关系的描述称为数据的逻辑结构
  • 数据结构中的基本概念

    • 数据:就是如基本的整数字符串,声音图像都可以算作是数据
    • 数据元素:就是组成数据的最小单位
    • 数据结构:指的是数据之间的相互关系
  • 数据结构的内容

    • 数据的逻辑结构:即数据元素之间的逻辑关系,这个结构与计算机存储无关,完全是抽象出来的一个模型.就比如List,Array
    • 数据的物理结构:即数据元素及其逻辑关系在计算机存储中的表现形式,比如array是在计算机中连续存储的,而LinkedList就不是
    • 数据的运算:不用多说,就是对数据的操作,比如增删改查
  • 需要说的是:上面三个概念是一个整体,比如相同的逻辑结构会有不同的物理结构(线性表的顺序存储和链式存储),再比如仙童的逻辑结构运行不同的运算方式,产生的效果也是不同的(双端队列和单端队列),所以我们要将三个概念融汇在一起考虑,任何一个条件发生改变,那么最终的数据结构可能就会发生改变
  • 数据结构的分类

    • 线性结构:数据之间的各个节点具有线性关系,就好像是将数据拿线串起来,所以线性结构中每个元素就只有一个前元素和一个后元素,并且只有一个开始点和一个结束点(队列,栈..)
    • 非线性结构:数据之间的各个节点具有多个对应关系,就比如你的社交网络,你有很多朋友一样,非线性结构有数组,树结构
  • 数据结构的存储方式

    • 顺序存储方式:就是在一块连续的存储空间上紧密的放置数据,比如数组结构
    • 链式存储方式:比上面的领过,不要求逻辑上相邻的节点在物理存储的时候也是相邻的,而是一个元素有另外元素的引用指向,比如LinkedList实现
    • 索引存储方式:就是采用附加的索引表的方式来存储节点信息的

      • 稠密索引:就是所有数据都有一对一的索引项在索引表中
      • 稀疏索引:你想查找某个数据,而索引表只会给你一个区间范围
    • 散列存储方式:根据节点的关键字直接计算出该节点的存储地址.
  • 数据类型

    • 按照数据类型的值可不可再分,可分为

      • 基本数据类型:就是类似int,double等一些整型,字符型,浮点型等
      • 聚合数据类型:自己定义的结构,或者说是数组,链表之类的
    • ADT(抽象数据类型):指的是数据的组织及其相关的操作,说白了就类似定义的实体类,可以达到数据的抽象和数据封装目的
  • 这篇内容有点少,都有点不好意思发出去,明天我将学习和实现线性表的顺序表的实现和原理,在此写出以督促自己
目录
相关文章
|
3月前
|
存储 算法 Linux
数据结构 | 二叉树的概念及前中后序遍历(一)
数据结构 | 二叉树的概念及前中后序遍历(一)
|
3月前
|
存储 算法 C语言
数据结构——二叉树的基本概念及顺序存储(堆)
数据结构——二叉树的基本概念及顺序存储(堆)
45 0
|
5月前
|
机器学习/深度学习 存储
【霍罗维兹数据结构】树的基本概念 | 树的表示 | 二叉树 - BINARY TREES
【霍罗维兹数据结构】树的基本概念 | 树的表示 | 二叉树 - BINARY TREES
37 0
|
20天前
|
存储 算法 搜索推荐
数据结构-概念版(七)
数据结构-概念版
48 0
|
20天前
|
存储 算法 Serverless
数据结构-概念版(六)
数据结构-概念版
35 0
|
存储
【树和二叉树】数据结构二叉树和树的概念认识
【树和二叉树】数据结构二叉树和树的概念认识
|
1月前
|
搜索推荐 算法 Shell
【数据结构】手撕排序(排序的概念及意义、直接插入和希尔排序的实现及分析)
【数据结构】手撕排序(排序的概念及意义、直接插入和希尔排序的实现及分析)
|
2月前
|
存储 机器学习/深度学习 算法
【数据结构入门精讲 | 第二篇】考研408、企业面试基础概念习题
【数据结构入门精讲 | 第二篇】考研408、企业面试基础概念习题
49 0
|
3月前
|
存储 缓存 索引
数据结构——顺序表的概念和基本操作(超全超详细)
数据结构——顺序表的概念和基本操作(超全超详细)
|
3月前
|
Java
数据结构 AVL树概念以及实现插入的功能(含Java代码实现)
数据结构 AVL树概念以及实现插入的功能(含Java代码实现)
53 0

热门文章

最新文章