【数据结构与算法】一、数据结构的基本概念

news/2024/5/19 8:46:40/文章来源:https://blog.csdn.net/qq_35694099/article/details/130039852

文章目录

  • 一、数据结构的基本概念
    • 1.1 数据结构的研究内容
    • 1.2 数据类型和抽象数据类型
    • 1.3 算法和算法分析
      • 1.3.1 算法的时间复杂度
      • 1.3.2 算法时间效率的比较
    • 1.4 知识回顾

一、数据结构的基本概念

1.1 数据结构的研究内容

在这里插入图片描述

1.2 数据类型和抽象数据类型

抽象数据类型(ADT)定义举例:Circle的定义

ADT 抽象数据类型名{Data数据对象的定义数据元素之间逻辑关系的定义Operation操作1初始条件操作结果描述操作2......操作n......
}ADT 抽象数据类型名ADT Circle{数据对象:D={r,x,y|r,x,y均为实数}数据关系:R={<r,x,y>|r是半径,<x,y>是圆心坐标}基本操作:Circle(&C,r,x,y)操作结果:构造一个圆。double Area(C)初始条件:圆已存在。操作结果:计算面积。double Circumference(C)初始条件:圆已存在操作结果:计算周长......
}ADT Circle

如何处理杂乱无章且多样化的数据:
在这里插入图片描述

数据元素:数据中的个体被称为数据元素。
数据对象:性质相同的数据元素组成的集合。
数据结构:数据元素加上数据元素之间的关系,就形成了数据结构。
逻辑结构:数据结构的逻辑模型。主要有集合结构,线性结构,树形结构,图状结构。
存储结构:数据结构映射到内存的表示方式。主要有顺序结构,链式结构,索引结构和散列结构
抽象数据类型:数据结构加上操作后就形成了抽象数据类型,主要包括数据对象,数据关系,基本操作。
上述概念总结如下图所示:

在这里插入图片描述

1.3 算法和算法分析

1.3.1 算法的时间复杂度

对于复杂的算法,可以将它分成几个容易估算的部分,然后利用大O加法法则和乘法法则,计算算法的时间复杂度:

  • a)加法规则
    T(n)=T1(n)+T2(n)=O(f(n))+O(g(n))=O(max(f(n),g(n)))
  • b)乘法规则
    T(n)=T1(n)*T2(n)=O(f(n))*O(g(n))=O(f(n)*g(n))

1.3.2 算法时间效率的比较

在这里插入图片描述

设计好算法的过程

  • 1、在对具体问题进行分析时,我们提取出需要处理的数据对象和数据对象之间的关系,便得到了数据的逻辑结构。
  • 2、根据数据的逻辑结构我们选择合适的存储结构。
  • 3、数据存储完后根据算法的时间和空间复杂度选择合适的算法对数据进行处理。
    在这里插入图片描述

1.4 知识回顾

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[入门必看]数据结构4.1:串的定义和实现

[入门必看]数据结构4.1&#xff1a;串的定义和实现第四章 串4.1 串的定义和实现知识总览4.1.1_串的定义和基本操作4.1.2_串的存储结构4.1.1_串的定义和基本操作串的定义串 V.S 线性表串的基本操作串的比较操作字符集编码4.1.2_串的存储结构串的顺序存储串的链式存储基本操作的实…

4月9日第壹简报,星期日,农历闰二月十九

4月9日第壹简报&#xff0c;星期日&#xff0c;农历闰二月十九坚持阅读&#xff0c;静待花开1. “2023中国品牌女性500强”榜单揭晓&#xff0c;屠呦呦、张桂梅、董明珠、刘洋、孟晚舟、谷爱凌等入选。2. 京东集团副总裁&#xff1a;将在今年发布“京东版”ChatGPT。3. 以冒名顶…

大数据Flink进阶(十八):Flink执行图和TaskSlot问题思考

文章目录 Flink执行图和TaskSlot问题思考 一、Flink执行图 二、TaskSlot问题思考 Flink执行图和TaskSlot问题思考 一、Flink执行图 Flink代码提交到集群执行时最终会被转换成task分布式的在各个节点上运行,在前面我们学习到DataFlow数据流图

智能座舱操作系统|Flyme Auto-魅族 Flyme Auto“上车”领克08,能帮助吉利汽车打赢智能座舱战吗

“没有手机软件赋能的汽车厂商都将逐渐掉队。” 3月30日晚,星际魅族集团董事长兼首席执行官沈子瑜在魅族领克无界生态发布会上直言,魅族Flyme Auto车机操作系统要让手机成为汽车的一部分,成为定义传统汽车五个域之外的第六域——手机域。 魅族Flyme Auto已经预热多时且备受…

什么是服务架构?微服务架构的优势又是什么?

文章目录1.1 单体架构1.2 微服务架构1.3 单体架构和微服务架构的区分1.4 两种服务架构的优劣点1.4.1 单体架构1.4.2 微服务架构1.5 总结1.1 单体架构 单体架构&#xff08;Monolithic Architecture&#xff09;是一种传统的应用程序架构模式&#xff0c;它指的是将一个应用程序…

Android 11.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(二)

1.前言 在11.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的下拉通知栏的背景默认是白色四角的背景, 由于在产品设计中,在对下拉通知栏通知的背景需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景, 然后通过systemui的通知…

相机的内参和外参介绍

注&#xff1a;以下相机内参与外参介绍除来自网络整理外全部来自于《视觉SLAM十四讲从理论到实践 第2版》中的第5讲&#xff1a;相机与图像&#xff0c;为了方便查看&#xff0c;我将每节合并到了一幅图像中 相机与摄像机区别&#xff1a;相机着重于拍摄静态图像&#x…

2019年 团体程序设计天梯赛——题解集

前言&#xff1a; Hello各位童学大家好&#xff01;&#x1f60a;&#x1f60a;&#xff0c;茫茫题海你我相遇即是缘分呐&#xff0c;或许日复一日的刷题已经让你感到疲惫甚至厌倦了&#xff0c;但是我们真的真的已经达到了我们自身极限了吗&#xff1f;少一点自我感动&#xf…

Linux常用指令【文件目录操作】

linux 文件目录操作指令pwd 指令ls 指令cd 指令mkdir 指令rmdir 指令touch 指令cp 指令rm 指令mv 指令cat 指令more 指令less 指令> 和 >> 指令echo 指令head 指令tail 指令ln 指令history 指令pwd 指令 基本语法 pwd (显示当前工作目录的绝对路径) ls 指令 基本语法…

大数据项目实战之数据仓库:电商数据仓库系统——第2章 数据仓库建模概述

第2章 数据仓库建模概述 2.1 数据仓库建模的意义 如果把数据看作图书馆里的书&#xff0c;我们希望看到它们在书架上分门别类地放置&#xff1b;如果把数据看作城市的建筑&#xff0c;我们希望城市规划布局合理&#xff1b;如果把数据看作电脑文件和文件夹&#xff0c;我们希…

【低压】DC-DC 降压恒流 车灯12-100V 2.5A 高干扰 全亮 半亮方案

产品描述 特点 应用领域 应用原理图 AP5127 是一款 PWM 工作模式,高效率、外 围简单、内置功率管&#xff0c;适用于 12-100V 输入的高 精度降压 LED 恒流驱动芯片。输出最大功率可达 25W&#xff0c;最大电流 2.5A。 AP5127 可实现全亮/半亮功能切换&#xff0c;通过 MODE 切…

cgroups是linux内核中限制、记录、隔离进程组(process groups)所使用的物理资源的机制

容器虚拟化 可以实现应用程序的隔离 直接使用物理机的操作系统可以快速响应用户请求 不占用部署时间 占用少量磁盘空间 缺点∶学习成本增加、操作控制麻烦、网络控制与主机虚拟化有所区别、服务治理难。 微服务架构师需要会多门编程语言&#xff0c;才能治理各种服务 三种…

Java初始泛型

目录 一、包装类 1、基本数据类型和对应的包装类 2、装箱和拆箱 3、自动装箱和自动拆箱 二、什么是泛型 三、引出泛型 1、泛型的语法 四、泛型类的使用 1、语法 2、示例 3、类型推导(Type Inference) 六、泛型如何编译的 1、擦除机制 2、为什么不能实例化泛型类…

C指针的简介与应用

C指针 感谢b站up主江科大自化协的讲解&#xff1a;https://www.bilibili.com/video/BV1Mb4y1X7dz/?spm_id_from333.999.0.0 该学习笔记也是基于up课程做的笔记&#xff0c;我的个人能力及理解的局限&#xff0c;不足之处还望大佬指正~ 9.1 指针简介 指针(Pointer)是C语言的…

【NX2023/1847】UG软件安装详细指南教程

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录安装包一、安装包内容检查二、安装步骤1.安装JAVA_WIN64.exe2.运行Launch.exe3.安装许可3.直接重启电脑&#xff08;小白直接重启稳妥&#xff09;4.重启后继续运行L…

【案例实践】R语言多元数据统计分析在生态环境中的实践应用

查看原文>>>R语言生物群落分析绘图、多元统计分析、CMIP6、遥感碳储量、GEE林业、InVEST等 生态环境领域研究中常常面对众多的不同类型的数据或变量&#xff0c;当要同时分析多个因变量&#xff08;y&#xff09;时需要用到多元统计分析&#xff08;multivariate sta…

《计算机网络-自顶向下》05. 网络层-控制平面

文章目录路由控制方式每路由控制逻辑集中式控制路由选择算法LS —— 链路状态路由选择算法DV —— 距离向量路由选择算法LS 和 DV 算法的比较自治系统内部路由协议RIPOSPF自治系统外部路由协议&#xff1a;BGP通告 BGP 路由信息选择最好的路由相关术语热土豆选择路由选择算法&a…

使用向量机(SVM)算法的推荐系统

系统整体结构 运行环境 包括Python环境、TensorFlow环境、安装模块、MySQL数据库。 Python环境 需要Python 3.6及以上配置&#xff0c;在Windows环境下推荐下载Anaconda完成Python所需的配置&#xff0c;下载地址为https://www.anaconda.com/&#xff0c;也可下载虚拟机在Li…

【ES】搜索结果处理RestClient查询文档

【ES】搜索结果处理&RestClient查询文档2.搜索结果处理2.1.排序2.1.1.普通字段排序2.1.2.地理坐标排序2.2.分页2.2.1.基本的分页2.2.2.深度分页问题2.2.3.小结2.3.高亮2.3.1.高亮原理2.3.2.实现高亮2.4.总结3.RestClient查询文档3.1.快速入门3.1.1.发起查询请求3.1.2.解析响…

Java面试题总结 | Java基础部分(持续更新)

Java基础 文章目录Java基础一个Java文件里可以有多个类吗&#xff08;不含内部类&#xff09;&#xff1f;创建对象的方法面向对象和面向过程简述自动装箱拆箱Java代码块执行顺序java中的基本数据类型对应的字节数包装类型和基本数据类型的场景java中的关键字分类final关键字st…