当前位置: 首页 > news >正文

数据结构学习笔记—初识数据结构

文章目录

    • 1、初识
    • 2、逻辑结构
    • 3、存储结构
      • 3.1 顺序存储
      • 3.2 链式存储
      • 3.3 索引存储
      • 3.4 散列存储
      • 3.4 散列存储

1、初识

数据结构的开始:

  • 1968年美国克努特教授开创了数据结构的最初体系;
  • 计算机的圣经-《计算机程序设计的艺术》
  • 荣获1974年度的图灵奖

数据结构的意义

  • 锻炼思维,提高编程能力
  • 程序可复用性(效率)、可维护性、可读性

数据结构主要研究的是计算机数据间的关系,包括数据的逻辑结构存储结构及其操作

数据(Data):

  • 数据即信息的载体,是能够输入到计算机中并且能被计算机识别、存储和处理的符号总称。

数据元素(Data Element):

  • 数据元素是数据的基本单位,又称之为记录(Record)。一般,数据元素由若干基本项(或称字段、域、属性)组成。

数据结构的三个方面

  • 数据的逻辑结构
    • 线性结构
      • 线性表
    • 非线性结构
      • 树形结构
      • 图形结构
  • 数据的存储结构
    • 顺序存储
    • 链式存储
    • 索引存储
    • 链式存储
  • 数据的运算:检索、排序、插入、删除、修改等

2、逻辑结构

表示数据运算之间的抽象关系

按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为“线性结构”和“非线性结构”两大类。

  • 集合——数据元素间除“同属于一个集合”外,无其它关系

  • 线性结构——一个对一个,如线性表、栈、队列

  • 树形结构——一个对多个

  • 图状结构——多个对多个

3、存储结构

存储结构:逻辑结构在计算机中的具体实现方法。

存储结构是通过计算机语言所编制的程序来实现的,因而是依赖于具体的计算机语言的。

3.1 顺序存储

将数据结构中各元素按照其逻辑顺序存放于存储器一片连续的存储空间中

  • 如c语言的一维数组,如表 L=(a1,a2,……,an)的顺序结构

3.2 链式存储

将数据结构中各元素分布到存储器的不同位置,用地址(或链指针)方式建立它们之间的联系

数据结构中元素之间的关系在计算机内部很大程度上是通过地址指针来建立的。

3.3 索引存储

在存储数据的同时,建立一个附加的索引表,即索引存储结构 = 数据文件 + 索引表

3.4 散列存储

根据数据元素的特殊字段(称为关键字key),计算数据元素的存放地址,然后数据元素按地址存放(适合于查找频率高的)

3.4 散列存储

根据数据元素的特殊字段(称为关键字key),计算数据元素的存放地址,然后数据元素按地址存放(适合于查找频率高的)

相关文章:

  • 【机器学习】线性回归和损失函数
  • 特征值与特征向量的计算——PCA的数学基础
  • Java SpringBoot 集成 SpringSecurity
  • BC27 计算球体的体积
  • VS2017编译openssl3.0.8
  • 【成品设计】STM32和UCOS-II的项目
  • 命令行登录 MySQL 报 Segmentation fault 故障解决
  • 博客系统功能测试
  • 如何轻松删除电脑上的文件(无法恢复文件)
  • 成功案例丨GEZE与Altair合作推动智能建筑系统开发
  • Nginx端口telnet不通排查指南
  • 解决 Linux Bash 脚本因换行符问题导致的 “bash^M: No such file or directory“ 错误
  • es快速上手(从MySQL角度)
  • Java 进阶 1.0.1
  • Java高频面试之并发编程-18
  • 五分钟本地部署大模型
  • “星睿O6”AI PC 开发套件评测: NPU 算力测评(1)
  • MySQL 锁机制深度剖析:全局锁、表锁与行锁
  • 如何从容应对面试?
  • 大模型小课堂开课啦!!!
  • 内塔尼亚胡称将控制“整个加沙”,英、法、加威胁对以“制裁”
  • 4名中学生同服处方药后身体不适,一心堂一药店未凭处方售药被罚1万元
  • 古稀之年的设计家吴国欣:重拾水彩,触摸老上海文脉
  • 梅花奖在上海|秦海璐:演了15年《四世同堂》,想演一辈子
  • 上海青少年书法学习园开园:少年以巨笔书写《祖国万岁》
  • 美国务卿与以色列总理通话,讨论加沙局势