842考研----数据结构阶段性总结(1)

2023-10-13 05:30

本文主要是介绍842考研----数据结构阶段性总结(1),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

842考研----数据结构阶段性总结(1)

目录

842考研----数据结构阶段性总结(1)

第一章 绪论部分总结(1)

1.1数据结构的基本概念

1.1.1 基本概念和术语

1.1.2 数据结构的三要素


第一章 绪论部分总结(1)

1.1数据结构的基本概念

1.1.1 基本概念和术语

1.数据:数据是信息的载体,是描述客观事实属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。

2.数据元素:是数据的基本单位。一个数据元素由若干数据项组成。

3.数据项:是构成数据元素的不可分割的最小单位。(例如学生记录就是一个数据元素,学号、姓名、性别为数据项)

4.数据对象:具有相同性质的数据元素的集合。是数据的一个子集。

5.数据类型:

  1. 原子类型  
  2. 结构类型
  3. 抽象数据类型

6.数据结构:相互之间存在一种或多种特定关系的数据元素的集合。(在任何问题中,数据元素都不是孤立存在的,他们之间存在某种关系,这种数据元素相互之间的关系成为结构【Structure】)

7.数据的逻辑结构与存储结构是密不可分的两个方面:

  1. 一个算法的设计取决于所选定的逻辑结构。
  2. 一个算法的实现依赖于所采用的存储结构。

1.1.2 数据结构的三要素

数据结构的三要素:逻辑结构、存储结构(也称为物理结构)、数据的运算。

1.数据的逻辑结构:

   (1)数据的逻辑结构:指元素之间的逻辑关系,即从逻辑关系上描述数据;它与数据的存储无关。

   (2)数据的逻辑结构分类图:

   (3) 四类基本结构关系示例图:

(3.1)集合:[数据中的数据元素之间除“同属一个集合”外,无其他关系]

(3.2)线性结构:[结构中的数据元素之间只存在一对一的关系]

(3.3)树形结构:[结构中的数据元素之间存在一对多的关系]

(3.4)图状结构或网状结构:[结构中的数据元素之间存在多对多的关系]

 

2.数据的存储结构(也称为物理结构):

    (1)存储结构是数据结构在计算中的表示(又称映像),也称物理结构。

    (2)数据的存储结构主要有:顺序存储、链式存储、索引存储、散列存储。

  • 顺序存储: 把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来实现。

                          优点是可以实现随机存取,每个元素占用最少的存储空间;

                          缺点是只能使用相邻的一整块存储单元,因此可能产生较多的外部碎片。

  • 链式存储:不要求逻辑上相邻的元素在物理位置上也相邻,借助指示元素存储地址的指针来表示元素之间的逻辑关系。

                         优点是不会出现碎片现象,能充分利用所有存储单元;

                         缺点是每个元素因存储指针而占用额外的存储空间,且只能实现顺序存取。

  • 索引存储:在存储元素信息的同时还建立附加的索引表。索引表中的每项称为索引项,索引项一般形式是(关键字,地址)

                         优点是检索速度快;

                         缺点是附加的索引表额外占用存储空间。另外,增加和删除数据时也要修改索引表,因此会花费较多的时间。

  • 散列存储:根据元素的关键字直接计算出该元素的存储地址,又称哈希(Hash)存储。

                         优点是检索、增加和删除结点的操作都很快;

                         缺点是若散列函数不好,则可能出现元素存储单元的冲突,而解决冲突会增加时间和空间开销。

3.数据的运算:

         施加在数据上的运算包括运算的定义与实现。

         运算的定义是针对逻辑结构的,指出运算的功能;

         运算的实现是针对存储结构的,指出运算的具体操作步骤。

这篇关于842考研----数据结构阶段性总结(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/201086

相关文章

Spring 依赖注入与循环依赖总结

《Spring依赖注入与循环依赖总结》这篇文章给大家介绍Spring依赖注入与循环依赖总结篇,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Spring 三级缓存解决循环依赖1. 创建UserService原始对象2. 将原始对象包装成工

MySQL中查询和展示LONGBLOB类型数据的技巧总结

《MySQL中查询和展示LONGBLOB类型数据的技巧总结》在MySQL中LONGBLOB是一种二进制大对象(BLOB)数据类型,用于存储大量的二进制数据,:本文主要介绍MySQL中查询和展示LO... 目录前言1. 查询 LONGBLOB 数据的大小2. 查询并展示 LONGBLOB 数据2.1 转换为十

redis数据结构之String详解

《redis数据结构之String详解》Redis以String为基础类型,因C字符串效率低、非二进制安全等问题,采用SDS动态字符串实现高效存储,通过RedisObject封装,支持多种编码方式(如... 目录一、为什么Redis选String作为基础类型?二、SDS底层数据结构三、RedisObject

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式

《Java通过驱动包(jar包)连接MySQL数据库的步骤总结及验证方式》本文详细介绍如何使用Java通过JDBC连接MySQL数据库,包括下载驱动、配置Eclipse环境、检测数据库连接等关键步骤,... 目录一、下载驱动包二、放jar包三、检测数据库连接JavaJava 如何使用 JDBC 连接 mys

JavaSE正则表达式用法总结大全

《JavaSE正则表达式用法总结大全》正则表达式就是由一些特定的字符组成,代表的是一个规则,:本文主要介绍JavaSE正则表达式用法的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录常用的正则表达式匹配符正则表China编程达式常用的类Pattern类Matcher类PatternSynta

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

Nginx Location映射规则总结归纳与最佳实践

《NginxLocation映射规则总结归纳与最佳实践》Nginx的location指令是配置请求路由的核心机制,其匹配规则直接影响请求的处理流程,下面给大家介绍NginxLocation映射规则... 目录一、Location匹配规则与优先级1. 匹配模式2. 优先级顺序3. 匹配示例二、Proxy_pa

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio