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

【数据结构】基础知识

目录

数据

结构

逻辑结构

集合

线性结构

非线性结构

存储结构

顺序存储结构

链式存储结构

索引存储结构

哈希存储结构

数据运算

算法

算法特性

算法与程序的区别

时间复杂度

时间复杂度关系

空间复杂度


数据

数据元素:是数据的基本单位,一个数据元素由若干个数据项组成

数据项:是数据的最小单位,数据项是用来描述数据元素的

数据对象:是具有相同性质的数据元素的集合

数据结构:是带结构的数据元素的集合

数据结构 = 数据对象 + 结构 + 运算 (结构 = 逻辑结构 + 存储结构)

结构

逻辑结构

逻辑结构:分为集合、线性结构和非线性结构

集合

元素与元素之间没有没有任何关系

线性结构

若为非空集,除了开始结点只有一个后继,终端结点只有一个前驱以外,其他结点都只有一个前驱和一个后继

栈、队列、串、数组、广义表等都是线性结构

非线性结构

一个结点可能有多个前驱和后继

树、图都是非线性结构(树:一对多 ;图:多对多)

存储结构

存储结构:主要分为四种基本存储结构 -> 顺序存储结构、链式存储结构、索引存储结构、哈希存储结构

顺序存储结构

所有元素占用一整块内存空间,逻辑上相邻的元素,在内存上也相邻

链式存储结构

一个逻辑元素用一个结点存储,每个结点单独分配空间,逻辑上连续的结点,内存上不一定连续

索引存储结构

将含有关键字的数据元素中的“关键字和与之对应的地址”,存放在索引表中

索引表中的每一项称为索引项(关键字、地址),关键字:唯一标识一个数据元素;地址:数据元素在主数据表中的存储地址

哈希存储结构

根据元素的关键字,通过哈希函数计算出一个值,将这个值作为该元素的地址

哈希存储结构的查找速度快,只要给出查找元素的关键字,能立即计算处该元素存储地址

数据运算

数据运算:是对数据的操作,分为运算的描述和运算的实现

同一逻辑结构可以对应多种存储结构

同样的运算,在不同的存储结构中,实现过程是不同的

数据类型

数据类型:是已经实现的数据结构

抽象数据类型:取决于它的逻辑特性,而与计算机内部如何表示和实现无关(抽象数据类型=逻辑结构+抽象运算)

算法

算法:把基于存储结构的运算实现的过程称为算法

算法特性

算法的五个重要特性

有穷性:有穷步后结束,算法能够停止

确定性:算法的每一步有确切的定义,不产生二义性

可行性:算法的每个动作都能被机械的执行

输入:零个或多个输入

输出:一个或多个输出,至少有一个输出

算法与程序的区别

算法:对解决问题方法的描述,要做什么

程序:使用某种计算机语言,对一个算法的具体实现,具体要怎么做

时间复杂度

T(n):是问题规模n的函数,求出算法所有原操作的执行次数/频度

算法执行时间 = 原操作所需时间 * T(n);算法执行时间与T(n)成正比

时间复杂度关系

使用“大O”表示法来,表示时间复杂度

注意:

只求T(n)的最高阶,忽略低阶项和常数

无循环,与问题规模无关,记为常数阶O(1)

只有一重循环,线性阶O(n)

空间复杂度

空间复杂度:算法运行过程中,临时占用的存储空间的大小

http://www.dtcms.com/a/423505.html

相关文章:

  • Fluttercon EU 2025 :Let‘s go far with Flutter
  • go-commons/stringutils 与标准库 strings 对比
  • 长春网站推广方式seo综合查询国产
  • 探索3D空间的视觉基础模型系列
  • 自建营销型企业网站怎么建设公益网站
  • C# 基于halcon的视觉工作流-章40-OCR训练识别
  • OCR API-智能文字识别技术,从“手动录入”到“智慧识别”的跨越
  • 收到网站代码后怎么做设计素材模板
  • JWT (JSON Web Token) 综合指南
  • 【笔记】在WPF中Binding里的详细功能介绍
  • html 滚动条相关开发经验总结
  • C++基础:(六) 内存管理深度解析:从分布到实现
  • BUUCTF get_started_3dsctf_2016 wp
  • 成都网站制作设计网页设计实训报告心得体会
  • Linux 进程创建与控制详解
  • 万网x3主机l系统放两个网站手机制作ppt
  • XML语言解析
  • AJAX XML:深入解析与实际应用
  • 十大网站在线观看深圳互联网推广公司
  • 价值流智能时代:DevOps平台如何成为企业高效交付的核心引擎?
  • Vue Router 动态路由完全指南:灵活掌控前端路由
  • 电子商务网站域名注册方法wordpress 模板语言包
  • 网站空间和服务器有什么区别阜宁网站制作价格
  • 【每日一问】X电容和Y电容有什么区别?
  • AI 播客:从体验到原理,知识获取的新姿势
  • 异构计算实战:CPU/GPU/TPU在创意工作流中的调度策略
  • 打破“形似”桎梏,OmniHuman-1.5让数字人“由内而外”活起来。
  • 语言理解-阿里木江【基础课笔记】
  • 邮件系统建设篇:Coremail与Exchange并行方案介绍
  • 解码数据结构队列