【数据结构与算法】数据结构的基本概念,时间复杂度

news2025/7/11 18:37:26

🍉内容专栏:【数据结构与算法】

🍉本文脉络:数据结构和算法的基本概念时间复杂度

🍉本文作者:Melon西西

🍉发布时间 :2023.2.21

目录

一、引入:

二、数据结构和算法的基本概念

1.数据:

2.数据元素和数据项

3.数据结构

4.四类基本结构:

(1)集合结构:数据元素间属于同一个集合,如果不考虑元素间的关系,则称为集合结构。

(2)线性机构:一个对应一个的关系。

(3)树状结构:一个对应着多个的关系。

(4)图状结构:多个对应多个的关系。

 5.存储结构

6.数据类型:

7.抽象数据类型(ADT):包括数据,关系,算法

8.算法:解决问题的操作步骤

9.算法的性质:正确性,具体性(可行性),确定性,有限性(有穷性),可读性,健壮性。

三、算法分析:时间复杂度和空间复杂度

1.时间复杂度T(n)=O(f(n)):

2.空间复杂度S(n)=O(f(n)):


一、引入:

对于数值计算问题的解决方法,主要用数学方程建立数学模型;而对于非数值计算问题,可以用数据结构的方法建立模型。

数据结构:研究如何高校的对数据进行操作(有大量数据的情况下)

三种结构:

1.线性表结构(一个数据紧接着另一个数据):

 其中一横行的内容叫数据元素,里面的每一小个内容叫数据项。

2.树性结构

3.图状结构

二、数据结构和算法的基本概念

1.数据:

数据是一切能输入计算机并被处理的符号总称,分为数值型数据和非数值型数据(如文字,图形,语音等)

2.数据元素和数据项

数据元素一般在计算机中作为整体进行处理,是数据的节能单位。

数据元素也称为记录,由若干个数据项组成,数据项是不能分割的最小单位

3.数据结构

不同数据元素之间不是独立的,他们彼此之间存在特定的关系,这些关系称为结构(数据结构关系特指相邻关系)。

数据结构是相互存在着一定关系的数据元素的集合。

4.四类基本结构:

(1)集合结构:数据元素间属于同一个集合,如果不考虑元素间的关系,则称为集合结构。

(2)线性机构:一个对应一个的关系。

(3)树状结构:一个对应着多个的关系。

(4)图状结构:多个对应多个的关系。

图状结构的数据结构可以定义为如下的二元组:

DataStructure=(D,S)     D是它的数据,S是逻辑结构

 

 5.存储结构

存储结构分为顺序存储和链式存储

逻辑上相邻即位置上也相邻为顺序存储,反之为链式存储。

6.数据类型:

是指一组性质相同的值的集合以及定义在此几何上的一些操作的总称

7.抽象数据类型(ADT):包括数据,关系,算法

8.算法:解决问题的操作步骤

9.算法的性质:正确性,具体性(可行性),确定性,有限性(有穷性),可读性,健壮性。

三、算法分析:时间复杂度和空间复杂度

1.时间复杂度T(n)=O(f(n)):

算法执行时间=执行次数x执行一次的时间=基本语句的执行次数

基本语句:循环最内层的那条语句

执行次数看n,可忽略所有低次幂项和最高次幂系数

2.空间复杂度S(n)=O(f(n)):


写在最后:

博主大一学识尚浅,内容仅供参考,欢迎大家在评论区交流分享。

以后会经常发关于C/C++和数据结构与算法的学习心得,感兴趣的小伙伴可以点个关注支持一下^_^

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

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

相关文章

一键恢复和重装系统的区别是什么

如果电脑出现系统故障问题的时候,我们的电脑系统还原和系统重装都是很好的解决方法之一,不过是二者之间是有区别的。那么我们的电脑系统还原和系统重装有什么区别呢?现在就跟大家聊聊电脑一键恢复和重装系统的区别有哪些。 工具/原料: 系统…

P6软件应用的核心收益

卷首语 提供了多用户、多项目的功能模块,支持多层次项目等级划分,资源分配计划,记录实际数据,自定义视图,并具有用户定义字段的扩展功能。 利用最佳实践,建立企业模板库 P6软件支持用户使用模板编制项目…

Arduino-交通灯

LED交通灯实验实验器件:■ 红色LED灯:1 个■ 黄色LED灯:1 个■ 绿色LED灯:1 个■ 220欧电阻:3 个■ 面包板:1 个■ 多彩杜邦线:若干实验连线1.将3个发光二极管插入面包板,2.用杜邦线…

Sqoop介绍_以及安装_测试---大数据之Apache Sqoop工作笔记001

这个sqoop主要是用来,把数据从mysql中导入到hdoop中,去看看介绍吧. sql to hadoop 然后我们来看看sqoop,可以看到这里稳定版本是1.4.7 然后1.4.7 跟centos6.8 不是太好配置 这里用了1.4.6 但是如果用1.4.7 和centos7 还行 可以看看官网,这里sqoop1 跟sqoop2 这里标注了s…

【论文笔记】Manhattan-SDF == ZJU == CVPR‘2022 Oral

Neural 3D Scene Reconstruction with the Manhattan-world Assumption 本文工作:基于曼哈顿世界假设,重建室内场景三维模型。 1.1 曼哈顿世界假设 参考阅读文献:Structure-SLAM: Low-Drift Monocular SLAM in Indoor EnvironmentsIEEE IR…

【原创】java+swing+mysql宿舍管理系统设计与实现

今天我们主要来介绍如何使用swing图形化gui工具和mysql数据库去开发一个学生宿舍管理系统,这样一个比较经典的项目,学生宿舍管理系统,相信都很多人都不同程度的写过,从实现上来说不难。 功能分析: 学生宿舍管理系统&…

mysql中利用sql语句修改字段名称,字段长度等操作(亲测)

在网站重构中,通常会进行数据结构的修改,所以添加,删除,增加mysql表的字段是难免的,有时为了方便,还会增加修改表或字段的注释,把同字段属性调整到一块儿。这些操作可以在phpmyadmin或者别的mys…

Lazada选品推荐,这些爆品成了东南亚开年大赢家

小编今日整理了最新快消行业情报,带您解读东南亚市场玩具、母婴、美妆、食品、宠物类目的最新热销品类和发展方向,宠物。赶在大促前为商家朋友们助力一波!STEM玩具、精细化拟人化宠物食品、便携香水……一大波商机正在赶来!准备好…

编译链接实战(9)elf符号表

文章目录符号的概念符号表探索前面介绍了elf文件的两种视图,以及两种视图的各自几个组成部分:elf文件有两种视图,链接视图和执行视图。在链接视图里,elf文件被划分成了elf 头、节头表、若干的节(section)&a…

C++项目——高并发内存池(2)——thread_cache的基础功能实现

1.并发内存池concurrent memory pool 组成部分 thread cache、central cache、page cache thread cache:线程缓存是每个线程独有的,用于小于64k的内存的分配,线程从这里申请内存不需要加锁,每个线程独享一个cache,这…

算法学习与填充计划---2023.2.21---夏目

🚀write in front🚀 📝个人主页:认真写博客的夏目浅石.CSDN 🎁欢迎各位→点赞👍 收藏⭐️ 留言📝​ 📣系列专栏:ACM周训练题目合集.CSDN 💬总结&#xff1a…

继 承

1.继承继承是面向对象三大特性之一有些类与类之间存在特殊的关系继承的好处: 减少重复代码语法: class 子类: 继承方式 父类子类也称为派生类 父类也称为基类class Python : public BasePage {public :void Content() {}};2.继承方式继承方式一共有三种:公共继承保护继承私有继…

Homekit智能家居一智能吸顶灯

买灯要看什么因素 好灯具的灯光可以说是家居的“魔术师”,除了实用的照明功能外,对细节的把控也非常到位。那么该如何选到一款各方面合适的灯呢? 照度 可以简单理解为清晰度,复杂点套公式来说照度光通量(亮度&#x…

ChatGPT为什么不受开发者喜欢?

记得 ChatGPT 最开始上线不久的时候,看到的大部分尝鲜和测试结果都是开发者在做进行敲代码测试,可以说职业危机感非常强的一群人了。 再者,加上 ChatGPT 要使用起来其实是有一些技术门槛的,愿意折腾的人也多是程序员,…

操作系统和进程的资源消耗

free -h 获取操作系统当前内存Mem 行(第二行)是内存的使用情况。Swap 行(第三行)是交换空间的使用情况。total 列显示系统总的可用物理内存和交换空间大小。used 列显示已经被使用的物理内存和交换空间。free 列显示还有多少物理内存和交换空间可用使用。shared 列显示被共享使…

基于龙芯 2K1000 的嵌入式 Linux 系统移植和驱动程序设计(一)

2.1 需求分析 本课题以龙芯 2K1000 处理器为嵌入式系统的处理器,需要实现一个完成的嵌入式软件系统,系统能够正常启动并可以稳定运行嵌入式 Linux。设计网络设备驱 动,可以实现板卡与其他网络设备之间的网络连接和文件传输。设计 PCIE 设备驱…

自定义Ext JS组件类

在Ext JS 中如何自定义一个组件类呢? 实现方式是继承Ext.Component ,定义一个自己的组件类。 那么,这个组件类该怎样扩展自己的功能呢? 举例来说, 有这样一个需求: 扩展一个Grid的子类,通过pageType的属性值来显示不同的列。 如果是查看页面,则所有列都是不可编辑的如…

尚医通 (二十)预约挂号功能

目录一、预约挂号详情1、需求2、预约挂号详情接口3、预约挂号详情前端二、预约确认1、需求2、预约确认接口3、预约确认前端一、预约挂号详情 1、需求 接口分析 (1)根据预约周期,展示可预约日期数据,按分页展示 (2&…

【微信小程序】使用云存储存入指定文件夹

前言在我们开发微信小程序的时候常会用到云开发的功能,它相比传统的SQL上手难度低,比较适合没有什么后端基础的开发者使用。在具体的项目需求中我们会让用户上传一些图片或者表格,随着用户量增大,文件类型增多,云存储分…

张驰咨询2023年企业如何活下去、甚至有效增长?

2023年企业活下去和有效增长的关键在于适应和应对不断变化的市场和环境。以下是几点建议: 数字化转型:随着数字化的普及,企业需要加快数字化转型,提高数字化技术的应用水平。这样可以提高企业的生产效率、管理效率和创新能力。 …