2019数据结构考研(一)

article/2025/11/6 7:30:44

2019数据结构考研(一)

知识框架

知识框架

数据结构的基本概念

  • 数据:数据是信息的载体,是所有能描述事物属性的数,字符以及所有能输入到计算机被计算机程序识别和处理的符号的集合
  • 数据元素:数据元素是数据的基本单位
  • 数据项:数据项是构成数据元素不可分割的最小单位
    注意:不要混淆数据,数据元素和数据项,例如:学生记录就是一个数据元素,它由学号,姓名,性别等数据项组成
  • 数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集
  • 数据类型: 原子型,结构类型和抽象数据类型:抽象数据组织与相关操作
  • 抽象数据类型:通常用数据对象,数据关系和数据操作三组来表示抽象数据类型
  • 数据结构:是相互之间存在一种或者多种特定关系的数据元素的集合,数据结构主要包括三个方面的内容(逻辑结构,存储结构,数据运算),一个算法的设计取决于逻辑结构,而算法的实现则取决于存储结构

数据的逻辑结构

数据的逻辑结构分为线性结构和非线性结构
线性结构:结构中的数据元素只存在一对一的关系
树形结构:结构中的数据元素存在一对多的关系
图状结构和网状结构:结构中的数据元素存在多对多的关系
集合:结构中的数据元素除了”同属于一个集合”的关系外,别无其他的关系
数据的逻辑结构

数据的存储结构

数据的存储结构是指数据元素在计算机中的表示,又称为物理结构,是数据的逻辑结构用计算机语言的实现,是基于计算机语言的,数据的存储结构是逻辑结构在计算机上的映射,他不能独立于逻辑结构存在

  • 顺序存储:把逻辑上相邻的元素存储在物理位置上也相邻的存储单元里面,元素之间的关系用存储单元之间的关系来表示,其优点是可以实现随机存取,每个元素占用最小的存储空间,缺点是只能使用相邻的一整块存储单元,可能产生较多的外部碎片

外部碎片,是由于大量信息由于先后写入、置换、删除而形成的空间碎片。为了便于理解,我们将信息比作货物,将存储空间比作仓库来举例子。假设,我们有编号为1、2、3、4、5、6的6间仓库库房,前天送来了一大宗货,依次装入了1、2、3、4、5号仓库,昨天又因故将4号库房的货物运走了,那么数值上说我们还有两间空仓库的空间,但是如果这时候送来两间仓库容量的货物但要求必须连续存放的话,我们实际上是装不下的。这时的4、6号仓库,就成为一种空间的碎片。由于这样的原因形成的空间碎片,我们称之为外部碎片。从上面的例子我们可以理解,外部碎片是可以通过一些措施来改善或者解决的。对于在硬盘上的外部碎片,我们通常用磁盘碎片整理来解决,对应上面的例子,就是将5号仓库的货物及时移动到新腾出的4号仓库,这样,1-4号仓库都是满的,而5、6号仓库则形成了有效的、连续的空间,能够适应新的应用要求了;对于内存中的外部碎片,我们内存管理中常用的页面管理形式,就是为了解决这个问题的。这里就不详述了。
内部碎片,是由于存量信息容量与最小存储空间单位不完全相符而造成的空间碎片。还是沿用上面的例子,这次我们的6间仓库目前都是空置的,但是假设我们管理仓库的最小空间单位是间,今天运来了容量为2.5间仓库的货物,那也要占用我们1-3号3间仓库,尽管3号仓库还闲置着一半的空间,但是这半间仓库已经不能再利用了(因为是以间为最小单位么);这时,我们的仓库中就形成了半间仓库的空间碎片,仓库的有效容量只剩下3间仓库了

  • 链式存储 :不要求逻辑上相邻的数据元素在物理位置上也相邻,借助指示存储位置的指针来表示元素之间的逻辑关系,优点是不会出现碎片现象,充分利用所有的存储单元,缺点是:每个元素存储指针而占用多余的存储空间,只能实现顺序存取
  • 索引存储:在存储元素信息的同时,还建立附加的索引表,索引表中的每一项为索引项,索引项由关键字和地址组成,其优点是检索速度快,缺点是增加了索引表占用多余的内存空间,在增加删除数据时都需要修改索引表
  • 散列存储:根据元素的关键字直接算出元素的存储地址,优点是检索,删除增加元素速度都很快,缺点是,如果散列函数不好的话可能出现存储单元的冲突,解决的话会增加时间和空间的开销

数据的运算

运算的定义是根据逻辑结构的,指出运算的功能,运算的实现是根据存储结构的,指出运算的基本步骤
例题

链式存储设计时,结点内的存储单元地址是(A)
A.一定连续 B.一定不连续
C.不一定连续 D.部分连续,部分不连续

解析:链式存储设计时,各个结点的存储空间可以不连续,但是结点内的存储单元地址一定是连续的

算法的基本概念

算法是对特定问题的一种求解步骤,是指令的有限序列,其中每一条指令有一条或多条操作
算法的五大重要特性
1.有穷性
2.确定性:不会产生二义性,相同的输入只能有相同的输出
3.可行性
4.输入
5.输出
一个好的算法有下面的特点:
正确性,可读性,健壮性和效率与低存储量需求

时间复杂度

(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)。
(2)时间复杂度 在刚才提到的时间频度中,n称为问题的规模,当n不断变化时,时间频度T(n)也会不断变化。但有时我们想知道它变化时呈现什么规律。为此,我们引入时间复杂度概念。 一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数,用T(n)表示,若有某个辅助函数f(n),使得当n趋近于无穷大时,T(n)/f(n)的极限值为不等于零的常数,则称f(n)是T(n)的同数量级函数。记作T(n)=O(f(n)),称O(f(n)) 为算法的渐进时间复杂度,简称时间复杂度。
这里写图片描述
解析:选C,n始终为问题规模,时间频度与n^2成正比
这里写图片描述
解析:选B
这里写图片描述
这里写图片描述
解析:选A
算法原地工作是指辅助空间为常量
算法的时间复杂度不是程序具体执行时间,不可以赋予n一个特殊的值

空间复杂度

一个算法的空间复杂度(Space Complexity)S(n)定义为该算法所耗费的存储空间,它也是问题规模n的函数。渐近空间复杂度也常常简称为空间复杂度。

 

本文转载自:https://blog.csdn.net/Oceansidexue/article/details/79318144


http://chatgpt.dhexx.cn/article/gMS8nZ55.shtml

相关文章

考研数据结构汇总

仅供参考!!! 必背知识点 数据结构 是相互之间存在一种或多种特定关系的数据元素的集合 数据结构的三要素: 逻辑结构,存储结构,数据的运算(定义(逻辑结构的,运算的功能…

22计算机408考研—数据结构—排序(详解加例题)

2022计算机考研408—数据结构—排序 手把手教学考研大纲范围内的排序 22考研大纲数据结构要求的是C/C,笔者以前使用的都是Java,对于C还很欠缺, 如有什么建议或者不足欢迎大佬评论区或者私信指出 Talk is cheap. Show me the code. 理论到处都…

王道考研数据结构笔记

2022年4月16日 整理了这篇博客的pdf版本,但是缺的部分可能没法补上啦,把毕业的事忙完了可能!可以!对着书把笔记再整理一遍!所以所以,如果有需要pdf版本的可以私信我(可能回得比较慢,也可以直接加…

数据结构(考研笔记)

参考 原文链https://blog.csdn.net/qq_55593227/article/details/123598044 文章目录 第一章、绪论1.1. 数据结构1.2. 算法1.2.1. 算法的基本概念1.2.2. 算法的时间复杂度1.2.3. 算法的[空间复杂度](https://so.csdn.net/so/search?q空间复杂度&spm1001.2101.3001.7020) 第…

【数据结构】- 【考研复试面试题】-汇总大合集

数据结构-考研复试面试题-汇总大合集 _写在前面的话:第二次写文章,本篇文章涉及内容主要包括数据结构与算法,包含市面上最热门的面试题,加以总结,用于本人的专业课面试复习,包括一些个人理解和总结&#xf…

考研复试——数据结构

文章目录 数据结构什么是数据结构?逻辑结构和物理结构有什么区别?为什么对单链表设置头结点?算法的特点?常见的数据结构有哪些?栈在后缀表达式求值的算法思想:队列溢出现象?解决方法&#xff1f…

【考研】数据结构知识点

绪论 基本概念和术语 数据 :信息的载体数据元素 :数据的基本单位,由若干数据项组成,数据项为不可分割的最小单位数据对象 :数据的子集,具有相同性质的数据元素集合数据类型 :值的集合和定义在此集合的一组…

考研数据结构-基础知识

考验数据结构所需的程序语言基础: 一、(1)基本类型: 数据类型:short、int、long、float、double(用来存储各种数字如整数、小数)。考验数据结构中常用的有两种:int(存储整…

数据结构考研复习(详细指导)(持续更新中)

目录 绪论 数据结构 数据结构在学什么 ​编辑 数据结构的基本概念 算法 算法的基本概念 算法的特性 好算法的特性 算法的时间复杂度 算法的空间复杂度 线性表 定义 基本操作 顺序表 顺序表的定义 顺序表的实现 顺序表的插入和删除 顺序表的查找 单链表 单链…

《王道》数据结构笔记整理2022

数据结构 第一章:绪论1.1数据结构的基本概念1.2数据结构的三要素1.3算法的基本概念1.4算法的时间复杂度1.5算法的空间复杂度 第二章:线性表2.1线性表的定义2.2顺序表的定义2.2.1静态分配:2.2.2动态分配 2.2顺序表的基本操作1.插入操作 :平均时…

跨境支付体系

跨境支付基础概念 两个或两个以上国家或地区之间因国际贸易,国际投资及其他方面所发生的国际间债权债务,借助一定的结算工具和支付体系实现资金跨国或跨地区转移的行为。 主要特性: 1)收付双方可能在不同的国家或地区 2&#xff0…

Braintree-国外支付对接(一)

前言:在国外,要说网上商城支付用的最多的就是Paypal和信用卡。Paypal相当于咱中国的支付宝,所以支付要对接它是必不可少的。在开发项目的初期最先对接的确是Paypal的Rest SDK,后来鉴于领导的要求,需要适用信用卡&#…

支付开发,不得不了解的国内、国际第三方支付流程

https://mp.weixin.qq.com/s/4Xut45PcMASlV4_08O_xmA 这几年的工作中一直与支付打交到,借着 skr-shop 这个项目来与大家一起分享探索一下支付系统该怎么设计、怎么做。我们先从支付的一些常见流程出发分析,找出这些支付的共性,抽象后再去探讨…

澳洲支付服务商RoyalPay微信支付宝APP支付对接

最近项目中需要开发澳洲那边的微信支付宝支付,所以去研究了一下微信境外支付,发现境外只支持服务商模式,即客户需要去与澳洲本地服务商合作,由客户提供材料,服务商帮客户申请支付相关账号,然后调用服务商提…

聚合支付平台排名

随着时代的发展,聚合支付对于商家来说越来越重要,虽说有刷脸支付的噱头,但是聚合支付在支付史上的地位越来越重要。再加上银联、支付宝、微信官方这两年在聚合支付上的发力,和国家层面对聚合支付的政策扶持,聚合支付已…

聚合支付排名前十的平台有哪些?

很多行业都有自己的排名,在某种程度上,排名的位置,决定着企业能力的强弱,越是排名靠前的企业,越是彰显着不菲的能力。 所以,很多时候,我们想寻找某个行业里优秀的企业,看一下排名数…

第三方支付平台排行!

第三方支付平台排行! 2023年第三方支付十大品牌 口碑投票榜 人气品牌榜 2023年榜单规则依据:第三方支付十大品牌榜数据由CNPP品牌榜中榜大数据 研究院和CN10排排榜技术|研究院通过资料收集整理,并基于大数据统计及人为根据市场和参数条件变化的分析研究…

海外本地支付—Payssion

Payssion(全球本地支付):成立于2013年1月15日,致力于为客户提供一站式全球在线支付解决方案。通过Payssion一个API可以快速接入全球300多种本地支付,覆盖欧洲、拉美、中东、东南亚等全球200多个国家/地区。 1、提供什么…

PHP 对接paypal支付平台

对接paypal支付平台 【前言】:最近公司需要做一款海外股票的app,其中有需要购买会员权益的一个模块,这里需要国际类型的支付。支付宝及微信在国内比较活跃,国外的话可能不太理想,所以就用了paypal. 准备工作 1.首先在paypal平台创建账号&…

国内平台使用国外支付的可行性?

国内平台使用国外支付的情况? 产品做数据互通,H5与二维码海报作为入口。 个人中心,App下载做老用户入口转化。 用境外自动转化费率的支付,有朋友用过? 风控如何? 比如一些拼单项目,并不违规&…