【数据结构】数据结构,算法 概念

news2025/3/16 17:43:29

0.本篇问题: 

  1. 数据、数据元素、数据对象、数据项之间的基本关系?
  2. ADT是什么?
  3. 数据结构的三要素?
  4. 数据的逻辑结构有哪些?
  5. 数据的存储结构有哪些?
  6. 算法的五个特征?
  7. O(1)  O(logn)  O(n^n)  O(n)  O(n^2)    O(n^3)  O(2^n)  O(n!)  O(nlogn) 大小关系?

★ 错题&典型题

1. 可以用( )定义一个完整的数据结构

A.数据元素        B.数据对象        C.数据关系        D.抽象数据类型

2.以下属于逻辑结构的是( )

A.顺序表        B.哈希表        C.有序表        D.单链表

3.以下关于数据结构的说法中,正确的是( )

A.数据结构的逻辑结构独立于其存储结构

B.数据结构的存储结构独立于其逻辑结构

C.数据的逻辑结构唯一决定其存储结构

D.数据结构仅由其逻辑结构和存储结构决定

4.一个算法应该是( )

A.程序        B.问题求解步骤的描述        C.要满足五个基本特性        D. A和C

5.某算法的时间复杂度为O(n^2),则表示该算法的( )

A.问题规模是n^2                   B.执行时间等于n^2        

C.执行时间与n^2成正比        D.问题规模与n^2成正比

6.【2017】 求下面程序时间复杂度

int func(int n) {
	int i = 0, sum = 0;
	while (sum < n)	sum += ++i;
	return i;
}

7.【2019】求下面程序时间复杂度 

x = 0;
while (n >= (x + 1) * (x + 1))
	x = x + 1;

8.【2022】求下面程序时间复杂度

int sum = 0;
for (int i = 1; i < n; i *= 2)
	for (int j = 0; j < i; j++)
		sum++;

一、数据、数据元素、数据对象、数据项、数据结构、数据类型

1.1 概念(P1)

  • 数据结构是相互之间存在一种或多种特定关系的数据元素的集合;它包括三方面的内容:逻辑结构,存储结构,数据的运算。
  • 数据对象是具有相同性质的数据元素的集合,是数据的一个子集;
  • 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合;
  • 数据元素是数据的基本单位,通常作为一个整体进行考虑和处理;
  • 一个数据元素有若干数据项组成,数据项是构成数据元素的不可分割的最小单位。
  • 数据类型:原子类型、结构类型、抽象数据类型(ADT):描述了数据的逻辑结构和抽象运算,通常用(数据对象,数据关系,基本操作)这样的三元组来表示,eg.栈、队列,树...(ADT和数据密切相关,但不完全相同)

1.2  我的理解

  1. 数据项是最小的,数据是最大的;
  2. 数据项构成数据元素;
  3. 数据元素构成数据对象;
  4. 所有数据对象的总和是数据。

  5. 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。(数据元素+关系)
  6. 数据对象是具有相同性质的数据元素的集合,是数据的一个子集。(数据元素)
  • 世界上所有的信息、符号的总和是数据。
  • 这些数据有所有大学学生数据(数据对象),所有餐厅顾客数据(数据对象),XX大学学生数据(数据对象),所有动物的XX数据(数据对象)...
  • XX大学同学ABCD...数据(数据元素),...
  • 班级学生有自己的学号(数据项),姓名(数据项),年龄(数据项)...
  • 数据结构是带存储关系的同学ABCD...的数据(通过它你不仅知道这些数据,还知道它们之间的关系是怎样的,如何存储的)
  • 数据对象,数据元素,数据项根据研究内容的不同都是相对的,这项研究中的数据元素可能是下一项研究中的数据对象。

二、数据结构的三要素

2.1 数据结构三要素

逻辑结构,存储结构,运算        知存储就知逻辑,知逻辑不一定知存储!

        2.2.1 逻辑结构

                四类基本结构:线性结构、集合(同属一个集合无其他关系)、树形、图状结构(网状结构)。

        2.2.2 存储结构

                ①顺序存储

                ②链式存储

                ③索引存储(索引表中每项是索引项(关键字,地址)) 优点:检索快,缺点:索引表额外占据存储空间;增删要修改索引表,时间花费多。

                ④散列存储(哈希存储)

        2.2.3 运算

                施加在数据上的运算,包括运算的定义和实现。运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。

三、算法 

3.1 算法的概念和特征

        算法是对特定问题求解步骤的一种描述,他是指令的有限数列,其中的每条指令表示一个或多个操作。

        特征:①有穷性 ②确定性 ③可行性 ④输入>=0 ⑤输出>=1

3.2 时间复杂度&空间复杂度 

        是问题规模n的函数。

Q:算法问题规模永远是A:不是。在算法中,问题规模不一定是n。

n通常用来表示输入规模,比如在一个排序算法中,n可能代表要排序的元素个数。但问题规模也可以用其他方式来衡量。 
例如,在图算法中,除了用顶点数量n来表示问题规模,还可能会涉及边的数量m。对于一些复杂的算法,如计算两个图的同构问题,问题规模可能是由多个因素共同决定的,包括顶点数、边数、顶点和边的属性等复杂因素。
在矩阵运算相关的算法中,矩阵的行数和列数都可能影响问题规模,而不是简单地用一个n来表示。

        常见的渐进时间复杂度比较:

        O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)

答案:1.D        2.C        3.A        4.B        5.C        6.O(n^(1/2))        7.O(n^(1/2))        8.O(n)

-THE END-

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2316172.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

总结 HTTP 协议的基本格式, 相关知识以及抓包工具fiddler的使用

目录 1 HTTP是什么 2 HTTP协议格式 3 HTTP请求(Request) 3.1 认识URL 3.2 方法 3.3 认识请求"报头"(header) 4 HTTP响应详解 4.1 认识"状态码"(statuscode) 4.2 认识响应"报头"(header) 4.3 认识响应"正⽂"(body) 5 通过f…

探索Maas平台与阿里 QWQ 技术:AI调参的魔法世界

摘要&#xff1a;本文介绍了蓝耘 Maas 平台在人工智能领域的表现及其核心优势&#xff0c;包括强大的模型支持、高效的资源调度和友好的操作界面。文章还探讨了蓝耘 Maas 平台与阿里 QWQ 技术的融合亮点及应用拓展实例&#xff0c;并提供了调参实战指南&#xff0c;最后对蓝耘 …

Linux第三次练习

1、创建根目录结构中的所有的普通文件 首先在根目录下面新创建一个test目录&#xff0c;然后将查找到的普通文件新建到test目录下 2、列出所有账号的账号名 3、将/etc/passwd中内容按照冒号隔开的第三个字符从大到小排序后输出所有内容 4、列出/etc/passwd中的第20行-25行内容…

软件测试知识总结

1、黑盒测试、白盒测试、灰盒测试 1.1 黑盒测试 黑盒测试又叫功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。 采用这种测试方法&#xff0c;测试工程师把测试对象看作一个黑盒子&#xff0c;完全不考虑程序内部的逻辑结构和…

【HTML】三、表单与布局标签

文章目录 1、input1.1 input的占位文案1.2 单选框1.3 上传文件1.4 多选框 2、 下拉菜单3、文本域&#xff1a;多行输入4、label标签&#xff1a;说明与增大点击范围5、按钮与form表单6、无语义布局标签7、有语义的布局标签8、字符实体9、练习&#xff1a;注册页面 1、input in…

【结构设计】3D打印创想三维Ender 3 v2

【结构设计】3D打印创想三维Ender 3 v2 文章目录 前言一、Creality Slicer1.2.3打印参数设置二、配件更换1.捆扎绑扎线2.气动接头3D打印机配件插头3.3D打印机配件Ender3pro/V2喷头套件4.读卡器 TF卡5.micro sd卡 三、调平四、参考文章总结 前言 使用工具&#xff1a; 1.创想三…

UE小:UE5.5 PixelStreamingInfrastructure 使用时注意事项

1、鼠标默认显示 player.ts中的Config中添加HoveringMouse:true 然后运行typescript\package.json中的"build":npx webpack --config webpack.prod.js

Anaconda 入门指南

Anaconda 入门指南 一、下载安装 Anaconda 1、下载地址&#xff1a;Anaconda 推荐下载 python3 版本, 毕竟未来 python2 是要停止维护的。 2、安装 Anaconda 按照安装程序提示一步步安装就好了, 安装完成之后会多几个应用&#xff1a; Anaconda Navigtor &#xff1a;用于管…

web组态可视化编辑器

Web组态可视化编辑器是一种用于创建和配置工业自动化、物联网&#xff08;IoT&#xff09;和智能建筑等领域的图形化用户界面&#xff08;GUI&#xff09;的工具。它允许用户通过拖放组件、配置参数和连接数据源来设计和部署实时监控和控制界面。以下是一些常见的Web组态可视化…

CTA重建:脑血管重建,CT三维重建,三维建模 技术,实现

CTA&#xff08;CT血管造影&#xff09;是一种基于CT扫描的医学成像技术&#xff0c;主要用于血管系统的三维重建和可视化。脑血管重建是CTA的重要应用之一&#xff0c;能够帮助医生诊断脑血管疾病&#xff08;如动脉瘤、狭窄、畸形等&#xff09;。以下是实现CTA脑血管重建、C…

Ollama+OpenWebUI本地部署大模型

OllamaOpenWebUI本地部署大模型 前言Ollama使用Ollama安装Ollama修改配置Ollama 拉取远程大模型Ollama 构建本地大模型Ollama 运行本地模型&#xff1a;命令行交互Api调用Web 端调用 总结 前言 Ollama是一个开源项目&#xff0c;用于在本地计算机上运行大型语言模型&#xff0…

如何打包数据库mysql数据,并上传到虚拟机上进行部署?

1.连接数据库&#xff0c;使得我们能看到数据库信息&#xff0c;才能进行打包上传 2. 3. 导出结果如下&#xff0c;是xml文件 4.可以查询每个xml文件的属性&#xff0c;确保有大小&#xff0c;这样才是真实导出 5跟着黑马&#xff0c;新建文件夹&#xff0c;并且把对应的东西放…

Vue 自定义指令深度解析与应用实践

文章目录 1. 自定义指令概述1.1 核心概念1.2 指令生命周期 2. 自定义指令基础2.1 指令注册2.2 指令使用 3. 指令钩子函数详解3.1 钩子函数参数3.2 钩子函数示例 4. 自定义指令应用场景4.1 表单自动聚焦4.2 权限控制4.3 图片懒加载 5. 高级应用技巧5.1 动态指令参数5.2 指令修饰…

Android 手机启动过程

梳理 为了梳理思路&#xff0c;笔者画了一幅关于 Android 手机启动的过程图片内容纯属个人见解&#xff0c;如有错误&#xff0c;欢迎各位指正

Unity 开发资源汇总 | 插件 | 模型 | 源码(不断更新中,建议收藏)

&#x1f493; 欢迎访问 Unity 打怪升级大本营 Unity是一个强大的游戏开发平台&#xff0c;它提供了丰富的工具和资源&#xff0c;让开发者能够创造出令人惊叹的游戏和交互式体验。无论你是初学者还是经验丰富的开发者&#xff0c;Unity的生态系统中总有一些资源可以帮助你提升…

JVM崩溃时产生的文件 hs_err.pid.log

hs_err.pid.log hs_err.pid.log&#xff1a;当jvm崩溃时&#xff0c;会生成一个hs_err_pid.log文件&#xff0c;并且把它存放到程序目录下&#xff0c;可以通过该文件来定位导致jvm崩溃的原因。 jvm崩溃&#xff0c;是由jvm自身的bug或者本地方法执行错误引起的&#xff0c;本…

聊聊 Redis 的一些有趣的特性(上)

聊聊 Redis 的一些有趣的特性&#xff08;上&#xff09; 一、持久化 Redis 是内存数据库&#xff0c;数据全部保存在内存中。如果服务器发生宕机&#xff0c;内存中的数据将会全部丢失。为防止系统崩溃后数据丢失&#xff0c;Redis 提供了持久化功能&#xff0c;可将内存中的…

使用OpenCV和MediaPipe库——抽烟检测(姿态监控)

目录 抽烟检测的运用 1. 安全监控 (1) 公共场所禁烟监管 (2) 工业安全 2. 智能城市与执法 (1) 城市违章吸烟检测 (2) 无人值守管理 3. 健康管理与医疗 (1) 吸烟习惯分析 (2) 远程监护 4. AI 监控与商业分析 (1) 保险行业 (2) 商场营销 5. 技术实现 (1) 计算机视…

怎么有效降低知网AIGC率

在学术创作日益规范且数字化检测技术不断发展的当下&#xff0c;知网 AIGC 检测成为了众多创作者关注的焦点。许多人苦恼于如何有效降低知网 AIGC 率&#xff0c;让自己的作品在通过检测的同时&#xff0c;彰显出真实的创作水平与独特性。接下来&#xff0c;我们就深入探讨降低…

C语言每日一练——day_8

引言 针对初学者&#xff0c;每日练习几个题&#xff0c;快速上手C语言。第八天。&#xff08;连续更新中&#xff09; 采用在线OJ的形式 什么是在线OJ&#xff1f; 在线判题系统&#xff08;英语&#xff1a;Online Judge&#xff0c;缩写OJ&#xff09;是一种在编程竞赛中用…