数据结构---绪论

一、绪论:

1.什么是数据? 数据是信息的载体,是描述客观事物属性的数,字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。

数据元素--描述一个个体

数据元素,数据项:数据元素是数据的基本单位,通常作为一个整体进行考虑和处理。一个数据元素可由若干个数据项组成,数据项是构成数据元素的不可分割的最小单位。

数据对象是具有相同性质的数据元素的集合,是数据的一个子集。

数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

同一个数据对象里的数据元素,可以组成不同的数据结构。不同的数据元素,可组成相同的数据结构。

2.数据结构三要素

逻辑结构---集合,线性结构,树形结构,网状结构(图结构)

数据运算:结合逻辑结构,实际需求来定义基本运算

物理结构存储结构)---如何用计算机表示数据元素的逻辑关系

顺序存储,链式存储,索引存储,散列存储

运算的定义是针对逻辑结构的,指出运算的功能;运算的实现是针对存储结构的,指出运算的具体操作步骤。

3.数据类型,抽象数据类型

数据类型是一个值的集合和定义在此集合上的一组操作的总称

1)原子类型。其值不可再分的数据类型

2)结构类型。其值可以再分解为若干成分(分量)的数据类型

抽象数据类型(ADT)是抽象数据组织及与之相关的操作

二、算法的基本概念

1.什么是算法?算法是对特定问题求解步骤的一种描述,它是指令的有限序列,其中等待每条指令表示一个或多个操作

2.算法的特性

有穷性,确定性,可行性,输入,输出

3.好算法的特质

正确性,可读性,健壮性高效率与低存储需求

4.算法效率的度量

1)算法时间复杂度:事前预估算法时间开销T(n)与问题规模n的关系(T表示“time”)

表达式可以只考虑阶数高的部分

 

 口诀:常对幂指阶

顺序执行的代码只会影响常数项,可以忽略;只需挑循环中的一个基本操作分析它的执行次数与n的关系即可;如果有多层嵌套循环,只需关注最深层循环循环了几次

 

 最坏时间复杂度:最坏情况下算法的时间复杂度

平均时间复杂度:所有输入示例等概率出现的情况下,算法的期望运行时间

最好时间复杂度:最好情况下算法的时间复杂度

(算法的性能问题只有在n很大时才会暴露出来)

2)空间复杂度

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

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

相关文章

从用友U9到钉钉通过接口配置打通数据

从用友U9到钉钉通过接口配置打通数据 接通系统:用友U9 用友U9cloud深耕制造领域十三载,U9cloud在机械、电子、汽配、家具、整车、军工等细分行业有着深厚的积累,尤其是机械、电子和汽配行业,不但打造了多个成熟的产品模式和应用场…

双系统安装05--在已有中科方德系统基础上安装Windows10

原文链接:双系统安装05–在已有中科方德系统基础上安装Windows10 Hello,大家好啊!继我们之前关于双系统安装的讨论,今天我为大家带来双系统安装系列的第五篇文章——在已有的中科方德桌面操作系统上安装Windows 10。中科方德作为一…

事务隔离:为什么你改了我还看不见?

事务隔离:为什么你改了我还看不见? 提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。 转账…

JMeter 使用

初衷 网上有很多JMeter的教程都很优秀,但是我想按照我对JMeter的理解出一篇教程,以便于我以后作为开发人员可以自己对自己写的代码进行性能测试。 1、首先JMeter它的主要作用是性能测试 (1)负载测试:同时发生的用户…

Linux设备树解析:桥接硬件与操作系统的关键架构

在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,“设备树”(Device Tree)是一个不可或缺的部分&…

Java常用API_System——常用方法及代码演示

1.System.exit(int status) 方法的形参int status为状态码,如果是0,说明虚拟机正常停止,如果非0,说明虚拟机非正常停止。需要将程序结束时可以调用这个方法 代码演示: public class Test {public static void main(S…

Windows远程执行

Windows远程执行 前言 1、在办公环境中,利用系统本身的远程服务进行远程代码执行甚至内网穿透横向移动的安全事件是非常可怕的,因此系统本身的一些远程服务在没有必要的情况下建议关闭,防止意外发生; 2、作为安全人员&#xff0…

2024中国(北京)安全生产应急救援与防护用品展览会

2024中国(北京)安全生产应急救援与防护用品展览会 作为安全生产与防护用品领域的行业盛会,2024北京安全生产与防护用品展览会将于2024年6月26日至28日在北京.首钢国际会展中心隆重举行。展会紧跟安全生产与防护用品行业发展,充分调…

基于知识图谱的推理:智能决策与自动发现

基于知识图谱的推理:智能决策与自动发现 一、引言 在今天这个数据驱动的时代,我们经常会听到人们提及“知识图谱”这个词。知识图谱,作为一种结构化知识的表达方式,已经成为智能系统不可或缺的一部分,它通过连接大量的…

SpringMVC--概述 / 入门

目录 1. SpringMVC简介 2. 配置&入门 2.1. 开发环境 2.2. 创建maven工程 2.3. 手动创建 web.xml 2.4. 配置web.xml 2.4.1. 默认配置方式 2.4.2. 扩展配置方式 2.5. 创建请求控制器 2.6. 创建springMVC的配置文件 2.7. 测试 HelloWorld 2.7.1. 实现对首页的访问…

基于 VUE+SSM 数据结构学习网站论文 (内附设计LW + PPT+ 源码下载)

摘 要: 随着计算机信息化时代的来临,教育的信息化发展也日新月异。特别是高等院校对于教育信息化的重视程度越来越高,教育信息化必须要投入大量的时间精力去开发一套管理系统,本文论述了信息化的管理手段在日常教学、考试过程中…

谷歌浏览器用不了怎么办?

打开谷歌浏览器点击右上角的三个点 , 点击设置 在搜索引擎里面把这个改成百度 然后越狱登录你的谷歌账号就可以用了 我个人用的越狱软件是r2rayn , 浏览器上面可以搜索的 默认浏览器那里可以设置成谷歌