当前位置: 首页 > news >正文

数据结构(1)

数据结构其实就是将数据按照一定的关系组织起来的集合,用于组织和存储数据。

1.数据结构分类

1.逻辑结构

        逻辑结构是从具体问题中抽象出来的模型,是抽象意义的结构,按照对象中数据的相互关系进行分类。

        1>集合结构:集合结构中的元素除了属于同一个集合外,他们之间没有任何联系。

        2>线性结构:线性结构中的元素之间存在一对一的关系。

        3>树形结构:树形结构中的元素存在一对多的层级关系。

        4>图形结构:图形结构中的元素是多对多的关系。

2.物理结构

        逻辑结构在计算机中真正的表达方式,也称为存储结构。

        1>顺序存储结构:将数据放到地址连续的存储单元里面,数据间的逻辑关系和物理关系是一致的。

        2>链式存储结构:将数据存放在任意的存储单元中,存储单元可以连续也可以不连续,数据之间的逻辑关系不能反映物理关系,因此引入了一个指针存放数据的地址,通过指针找到相关数据间的位置。

2.算法

为了解决问题,对数据进行计算,得到需要的结果。

1.函数渐进增长

1.算法函数中的常数可以忽略

2.算法函数的最高次幂的常数因子可以忽略

3.算法函数最高次幂越小,算法效率越高

2.大O计数 时间复杂度


常数级别: 1 普通语句 将两个数相加
对数级别: logN 二分策略 二分查找
线性级别: N 循环 找出最大元素
线型对数级别: NlogN 分治思想 归并排序
平方级别: N^2 双层循环 检查所有元素对
立方级别: N^3 三层循环 检查所有三元组
指数级别: 2^N 穷举查找 检查所有子集

复杂层度:O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)<O(n^3)

3.空间复杂度

数据类型 内存占用字节数
byte 1
short 2
int 4
long 8
float 4
double 8
boolean 1
char 2

http://www.lryc.cn/news/136285.html

相关文章:

  • 10个非常有用的Python库,你知道几个?
  • linux安装 MySQL8 并配置开机自启动
  • MySQL视图
  • Pytorch-day05-可视化-checkpoint
  • 实训笔记8.23
  • 2023年菏泽市中职学校技能大赛“网络安全”赛项规程
  • Android 13 - Media框架(6)- NuPlayer
  • 机器学习|DBSCAN 算法的数学原理及代码解析
  • 用NUXT.JS,轻松搞定SEO!
  • 什么是电商RPA?电商RPA能解决什么问题?电商RPA实施难点在哪里?
  • 【BUG】Docker启动MySQL报错
  • Spring Boot通过企业邮箱发件被Gmail退回的解决方法
  • Windows使用MobaXterm远程访问ubuntu20.04桌面
  • C++注释风格
  • Linux 编译内核模块出现--Unknown symbol mcount
  • Pywin32 Cookbook by Eric
  • indexDB入门到精通
  • Ubuntu 20.04配置静态ip
  • Tushare入门小册
  • <c++开发>通信工具 -之-SOME/IP移植部署 第一篇文章
  • 权威的软件测试服务供应商分享,怎么获得软件安全检测报告?
  • 管理类联考——逻辑——真题篇——按知识分类——汇总篇——二、论证逻辑——假设——第二节——搭桥假设
  • 百度云BOS云存储的图片如何在访问时,同时进行格式转换、缩放等处理
  • go生成文件md5、sha1摘要简单示例
  • Docker容器:docker数据管理、镜像的创建及dockerfile案例
  • Ajax fetch Axios 的区别
  • 数据库结构差异对比工具
  • Shell编程学习之breakcontinuereturn的应用
  • 有趣的数学 数学建模入门二 一些理论基础
  • Spring复习:(55)ApplicationContext中BeanFactoryPostProcessor是怎么添加到容器的?