【数据结构与算法】之(数据结构绪论篇)(一)溢彩色

news2024/9/20 10:42:30

总而言之:《数据结构》是介于数学、计算机硬件和计算机软件三者之间的一门核心课程


1-1.抽象数据类型:

一个数学模型及定义在该模型上的一组操作;抽象数据类型体现了程序设计中问题分解,抽象和信息隐藏的特性。

抽象:抽象是指取出事物具有的普遍性的本质;只告诉你“是什么”,没说“怎么实现”。


1-2.基本概念和术语

数据

数据,是描述客观事务的符号,是计算机中可以操作的对象,是能被计算机识别到并输入给计算机处理的符号集合。

数据元素

数据元素:是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理,也被称为记录。

在人类中,人就是数据元素;

畜禽类?牛,马,羊,狗,猫就是畜禽类的数据元素。

数据项

数据项:一个数据元素可以由若干个数据项组成。

在这里插入图片描述

比如人这样的数据元素,可以由眼睛,耳朵,嘴巴,手脚等这些数据项,也可以有姓名,年龄,联系号码,邮政编码等数据项

数据项是不可分割的最小单位。

数据对象

数据对象:是性质相同的数据元素的集合,是数据的子集

什么是性质相同呢?还是刚才的例子,人都有姓名,生日,性别等相同的数据项。

数据结构

不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系称之为结构。


1-3.数据结构概述

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

定义:我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储(内存)中,以及在次基础上为实现某个功能(比如查找某个元素,删除某个元素,堆所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法

数据结构 = 个体 + 个体的关系

算法 = 对存储数据的操作


1-4.逻辑结构与物理结构

1-4.1逻辑结构

逻辑结构:是指数据对象中数据数据元素之间的相互关系**

  1. 集合结构:集合结构中的元素除了同属于一个集合外,他们之间没有其它关系。

    请添加图片描述

  2. 线性结构:线性结构中的数据元素之间是一对一的关系请添加图片描述

  3. 树形结构:树形结构中的数据元素是一种一对多的关系请添加图片描述

  4. 图形结构:图形结构的元素是多对多的关系请添加图片描述

框架相关

原生JS虽能实现绝大部分功能,但要么就是过于繁琐,要么就是存在缺陷,故绝大多数开发者都会首选框架开发方案。现阶段较热门是React、Vue两大框架,两者工作原理上存在共通点,也存在一些不同点,对于校招来说,不需要两个框架都学得特别熟,一般面试官会针对你简历中写的框架进行提问。

在框架方面,生命周期、钩子函数、虚拟DOM这些基本知识是必须要掌握的,在学习的过程可以结合框架的官方文档

Vue框架

知识要点:
1. vue-cli工程
2. vue核心知识点
3. vue-router
4. vuex
5. http请求
6. UI样式
7. 常用功能
8. MVVM设计模式

React框架

知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由

式**

[外链图片转存中…(img-tL14UHlo-1719236488134)]

React框架

知识要点:
1. 基本知识
2. React 组件
3. React Redux
4. React 路由

[外链图片转存中…(img-q9TrUKkk-1719236488135)]

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

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

相关文章

最新《pvz植物大战僵尸杂交版》整合安装包,全面支持Android、ios、Windows,附教程!

今天,阿星要聊聊最近全网大火的一款老游戏——《植物大战僵尸》杂交版。 虽然它不是什么3A大作,但在阿星的心里,它永远是那个让人回味无穷的经典。记得十年前,阿星和大多数玩家一样,玩的都是盗版。那时候的《植物大战…

【人机交互 复习】第1章 人机交互概述

人机交互的知识点碎,而且都是文字,过一遍脑子里什么都留不下,但是背时间已经来不及了,最好还是找题要题感吧,加深印象才是做对文科的关键 一、概念 1.人机交互(Human-Computer Interaction,HCI)&#xff1…

路由器ARP和ARP-proxy(华为)

#交换设备 路由器ARP和ARP-proxy(华为) 当一个广播域中的主机想要访问另外一个广播域的主机时,会广播ARP报文,询问目标IP地址所对应的MAC地址,默认情况下,arp记录是设备自动生成的,但是这样会容易受到ARP欺骗攻击&am…

系统架构设计师 - 数据库系统(2)

数据库系统 数据库系统规范化理论 ★ ★ ★ ★ ★函数依赖求候选键Armstrong公理范式判断第一范式 1NF第二范式 2NF第三范式 3NFBC 范式 BCNF 模式分解保持函数依赖分解无损分解 并发控制 ★事务的 ACID 特性并发存在的问题并发解决方案 - 封锁协议 数据库的安全性 ★安全性的分…

C++多线程异步日志实现

使用C11标准&#xff0c;构建了一个方便使用的、轻量化的日志系统。封装线程安全的lockQueue&#xff0c;实现对每条日志添加信息、push到lockQueue中的LogTmp类&#xff0c;实现一个多线程异步的日志系统Logger。 lockqueue.h #pragma once #include <queue> #include…

pdf转图片转换器,pdf转图片的工具

在日常的工作和学习中&#xff0c;我们经常会遇到需要将PDF文件转换为图片格式的情况。那么&#xff0c;如何才能将PDF格式转换为图片格式呢&#xff1f;今天&#xff0c;我将为大家介绍几种简单易用的方法&#xff0c;帮助大家轻松实现PDF转图片。 打开“轻云pdf处理官网网站”…

Linux 动态监控系统

top与ps命令很相似。它们都用来显示正在执行的进程。Top与ps最大的不同之处&#xff0c;在于top在执行一段时间可以更新正在运行的的进程。 一、基本指令 top top -d&#xff1a; 秒数 :每隔设定值秒数更新&#xff0c;未设置下默认为3秒 top -i:使top不显示任何闲置或者僵死进…

行人重识别Reid(可实现人员换装情况下的人员检索)

本项目的行人重识别是出自论文"Beyond Scalar Neuron: Adopting Vector-Neuron Capsules for Long-Term Person Re-Identification",该文章所涉及到的相关理论在我另外一篇文章中有讲解&#xff1a;Reid系列论文学习——换装Reid&#xff0c;不过经过本人测试&#x…

高清录屏软件哪个好用?分享这3款录屏软件

在我们的日常生活和工作中&#xff0c;视频录制是我们经常需要使用到的功能。不仅可以帮助我们录制网课内容方便后期复习&#xff0c;还可以录制视频会议&#xff0c;记录上级指示&#xff0c;甚至可以通过录制一些视频教程或游戏视频上传网络进行分享。 对电脑屏幕进行录制&a…

postman教程-22-Newman结合Jenkins执行自动化测试

上一小节我们学习了Postman Newman运行集合生成测试报告的方法&#xff0c;本小节我们讲解一下Postman Newman结合Jenkins执行自动化测试的方法。 在软件开发过程中&#xff0c;持续集成&#xff08;CI&#xff09;是一种实践&#xff0c;旨在通过自动化的测试和构建过程来频繁…

QThread 与QObject::moveToThread利用Qt事件循环在子线程执行多个函数

1. QThread的两种用法 第一种用法就是继承QThread&#xff0c;然后覆写 virtual void run()&#xff0c; 这种用法的缺点是不能利用信号槽机制。 第二种用法就是创建一个线程&#xff0c;创建一个对象&#xff0c;再将对象moveToThread, 这种可以充分利用信号槽机制&#xff…

使用插件和微调优化 GPT 模型

文章目录 LLM 用例和示例产品警惕 AI 幻觉&#xff1a;限制与考虑使⽤插件和微调优化 GPT 模型 OpenAI 在其网站上展示了许多激励人心的客户故事&#xff0c;我们需要了解这些模型如何改变我们的社会并为商业和创造力开辟新机遇。正如你将看到的&#xff0c;许多企业已经开始使…

【kaggle数据集无法下载解决办法】

kaggle数据集无法下载的解决办法 当我们在做机器学习相关问题的时候&#xff0c;需要到kaggle网站上下载数据集&#xff0c;但是很多时候速度很慢或者连接超时等问题&#xff0c;此时解决办法如下&#xff1a; 在本地安装Kaggle API包 打开终端输入如下指令&#xff1a; pip i…

ONLYOFFICE8.1-------宝藏级别桌面编辑器测评

简介 ONLYOFFICE 8.1 是一个功能强大的办公套件&#xff0c;提供了一系列广泛的功能&#xff0c;用于文档管理、协作和沟通。它包括用于创建和编辑文本文档、电子表格、演示文稿等的工具。ONLYOFFICE 8.1 的一些关键特性包括&#xff1a; 1. 协作&#xff1a;ONLYOFFICE 8.1 …

Ubuntu 使用Vscode的一些技巧 ROS

Ubuntu VSCode的一些设置&#xff08;ROS&#xff09; 导入工作空间 推荐只导入工作空间下的src目录 如果将整个工作空间导入VSCode&#xff0c;那么这个src就变成了次级目录&#xff0c;容易在写程序的时候把本应该添加到具体工程src目录里的代码文件给误添加到这个catkin_w…

邂逅Three.js探秘图形世界之美

可能了解过three.js等大型的3D 图形库同学都知道啊&#xff0c;学习3D技术都需要有图形学、线性代数、webgl等基础知识&#xff0c;以前读书学的线性代数足够扎实的话听这节课也会更容易理解&#xff0c;这是shader课程&#xff0c;希望能帮助你理解着色器&#xff0c;也面向第…

20240624在飞凌OK3588-C的Buildroot下查证GPIO64和gpiochip64的差异

20240624在飞凌OK3588-C的Buildroot下查证GPIO64和gpiochip64的差异 2024/6/24 20:19 GPIOchip代表GPIO控制器的编号&#xff0c;gpio代表特定GPIO的引脚号 本文以linux R4/Buildroot位例子&#xff0c;同样适用于Android12和其他【使用linux内核的】操作系统。 https://www.ji…

Java包介绍

今天看jdk文档&#xff0c;顺便写一下java几个包的作用。 java.applet 主要用于创建java applet小应用程序&#xff0c;可以嵌入到网页中能够呈现出特殊的效果&#xff0c;现在基本已经被废弃&#xff0c;很少使用。 java.awt AWT 是Abstract Window ToolKit (抽象窗口工具包…

分享9款AI抠图神器:不会PS?AI一键批量抠图,3秒轻松搞定!(建议收藏)

文章首发于公众号&#xff1a;X小鹿AI副业 大家好&#xff0c;我是程序员X小鹿&#xff0c;前互联网大厂程序员&#xff0c;自由职业2年&#xff0c;也一名 AIGC 爱好者&#xff0c;持续分享更多前沿的「AI 工具」和「AI副业玩法」&#xff0c;欢迎一起交流~ 今天被一位在用 AI…

猫头虎 AI 前沿科技探索之路(持续更新):ChatGPT/GPT-4 科研应用、论文写作、数据分析与 AI 绘图及文生视频实战全攻略

猫头虎 AI 前沿科技探索之路(持续更新)&#xff1a;ChatGPT/GPT-4 科研应用、论文写作、数据分析与 AI 绘图及文生视频实战全攻略 背景介绍 随着人工智能技术的飞速发展&#xff0c;AI 的应用已经渗透到各个领域&#xff0c;从商业决策到医疗健康&#xff0c;再到日常生活中的…