数据结构-绪论
学习目标:
- 认识数据结构的基本内容
学习内容:
- 了解:数据结构的研究内容
- 掌握:数据结构的基本概念和术语
- 了解:数据元素间的结构关系
- 掌握:算法及算法的描述
数据结构的发展:
- 数据结构的发展简史
众所周知,早期的计算机主要应用于科学计算,随着计算机的发展和应用范围的拓展,计算机需要处理的数据量越来越大,数据的类型越来越多,数据结构越来越复杂,计算机的对象从简单的纯数值型数据发展为非数值型和具有一定结构的数据。要求人们对计算机加工处理的对象进行系统的研究,即研究数据的特性、数据之间存在的关系以及如何有效地组织、管理存储数据,从而提高计算机处理数据的效率。数据结构这门学科就是在此背景上逐渐形成和发展起来的。
最早对这一发展做出杰出贡献的是D.E.Kunth教授和C.A.R.Hoare(霍尔)。 D.E.Kunth的《计算机程序设计技巧》和霍尔的《数据结构札记》对数据结构这门学科的发展做出了重要的贡献。 随着计算机科学的飞速发展,到20世纪80年代初期,数据结构的基础研究日臻成熟,成为一门完整的学科。
- 数据结构的研究内容
用计算机解决一个具体的问题时,大致需要经过以下几个步骤:
- 分析问题,确定数据模型。
- 设计相应的算法。
- 编写程序,运行并调试程序,直至得到正确的结果。
寻求数据模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间的关系,然后用数学语言加以描述。
有些问题的数据模型可以用具体的代数方程、矩阵等来表示,但更多的实际问题是无法用数学方程来表示的,下面通过几个图加以说明。
图1-1 学生成绩表
上述所示是一个学生成绩表,表中的每一行称为一条记录,并按学号升序排列,它们之间存在“一对一”的关系,是一种线性结构
,它构成了学生成绩表的逻辑结构。
学生成绩表在计算机外存中的存储方式构成该表的存储结构,在该表中查找记录、插入记录、删除记录以及对记录进行排序
等操作又构成了数据的运算。
图1-2 树形结构示意图【组织示意图】
上述所示是某高校组织示意图,其中高校名称是树根,把下设处室看成它的树枝中间结点,把处室下级单位看成树叶,这就构成了树形结构,树形结构通常用来表示结点的分层组织,结点之间是“一对多”的关系,除根结点之外,每个结点有且只有一个父结点
。这种结构也是一种数据结构,其主要操作是遍历、查找、插入或删除
等。
图1-3 七桥图
Euler在1736年访问俄罗斯的哥尼斯堡时,他发现当地的居民正从事一项非常有趣的消遣活动。哥尼斯堡城中有一条名叫普莱格尔的河流,在河上建有七座桥,如图1-3所示。
这项有趣的消遣活动是在星期六做一次走过所有7座桥的散步,每座桥只能经过一次而且起点与终点必须是同一地点。
图1-4 欧拉回路
设4块陆地分别为A、B、C、D,Euler把每一块陆地看成一个点,连接两块陆地的桥以线表示,如图1-4 所示。
后来推论出此种走法是不可能的。他的论点是这样的,除了起点以外,每一次当一个人由一座桥进入一块陆地(或点)时,他同时也由另一座桥离开此点。即每个点如果有进去的边就必须有出来的边,因此每一个陆地与其他陆地连接的桥数必为偶数。7座桥组成的图形中,没有一点含有偶数条数,因此上述的任务时不可能实现的。
和上述问题相似,生活中还有不少的实例,如通信网和公路网都是“多对多”的关系,具有这种关系的结构称为图形结构
。其主要的操作有遍历、求最短路径
等。
类似的还有工资管理系统、棋类对弈问题等。对于这些非数值问题的描述,都是上述的表、树和图之类的数据结构,并且这些数据结构的元素和元素之间都存在着相互关系。
因此,数据结构是一门抽象地研究数据
之间的关系的学科。
数据结构的基本概念和术语:
- 数据
数据是指在计算机科学中能够被计算机输入、存储、处理和输出的一切信息,是计算机处理的信息的某种特定的符号表示形式。包括数字、英文、汉字以及表示图形、声音、光和电的符号等。
- 数据项
图1-1 学生成绩表
数据项是数据的最小单位
,有时也称为域,即数据表中的字段,如图1-1所示。数据项是具有独立含义且不可分割的最小标识单位。
- 数据元素
数据元素是数据的基本单位
,在计算机信息处理中通常作为一个整体来考虑。一个数据元素可以由若干个数据项组成
,数据元素也称为元素、结点、顶点、记录。如图1-1所示。
- 数据对象
数据对象是具有性质相同的数据元素的集合,是数据的一个子集。
例如大写字母字符数据对象是集合C={‘A’,‘B’,‘C’,…,‘Z’};整数数据对象是集合N={0,±1,±2,…}。
- 数据类型
数据类型是一个值的集合和定义在这个值集合上的一组操作的总称。
数据类型中定义了两个集合:值集合和操作集合。
其中值集合定义了该类型数据元素的取值,操作集合定义了该类型数据允许参加的运算。
例如C语言中的int类型,取值范围是[-32768,32767],主要的运算为加、减、乘、除、取模、乘方等。
按数据元素取值的不同特性,高级语言中的数据类型一般都包括两部分:原子类型和结构类型
。
原子类型的值是不可分的
,例如,C语言中的int类型、char类型、float类型。
结构类型是通过若干成分(可以是原子类型或结构类型)构造而成的
。高级语言一般都提供用户自定义结构类型的机制。
- 数据结构
数据结构是带结构的数据元素的集合,描述了一组数据元素及元素间的相互关系。
数据元素间的关系包括3个方面:数据的逻辑结构、存储结构和操作集合。
数据的逻辑结构:
逻辑结构是指数据元素之间的逻辑关系,是用户根据使用需要建立起来的数据组织形式,是独立于计算机的。根据数据元素之间的不同关系,有以下四种基本逻辑结构。
- 线性结构
图1-5(a)线性结构
其中的数据元素之间是“一对一”的关系
。在线性结构中,有且仅有一个开始结点和一个终端结点,除了开始结点和终端结点,其余结点都有且仅有一个直接前驱和一个直接后继
,如图1-5(a)所示。
- 树形结构或层次结构
图1-5(b) 树形结构
其中的数据元素之间存在着“一对多”的关系
。比如,部门之间的隶属关系、人类社会的父子关系、上下级关系等。在树形结构中,除根结点之外,每个结点都有唯一的直接前驱,所有的结点都可以有0个或多个直接后继
,如图1-5(b)所示。
- 图形结构或网状结构
图1-5(c)图形结构
其中的数据元素之间存在着“多对多”的关系
。在图状结构中,每个结点都可以有多个直接前驱和多个直接后继
,如图1-5(c)所示。
- 集合结构
图1-5(d)集合结构
数据元素间除了“同属于一个集合”的关系外,无任何其他关系
。由于集合关系非常松散,因此可以用其他的结构代替,如图1-5(d)所示。
数据的逻辑结构可概括为两大类:线性结构和非线性结构
。
线性结构包括线性表、栈、队列、字符串、数组、广义表;
非线性结构包括树、二叉树和图。
一个数据结构的逻辑结构G可以用二元组来表示:G=(D,R)
其中:D是数据元素的集合,R是D上所有数据元素之间关系的集合(表示各元素的前驱、后继关系)。R关系中圆括号表示双向,尖括号表示单向
。
【例1-1】一种数据结构Graph=(D,R),其中:
r中的(A,B)表示顶点A到顶点B之间的边是双向的,上述的结构关系如图1-6所示。
图1-6 图形结构
数据的存储结构:
数据的存储结构又称物理结构
,是数据的逻辑结构在计算机存储器中的存储形式(或称映像)。对机器语言来说,这种存储形式是具体的,高级语言可以借助它的数据类型来描述存储形式的具体细节。依据数据元素在计算机中的表示,主要有以下4种不同的存储结构。
- 顺序存储结构
是借助元素在存储器中的相对位置来表示数据元素之间的逻辑关系,可以用一维数组描述。
- 链式存储结构
是借助指示元素存储地址的指针来表示数据元素之间的逻辑关系。可用指针类型描述,数据元素不一定存在地址的存储单元,存储处理的灵活性较大。
- 索引存储
是在原有存储数据结构的基础上,附加建立一个索引表,索引表中的每一项都由关键字和地址组成。采取索引存储结构的主要作用是提高数据的检索速度。
- 散列存储
是通过构造散列函数来确定数据存储地址或查找地址。
算法和算法的描述:
算法和数据结构的关系紧密,任何一个算法的设计都取决于选定的数据的逻辑结构,而算法的实现则依赖于数据所采用的数据结构。
- 什么是算法
算法的概念:算法是为了解决某类问题而规定的一个有限长的操作序列,是对解题过程的准确而完整的描述。
算法的特性:
- 输入:
一个算法必须有0个或多个输入
,这些输入取自于特定的对象集合。可以使用输入语句由外部提供,也可以使用赋值语句在算法内给定。 - 确定性:算法的每一步都应确切地、无歧义地定义。对于需要执行地动作都应严格地、清晰地规定。
- 有穷性:一个算法无论在什么情况下都应在执行有穷步后结束。
- 可行性:一个算法是可执行的,即算法中描述的操作都是可以通过已经实现的基本运算执行有限次来实现的。
- 输出:
一个算法应有一个或多个输出
,输出的量是算法计算的结果。
算法和程序的区别:
- 算法设计的要求
通常设计一个好的算法应考虑达到如下目标:
- 算法的描述
算法可以用流程图、自然语言、计算机程序语言或其他语言来描述
,但描述必须精确地说明计算过程。
为了便于理解和掌握算法的思想和实质,采用类C语言进行算法描述。类C语言实际上是对C语言的一种简化,保留了C语言的精华,忽略了C语言语法规则中的一些细节,这样描述出的算法清晰、直观、便于阅读和分析。
算法是以函数形式描述,描述如下:
类型标识符函数名(形式参数表)
/*算法说明*/
{语句序列}
算法说明是不可缺少的部分,是对算法的功能、数据存储结构、形式参数的含义等的说明。
- 算法效率的评价
对于一个给定的问题求解,往往可以设计出若干个算法。如何评价这些算法的优劣呢?一个正确的算法效率通常用时间复杂度与空间复杂度来评价。
- 时间复杂度
一个算法的执行时间等于其所有语句执行时间的总和,而任一语句的执行时间为该语句的执行次数与该语句执行一次所需时间的乘积
。当算法转换成程序之后,每条语句的执行时间取决于机器的硬件速度、指令类型及编译的代码质量,而这些是很难确定的。因此,将算法中基本操作重复执行的次数作为算法执行时间的量度。
一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数f(n),算法的时间量度记作:T(n)=O(f(n))
。
它表示随问题规模n的增大,算法执行时间的增长率和f(n)的增长率相同,称作算法的渐进时间复杂度,简称时间复杂度。时间复杂度不是精确的执行次数,而是估算的数量级,它主要体现的是随着问题规模n的增大,算法执行时间的变化趋势。
【例1-2】有下列3条语句
(a)x=0 //执行了一次,时间复杂度为O(1)
(b)for(i=1;i<=n;i++)x=x+1 //语句 x=x+1 执行了n次,时间复杂度为O(n)
(c)for(i=1;i<=n;i++)
for(j=1;j<=n;j++)x=x+i*j //赋值语句要执行n^2次,时间复杂度为O(n^2)
不同的数量级的时间复杂度增长率是不同的,当问题规模n越大时,其关系如下:
O(1) < O(logn) < O(n) < O(nlogn) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
- 空间复杂度
一个程序的空间复杂度是指程序运行从开始到结束所需要的存储空间
。包括算法本身所占用的存储空间、输入/输出数据占用的存储空间以及算法在运行过程中的工作单元和实现算法所需辅助空间。类似于算法的时间复杂度,算法所需存储空间的量度记作:S(n)=O(f(n))
。
其中n为问题的规模。在进行空间复杂度分析时,若输入数据所占空间只取决于问题本身,和算法无关,则只需要分析除输入和程序之外的额外空间,否则应同时考虑本身所需空间。
相关文章:
数据结构-绪论
学习目标: 认识数据结构的基本内容 学习内容: 了解:数据结构的研究内容掌握:数据结构的基本概念和术语了解:数据元素间的结构关系掌握:算法及算法的描述 数据结构的发展: 数据结构的发展简史 …...
Web开发:web服务器-Nginx的基础介绍(含AI文稿)
目录 一、Nginx的功能: 二、正向代理和反向代理的区别 三、Nginx负载均衡的主要功能 四、nginx安装目录下的各个文件(夹)的作用: 五、常用命令 一、Nginx的功能: 1.反向代理:例如我有三台服务器&#x…...
共享经济背景下校园、办公闲置物品交易平台-计算机毕设Java|springboot实战项目
🍊作者:计算机毕设残哥 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目、 源…...
Linux 服务器上简单配置 minio
Linux 服务器上简单配置 minio 初始化结构目录 mkdir -p /data/minio/bin mkdir -p /data/minio/conf mkdir -p /data/minio/data 下载 minio cd /data/minio/bin curl -O https://dl.min.io/server/minio/release/linux-amd64/minio 添加执行权限 chmod x minio 创建配置文件…...
TypeScript 面试题汇总
引言 TypeScript 是一种由微软开发的开源、跨平台的编程语言,它是 JavaScript 的超集,为 JavaScript 添加了静态类型系统和其他高级功能。随着 TypeScript 在前端开发领域的广泛应用,掌握 TypeScript 已经成为很多开发者必备的技能之一。本文…...
杰卡德系数
杰卡德系数(Jaccard Index 或 Jaccard Similarity Coefficient) 杰卡德系数是一种用于衡量两个集合相似度的重要指标。 从数学定义上来看,如前面所述,杰卡德系数计算公式为: J ( A , B ) ∣ A ∩ B ∣ ∣ A ∪ B ∣…...
微服务实现-sleuth+zipkin分布式链路追踪和nacos配置中心
1. sleuthzipkin分布式链路追踪 在大型系统的微服务化构建中,一个系统被拆分成了许多微服务。这些模块负责不同的功能,组合成系统,最终可以提供丰富的功能。 这种架构中,一次请求往往需要涉及到多个服务。互联网应用构建在不同的软…...
数学中常用的解题方法
文章目录 待定系数法应用示例1. 多项式除法2. 分式化简3. 数列通项公式 总结 递归数列特征方程特征根的求解通项公式的求解示例 错位相减,差分错位相减法差分的应用结合理解 韦达定理二项式定理二项式定理的通项公式二项式系数的性质应用示例 一元二次求解1. 因式分…...
pytorch 1 张量
张量 文章目录 张量torch.Tensor 的 主要属性torch.Tensor 的 其他常用属性和方法叶子张量(Leaf Tensors)定义叶子张量的约定深入理解示例代码总结 中间计算结果与 detach() 方法定义中间计算结果不是叶子节点使用 detach() 方法使中间结果成为叶子张量示…...
音视频开发继续学习
RGA模块 RGA模块定义 RGA模块是RV1126用于2D图像的裁剪、缩放、旋转、镜像、图片叠加等格式转换的模块。比方说:要把一个原分辨率1920 * 1080的视频压缩成1280 * 720的视频,此时就要用到RGA模块了。 RGA模块结构体定义 RGA区域属性结构体 imgType&am…...
【Datawhale X 魔搭 】AI夏令营第四期大模型方向,Task1:智能编程助手(持续更新)
在一个数据驱动的世界里,人工智能的未来应由每一个愿意学习和探索的人共同塑造和掌握。希望这里是你实现AI梦想的起点。 大模型小白入门:https://linklearner.com/activity/14/11/25 大模型开发工程师能力测试:https://linklearner.com/activ…...
如何判断监控设备是否支持语音对讲
目录 一、大华摄像机 二、海康摄像机 三、宇视摄像机 一、大华摄像机 注意:大华摄像机支持跨网语音对讲,即设备和服务器可以不在同一网络内,大华设备的语音通道填写:34020000001370000001 配置接入示例: 音频输入…...
Grafana+Influxdb(Prometheus)+Apache Jmeter搭建可视化性能测试监控平台
此性能测试监控平台,架构可以是: GrafanaInfluxdbJmeterGrafanaPrometheusJmeter Influxdb和Prometheus在这里都是时序性数据库 在测试环境中,压测数据对存储和持久化的要求不高,所以这里的组件可以都通过docker-compose.yml文件…...
【笔记】MSPM0G3507移植RT-Thread——MSPM0G3507与RT_Thread(二)
一.创建新工程 找到"driverlib\empty"空白工程,CTRLC然后CTRLV复制副本 重命名为G3507_RTT 打开KEIL工程 双击empty.syscfg,然后打开SYSCONFIG 我的不知道为啥没有48pin选项,如果你也一样,可以跟着我做,如果…...
计算机毕业设计 美发管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试
🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...
soapui调用接口参数传递嵌套xml,多层CDATA表达形式验证
1.环境信息 开发工具:idea 接口测试工具:soapui 编程语言:java 项目环境:jdk1.8 webservice:jdk自带的jws 处理xml:jdk自带的jaxb 2.涉及代码 package org.example.webdemo;import javax.jws.WebMethod; i…...
GB/T35561-2017d,GB/T38565-2020,ocr解析文本
因系统需要只找到pdf版本,解析一版记录 GB/T35561-2017d 10000 , 自然灾害 10100 , 水旱灾害 10101 , 洪水 10102 , 内涝 10103 , 水库重大险情 10104 , 堤防重大险情 10105 , 凌汛 10106 , 山洪 10107 , 农业干旱 10108 , 城镇缺水 10109 , 生态干旱 10110 , 农村…...
IDEA使用LiveTemplate快速生成方法注释
本文目标:开发人员,在了解利用Live Template动态获取方法输入输出参数、创建日期时间方法的条件下,进行自动生成方法注释,达到自动添加方法注释的程度; 文章目录 1 场景2 要点2.1 新增LiveTemplate模版2.2 模版内容填写…...
慢SQL优化
1、避免使用select * select * 不会走覆盖索引,会出现大量的回表操作,从而导致查询sql的性能很低。 --反例 select * from user where id 1;--正例 select name,age from user where id 1;2、union all 代替 union union:去重后的数据…...
MES生产执行系统源码,支持 SaaS 多租户,技术架构:springboot + vue-element-plus-admin
MES的定义与功能 MES是制造业中一种重要的管理信息系统,用于协调和监控整个生产过程。它通过收集、分析和处理各种生产数据,实现对生产流程的实时跟踪和监控,并为决策者提供准确的数据支持。MES涵盖了工厂运营、计划排程、质量管理、设备维护…...
【Linux】分析hung_panic生成的vmcore
简介 1、遇到一个问题: 上述日志是oom_kill,下述日志是hung_panic 2、分别解释两层含义,全部日志如下: [75834.243209] kodo invoked oom-killer: gfp_mask0x600040(GFP_NOFS), order0, oom_score_adj968 [75834.245657] CPU: 0…...
unity 画线写字
效果 1.界面设置 2.涉及两个脚本UIDraw.cs和UIDrawLine.cs UIDraw.cs using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;public class UIDraw : MonoBehaviour, IPointerEnterHandler, IPointerEx…...
GitHub的详细介绍
GitHub是一个面向开源及私有软件项目的托管平台,它建立在Git这个分布式版本控制系统之上,为开发者提供了在云端存储、管理和共享代码的便捷方式。以下是对GitHub的详细介绍: ### 一、GitHub的基本功能 1. **代码托管**:GitHub允…...
【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面之Tabs(三)
学完时间:2024年8月14日 一、前言叨叨 学习HarmonyOS的第六课,人数又成功的降了500名左右,到了3575人了。 本文接上一文章【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面(一),继续记录构建更…...
Detectron2 安装指南
文章目录 前言Detectron2官方文档官方指南 安装 Detectron2虚拟环境安装 PyTorch安装 Detectron2 总结 前言 Detectron2 是 Meta AI 的一个机器视觉相关的库,建立在 Detectron 和 maskrcnn-benchmark 基础之上,可以进行目标检测、语义分割、全景分割&am…...
亚马逊 Linux mysql5.7 安装纪录
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz cp /home/admin/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql #解压压缩包 tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 重命名mysql-…...
ZLMediaKit编译webrtc
ZLMediaKit官方文档写的挺详细的,但是也不算特别详细。 按照上面的文档,执行到cmake的时候,会提示“srtp 未找到, WebRTC 相关功能打开失败”,但是cmke还是可以继续啊。此时看文档说webrtc比较复杂,默认是不编译的&am…...
KEEPALIVED高可用集群最详解
目录 一、高可用集群 1.1 集群的类型 1.2 实现高可用 1.3 VRRP:Virtual Router Redundancy Protocol 1.3.1 VRRP相关术语 1.5.2 VRRP 相关技术 二、部署KEEPALIVED 2.1 keepalived 简介 2.2 Keepalived 架构 2.3 Keepalived 环境准备 2.3.1 实验环境 2…...
【大模型】llama-factory基础学习
前言:LLaMA-Factory项目的目标是整合主流的各种高效训练微调技术,适配市场主流开源模型,形成一个功能丰富,适配性好的训练框架。 目录 1. 前期准备2. 原始模型直接推理3. 自定义数据集4. 模型训练5. 模型合并并导出 1. 前期准备 …...
【Java】如何使用jdbc连接并操作MySQL,一文读懂不迷路,小白也能轻松学会
JDBC的原理 JDBC(Java Database Connectivity)是Java提供的用于连接和操作数据库的API。它允许Java应用程序与各种数据库进行交互,以下是JDBC的基本原理: 驱动程序管理:JDBC使用不同的数据库驱动程序来连接不同类型的…...
为爱直播视频/太原seo网络优化招聘网
afka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。 Kafka Tool提供了一个较为直观的UI可让用户快速查看Kafka集群中的对象以及存储在topic中的消息,提供了一些专门面向开发人员和管理员的功能,主要特性包括: 快速查看所有Kafka…...
贾汪徐州网站开发/优化关键词排名推广
详细介绍了Wes的想法.在自定义PathEvaluator中,您需要设置分支状态以记住第一个关系的方向.所有后续访问都会检查最后一个关系是否与方向匹配.在伪代码中:class SameDirectionPathEvaluator implements PathEvaluator {public Evaluation evaluate(Path path, Branc…...
哪个网站做logo设计师/推广软文平台
来看一下题目,给定一个整数数组,另外给定一个数,如果在数组中两个数相加等于这个数,获得这两个数的索引,两个数不能重复,而且假设每个数最多只有一组数存在于数组中。 Example:Given nums [2, 7, 11, 15],…...
商丘网站制作推广/嘉兴网站建设
一、解决什么问题1、html中img引入的图片地址没有被替换,找不到图片2、html公共部分复用问题,如头部、底部、浮动层等二、html中img引入图片问题解决1、在index.html插入img,引用图片2、npm run dev运行结果如下:因为图片地址没有…...
本地安装wordpress nginx/软文投放平台有哪些?
Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量代码,就能够快速的抓取到数据内容。Scrapy使用了Twisted异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架…...
武汉北京网站建设公司/谷歌google浏览器官方下载
假设我有以下两个表:STUDENTstudentid lastname firstname1 Smith John2 Drew NancySTUDENT_STORYstudentid dateline storyid status1 1328313600 10 21 1328313601 9 12 1328313602 14 22 1328313603 12 1现在,我需要一个SQL查询,将选择每个学生以及该学生在学生故…...