C++信息学奥赛 数据结构认识

news2024/11/24 14:28:45

数据结构

1.1数据结构分类

1.2基本数据类型

1.3数字编码

1.4字符编码


1.1数据结构分类

数据结构如同一副稳固而多样的框架。为数据的有序组织提供了蓝图,算法得以在此基础上生动起来。

常用的数据结构包括哪些                                          

数据结构分类:                         

1. 逻辑结构: 揭示了数据元素之间的           

逻辑关系分为           与           两大类;

线性数据结构                              元素之间是         顺序关系

线性数据结构                  元素之间是            或              关系

2. 物理结构         及          

我们程序或者软件运行主要是在      因此在数据结构与算法的设计中,内存资源是一个重要的考虑因素

例子,效率是差距,好的学习方法、自律的规划落实等等

内存的简单认识,请看大屏幕:

1.内存条发展史,科普内存中你不知道的哪些秘密!

2.手机内存发展

物理结构反映了数据在计算机内存中的存储方式

连续空间存储        

分散空间存储        

从底层决定了数据的访问、更新、增删等操作方法,两种物理结构在     效率和    效率方面呈现出互补的特点。

一般数组的插入,删除操作时间复杂度是     ,而反之链表的时间复杂度是       。

一般数组的查找时间复杂度是       

所有数据结构都是可用        实现的

所以,问1想清楚什么时候用数组,什么时候用链表会更好?

解:(请用10-30个字描述)

问2静态数据结构与动态数据结构的区别是?

解:(请用15-50个字描述)

小结:请用一段话总结上面所学的知识。

答(请用50个字以上描述):


1.2基本数据类型

文本、图片、视频、语音、3D 模型等这些数据的组织形式各异,但它们都由各种基本数据类型构成。

基本数据类型是      可以直接进行运算的类型在算法中直接被使用

问1 CPU是什么?

在数据类型中,请你写出你已经学习并掌握的数据类型

例如 XX类型:int

      类型:

      类型:

      类型:

      类型:

基本数据类型以    进制的形式存储在计算机中1Bit比特是   个二进制,1字节=   bit


1.3数字编码

原码、反码和补码

数字是以“补码”的形式存储在计算机中的。在分析这样做的原因之前,首先给出三者的定义。

  1. 原码:我们将数字的二进制表示的最高位视为符号位,其中 0 表示正数,1 表示负数,其余位表示数字的值。
  2. 反码:正数的反码与其原码相同,负数的反码是对其原码除符号位外的所有位取反。
  3. 补码:正数的补码与其原码相同,负数的补码是在其反码的基础上加 1 。

此时的你像 --->

11的二进制是:           

11的原码                

11的                 

11的补                

-11的二进制是:            

-11的原码                 

-11的                 

-11的补                 

1.4字符编码

为了表示字符char,我们需要建立一套“字符集”,规定每个字符和二进制数之间的一一对应关系。有了字符集之后,计算机就可以通过查表完成二进制数到字符的转换。

ASCII 字符集

不行顶不住,我们来看大屏幕

世界文字“大一统”——字符编码发展史icon-default.png?t=N7T8https://www.bilibili.com/video/BV1FV4y1175P/?spm_id_from=333.337.search-card.all.click&vd_source=54142d42b0862c435814097d11d2bda9

请你写出字符编码从诞生到统一的过程:

解:      -->        -->          -->         -->          -->

参考资料:Hello算法

第 3 章   数据结构 - Hello 算法动画图解、一键运行的数据结构与算法教程icon-default.png?t=N7T8https://www.hello-algo.com/chapter_data_structure/

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

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

相关文章

QA测试开发工程师面试题满分问答21: 单元测试、集成测试、系统测试的侧重点是什么?

单元测试、集成测试和系统测试是软件测试中的不同层次和阶段,每个阶段侧重于不同的测试目标和范围。以下是它们的侧重点的简要说明: 单元测试: 单元测试是针对软件中最小的可测试单元(通常是函数、方法或模块)进行的测…

版本控制系统-Git

目录 1. Git简介 2. 下载及安装 3.命令行操做 3.1全局设置 3.2初始化仓库 3.3提交代码 3.4查看提交历史 3.5推送代码 3.6拉取合并代码 3.7克隆仓库 3.8. 配置忽略文件 3.9. 凭据管理 4. GUI工具操作 4.1. 全局设置 4.2. 初始化仓库 4.3. 提交代码 输入提交日志…

Gone框架介绍3 - 使用gone命令,自动生成Priest函数

文章目录 1. 安装辅助工具: gone2. 创建一个名为gen-code的新项目3. 创建Goner4. 使用辅助工具5. 添加main函数 我在两年前实现了一个Golang的依赖注入框架,并且集成了gin、xorm、redis、cron、消息中间件等功能,自己觉得还挺好用的;之前一直…

Jenkins首次Build,配置Git,Maven,JDK,凭证管理

系列文章目录 文章目录 系列文章目录前言前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudso…

有哪些好用电脑端时间定时软件?桌面日程安排软件推荐 桌面备忘录

随着现代生活节奏的加快,人们对于时间管理和任务提醒的需求越来越大。为了满足这一需求,市场上涌现出了众多桌面便签备忘录软件,它们不仅可以帮助我们记录待办事项,还能定时提醒我们完成任务。在这篇文章中,我将为大家…

宝子们,到我选Offer了

A. 腾讯IEG光子 游戏客户端 Base 深圳 优点: 1. Title可以,是IEG正经游戏工作室 2. 这可是鹅啊,可以吟唱《作废》歌 缺点: 1. 离得远 要租房 2. 5000HC 转正率懂得都懂 3. 可能会参与预研的东西 不会很快参与…

HaLo-NeRF:利用视觉和语言模型对场景的精准定位和细粒度语义理解

包含大量摄影师拍摄的照片的互联网图像集有望实现对大型旅游地标的数字探索。然而,先前的工作主要集中在几何重建和可视化上,忽略了语言在为导航和细粒度理解提供语义界面方面的关键作用。 项目:HaLo-NeRF: Learning Geometry-Guided Semant…

Ansible自动化运维工具主机清单配置

作者主页:点击! Ansible专栏:点击! 创作时间:2024年4月24日12点21分 Ansible主机清单文件用于定义要管理的主机及其相关信息。它是Ansible的核心配置文件之一,用于Ansible识别目标主机并与其建立连接。 …

win10安装DHCP服务--用于2台机器之间搭建简易网络来进入目标机器修改配置

前言: 客户多了,往往会出现各种突发情况。 比如一个客户现场没有DHCP,没有显示器,键盘。 你只有一台笔记本的情况下要配置目标机器的网络。要如何配置?? 这时候就可以使用这篇博客提供的方式了。 Windows…

分布式与一致性协议之CAP和Paxos算法(一)

CAP 理论 如何使用BASE理论 以InfluxDB系统中DATA节点的集群实现为例。DATA节点的核心功能是读和写,所以基本可用是指读和写的基本可用。我们可以通过分片和多副本实现读和写的基本可用。也就是说,将同一业务的数据先分片,再以多份副本的形…

STM32驱动SYN6288语音合成模块

STM32驱动SYN6288语音合成模块 简介功能特点通讯方式接线代码结果总结 简介 SYN6288通过异步串口(UART) 通讯方式,接收待合成的文本数据,从而实现文本到语音的转换SYN06188 语音芯片的优秀特点:最小SS0P28L 贴片封装、硬件接口简单、低功耗、音色清亮圆…

C++中auto关键字的用法详解

1.简介 auto作为一个C语言就存在的关键字,在C语言和C之间却有很大区别。 在C语言中auto修饰的变量,是具有自动存储器的局部变量,但因为局部变量默认类别默认是auto修饰导致一直没有人去使用它。 C11中,标准委员会赋予了auto全新…

Linux学习笔记:进程间的通信.共享内存shm

共享内存shm 什么是共享内存shm共享内存的特点关键函数ftokshmgetshmatshmdtshmctl 代码示例 什么是共享内存shm 进程间通信的前提:必须让不同的进程看到同一份资源,并且这个资源是OS提供的 而共享内存(Share memory)就是在内核共享内存区找一块物理内存空间,并允许多个进程共…

西瓜书学习——决策树形状、熵和决策树的本质

文章目录 决策树形状监督学习算法分类与回归 熵信息熵香农熵 (Shannon Entropy) - H(X)联合熵 (Joint Entropy) - H(X, Y)条件熵 (Conditional Entropy) - H(Y|X)互信息 (Mutual Information) - I(X; Y)相对熵 (Relative Entropy) / KL散度 (Kullback-Leibler Divergence) - DK…

学习CSS3,实现红色心形loading特效

试想一下,如果你的网站在加载过程中,loading图由一个老旧的菊花转动图片,变为一个红色的心形loading特效,那该有多炫酷啊。 目录 实现思路 初始化HTML部分 延迟动画是重点 设定动画效果 完整源代码 最后 实现思路 每个…

怎样批量将jpg图片转换成HEIC格式?jpg快速转换成HEIC图片

heic格式和jpg格式图片大家都很熟悉了。那么这两种图片格式的区别是什么?哪种格式图片更好一些? 一,区别:jpg和HEIC的区别 1,jpg格式有良好的压缩性能和良好的重建质量而被广泛应用于图像和视频处理中。 2&#xff…

HarmonyOS实战开发-RPC连接、如何实现前台选择商品和数目,后台计算总价的功能

介绍 本示例使用ohos.rpc 相关接口,实现了一个前台选择商品和数目,后台计算总价的功能,使用rpc进行前台和后台的通信。 效果预览 使用说明: 点击商品种类的空白方框,弹出商品选择列表,选择点击对应的商品…

常用工具网站

代码生成器: SQL转Java代码生成器 | 不求人导航SQL转Java代码生成器https://codegen.bqrdh.com/

面试题-Redis篇

什么是 Redis? Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时 …

windows10 H2database 安装教程

1. 下载https://www.h2database.com/html/download.htmlhttps://www.h2database.com/html/download.html 具体版本可以根据项目配置的版本 2. 安装 3.手动启动 安装完后默认启动,如退出后需手动启动则在安装目录下启动。 启动完,在桌面右下角会出现小图…