【408数据结构】第一章 绪论

news2024/11/20 21:16:33

第一章 绪论

1.数据结构基本概念及三要素

一.数据结构基本概念

1.数据

信息的载体,能被客观事物描述的数字,字符以及能被计算机程序识别和处理的符号的集合

2.数据元素

数据的基本单位,一个数据元素可由若干个数据项(构成数据元素的最小不可分割的最小单位)组成。例如:学生记录是一个数据元素;姓名,班级,学号等则是组成学生记录的数据项。

3.数据对象

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

4.数据类型
  1. 原子类型(其值不可再分)
  2. 结构类型(其值可再分解成若干成分的数据类型)
  3. 抽象数据类型

二.数据结构三要素

逻辑结构,存储结构,数据运算

1.逻辑结构

可细分为线性结构非线性结构
线性结构:一般线性表,栈和队列,串,数组。
非线性结构:集合,树形结构(一般树,二叉树),图状网状结构(有向,无向)
逻辑结构元素间的的关系:线性结构(一对一),树形结构(一对多),图状结构(多对多)。

2.存储结构

也称物理结构,主要有顺序存储,链式存储,索引存储,散列存储。

2.算法和算法的评价

一.算法基本概念

算法是对特定问题求解步骤的一种描述,他是指令的有限序列,一个算法还具有五个重要特性

  1. 有穷性(总是在执行有穷次步骤后结束,每一步都在有穷时间内结束)
  2. 确定性(每条指令有确切的含义,相同的输入只能得出相同的输出)
  3. 可行性(算法中描述的操作可以通过实现基本的运算执行有限次结束)
  4. 输入(可以有零个或多个)
  5. 输出(可以有一个或多个)

好的算法应该具有:

  1. 正确性
  2. 可读性
  3. 健壮性(输入非法数据可进行处理)
  4. 高效率(算法执行时间)与低存储量需求(执行算法所需的存储空间)

二.算法效率的度量

算法的效率度量是通过时间复杂度和空间复杂度来描述的

1.时间复杂度

语句在算法中执行的频率
在这里插入图片描述

2.空间复杂度

一个程序在执行时除需要存储空间来存放本身所用的指令、常数、变量和输入数据外,还需要一些对数据进行操作的工作单元和存储一些为实现计算所需信息的辅助空间。

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

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

相关文章

Unity Animation--动画剪辑(创建动画)

创建一个新的动画编辑 创建新的动画剪辑 ,在场景中选择一个GameObject,然后打开“ 动画”窗口(顶部菜单:)“ 窗口” >“ 动画” >“ 动画”。 如果GameObject 中尚未分配任何动画剪辑,“创建”按钮…

pytorch nn.Embedding 读取gensim训练好的词/字向量(有例子)

最近在跑深度学习模型,发现Embedding随机性太强导致模型结果有出入,因此考虑固定初始随机向量,既提前训练好词/字向量,不多说上代码!! 1、利用gensim训练字向量(词向量自行修改) #…

YCSB on MySQL(避免重复load)

一、编译安装MySQL 下载mysql5.7.28源码 https://downloads.mysql.com/archives/community/ Select Operating System 选择 Source Code Select OS version 选择 All Operating Systems 选择带有boost的版本 安装系统包 apt -y install make cmake gcc g perl bison libai…

AAOS CarMediaService 服务框架

文章目录 前言MediaSessionCarMediaService作用是什么?提供了哪些接口?如何使用?CarMediaService的实现总结 前言 CarMediaService 是AAOS中统一管理媒体播放控制、信息显示和用户交互等功能的服务。这一服务依赖于android MediaSession框架…

JVM第十五讲:调试排错 - Java 内存分析之堆外内存

调试排错 - Java 内存分析之堆外内存 本文是JVM第十五讲,Java 内存分析之堆外内存调试排错。Java 堆外内存分析相对来说是复杂的,美团技术团队的Spring Boot引起的“堆外内存泄漏”排查及经验总结可以为很多Native Code内存泄漏/占用提供方向性指引。 文…

政企互动 | 雨花台区委统战部一行走访调研聚铭网络

2023年10月19日上午,雨花台区委统战部副部长、台侨办主任勾宏展一行3人到聚铭网络调研走访,聚铭网络总经理唐开达热情接待了来访一行,并详尽地介绍了聚铭网络的发展历程、产品体系、企业文化等相关情况。 在聚铭网络总经理唐开达的陪同下&am…

Mysql表结构差异比较

1、背景 我们在开发过程中,大部分情况下都是好几个版本一起并行,有时候如果某个版本表结构改动较大,但是忘记了记录DDL脚本,这个时候需要人工去把新增或修改的DDL脚本整理出来(主要是为了解决 数据库新增字段&#xff…

ArcGIS笔记9_数据源缺少空间参考信息?如何定义坐标系?

本文目录 前言Step 1 确定好要赋予给目标文件的恰当坐标系Step 2 定义坐标系 前言 有时从其他软件转换得到了shp文件,拖到ArcGIS后却出现“未知的空间参考:添加的数据源缺少空间参考信息 不能投影”的提示,如下图所示: 这种情况就…

go-fastdfs安装(国产分布式文件系统)

开源协议: Unlicense官网地址: https://sjqzhang.github.io/go-fastdfs/#vision安装: wget --no-check-certificate https://github.com/sjqzhang/go-fastdfs/releases/download/v1.3.1/fileserver -O fileserver && chmod x fileserver &…

【AIGC核心技术剖析】Hotshot-XL 一种 AI 文本转 GIF 模型(论文 + 代码:经过训练可与Stable Diffusion XL一起使用)

Hotshot-XL 是一种 AI 文本转 GIF 模型,经过训练可与Stable Diffusion XL一起使用。 Hotshot-XL 可以使用任何经过微调的 SDXL 模型生成 GIF。这意味着两件事: 您将能够使用您可能想要使用的任何现有或新微调的 SDXL 模型制作 GIF。 如果您想制作个性化主题的 GIF,您可以…

一张图帮你看懂,在浏览器输入网址回车后,都发生了什么?

首先我们来看图: 当我们在浏览器中输入一个网址,例如:baidu.com,按下回车键后,会发生什么呢? 主要会发生以下这些过程:域名解析(获取IP地址)、建立HTTP连接、发送HTTP请…

通用音乐播放器蜂鸣器AX301开发板verilog,视频/代码

名称:通用音乐播放器代码,蜂鸣器播放音乐 软件:Quartus 语言:Verilog 代码说明:本代码为音乐播放器通用代码,只需修改管脚即可适配其他开发板 代码功能: 设计一个音乐播放器,使用…

C#面对对象(英雄联盟人物管理系统)增加,查询,删除

目录 英雄信息类 因为要在两个窗体里面调用字典,所以要写一个字典的静态变量 添加功能 查询功能 删除功能 英雄信息类 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Windo…

Required MultipartFile parameter ‘file‘ is not present

出现这个原因我们首先想到的是加一个RequestParam("file")&#xff0c;但是还有可能的原因是因为我们的名字有错误 <span class"input-group-addon must">模板上传 </span> <input id"uploadFileUpdate" name"importFileU…

Shell 脚本案例

1.编写hello world脚本 #!/bin/bash ############################################################## # File Name: hello_world.sh # Version: V1.0 # Author: oldchild # Email: 2363543991qq.com # Organization: https://blog.csdn.net/m0_63636799?spm1000.2115.3001.…

【自用重要】概率论中θ和θ尖的区别【计算时的一般方法】

θ就相当于x&#xff0c;是一个值。 θ尖就相当于X&#xff0c;是一个量。 在做分布函数的时候&#xff0c;最好把θ尖换成Z的形式&#xff0c;因为他们都是量&#xff0c;这样比较好看。 在做不等式的时候&#xff0c;一般把量放在中间进行计算&#xff0c;因为随机变量有分…

Kubernetes技术与架构-服务

从软件系统架构设计分层的角度看&#xff0c;Kubernetes的Service是基于Pod的上层&#xff0c;业务应用部署在Pod中&#xff0c;使用Service绑定Pod部署的应用&#xff0c;Service可以对外或者对上层提供服务&#xff0c;当Pod集群在系统调度的过程中发生弹性伸缩的时候&#x…

Linux实用指令-指定运行级别、帮助指令

一、 指定运行级别 1.运行级别说明&#xff1a; 0:关机 1:单用户[找回丢失密码] 2:多用户状态没有网络服务 3:多用户状态有网络服务 4:系统未使用保留给用户 5:图形界面 6:系统重启 常用运行级别是3和5&#xff0c;要修改默认的运行级别。可改文件/etc/inittab 的id:5:initd…

如何识别人工智能生成的图像

随着人工智能成像变得更加先进&#xff0c;从拍摄的场景中辨别真实情况变得越来越困难。这在很多方面都会成为一个问题——从假新闻到真实人物的深度伪造。 我们唯一的机会就是更加敏锐地识别假货。 我最近进行了在线人工智能识别&#xff0c;能够从人造版本中正确选择所有真…

十七、文件(2)

本章概要 文件系统路径监听文件查找文件读写 文件系统 为了完整起见&#xff0c;我们需要一种方法查找文件系统相关的其他信息。在这里&#xff0c;我们使用静态的 FileSystems 工具类获取"默认"的文件系统&#xff0c;但你同样也可以在 Path 对象上调用 getFileS…