内容正文:
第一章│数据与数据的组织
第1课 数据与数据的组织(见学生用书P1)
——1.1 数据 1.2 数据的组织,教材P3~30
1.理解数字、数值和数据的基本含义。 2.了解数据对现代社会发展的作用。 3.理解数据结构的概念。 4.了解常见数据结构的特点及适用问题。 5.认识到数据结构在程序设计中的重要作用。 6.能针对简单的具体问题明确数据需求,确定问题模型,并抽象出合适的数据结构。
1.数据及其表现形式
(1)数据是对客观事物的性质、状态以及相互关系等进行描述的__物理符号__表示或这些符号表示的组合。
(2)数据的表现形式不仅有__数字__和__数值__,还有__文字__、__图形__、__图像__、__音频__、__视频__等。
①数字是指由阿拉伯数字“0~9”或其他含义相同的符号表示;单独的数字是__没有__意义的,只有在__具体的情境__中才具有实际意义。
②数值指的是由数字符号组成的、具有量的意义的、可以进行__算术运算__的数据。
③数字化时代中,数据更多地指__用计算机进行处理__的符号表示的总称。在编程时,给变量和常量设定数据类型并以某种方式告诉计算机,计算机就可以判别符号所处的具体情境。
④数据的其他表现形式:计算机能在快速处理图形、图像、音频、视频等数据的基础上做出即时的互动反应(如利用虚拟现实技术实现的活动或游戏),甚至能做出一些人类特有的智能化行为(如无人驾驶汽车等)。
2.数据的价值与意义
(1)数据促进了人类社会的发展。人类在数据表示的基础上,对数据进行进一步处理和分析,数据才真正成为推动生产力发展的要素。
(2)大数据推动人类进入一个崭新的时代。
3.数据结构的概念
(1)在计算机程序设计中,根据问题求解的需要,对数据进行有效的整理和组织,并以一定的形式加以存储和表示的过程称为数据结构的设计。计算机程序设计的本质是算法与数据结构的设计。
(2)数据元素
①数据元素是数据的基本单位。
②有些情况下,数据元素也称为元素、节点、顶点、记录等。
③有时一个数据元素可以由若干个数据项(也称为__字段__、__域__)组成,数据项是具有独立含义的__最小数据__表示单位。
(3)数据类型
①数据类型指的是具有相同性质的计算机数据的__集合__以及在这个数据集合上的__一组操作__。
②数据类型可以分为__基本数据类型__(也称为原子数据类型,如__整型__、__实型__、__布尔型__等)和__结构数据类型__(如记录类型、集合等)。
(4)数据结构
数据结构指的是数据之间的__相互关系__,即数据的组织形式。它包括了以下三个方面的内容:
①数据元素之间的__逻辑关系__,也称为数据的__逻辑结构__。
②数据元素及其关系在计算机存储器内的表示,也称为数据的__存储结构__或__物理结构__。
③数据的运算,即对数据__施加的操作__。
(5)数据结构设计的目的是使数据元素间的相互关系能准确地反映现实问题中的__事物逻辑__,既确保数据处理的__正确性__,又提高编程实现和数据处理的__效率__。
4.常见的数据结构
常见的数据结构有__数组__、__链表__、__队列__、__栈__、__树__和图等。
(1)数组
①数组这种数据结构既可以描述数据对象本身,还可以描述数据所处的位置或者数据之间的前后顺序关系。
②用数组来组织数据时,既可以快速地通过__下标__精确地访问序列中的某个数据元素,又可以方便地通过变量名后面的下标依次按顺序__遍历__序列中的每个数据元素。
(2)链表
①数据之间具有明确的相互链接的前后顺序,但对数据对象本身的位置信息不作要求。
②链表存储的是数据之间的__相互链接顺序__。常用的链表形式有:__单向链表__、双向链表和循环链表。
单向链表:为了记录、识别各个链表,需要在链表首部设立一个头节点,同时用一个变量head记住这个头节点,这样就可以从head指向的头节点开始依次逐个遍历链表中的每个节点。
双向链表:为了满足链表在正序、逆序都能进行遍历的需要,会在单向链表的基础上给每个节点增加一个指向前驱节点的链接。
循环链表:在单向链表或双向链表的头部和尾部之间增加链接。
(3)队列
①队列的特点是:__先进先出(FIFO)__或后进后出(LILO)。
②插入和取出数据分别在队列的两端进行。在队列的__尾部__插入数据(__入队__),从队列的__头部__取出数据(__出队__)。
(4)栈
①栈的特点是:__先进后出(FILO)__或后进先出(LIFO)。
②插入和取出数据在栈的__同一端__进行。栈的一端封闭,一端开放,插入数据(__入栈__)和取出数据(__出栈__)都是在开放的一端进行。
(5)树
①一个元素前面(或上面)只有一个元素,而后面(或下面)却有多个(0个或多个)元素相邻,所有数据元素之间的关系特征就像一棵倒放的树。
②数组、队列、栈、链表都是线性的数据结构,而树是一种__非线性__的数据结构。
5.数据结构的作用
(1)设计算法解决问题离不开数据结构
针对数据之间的关系特点设计数据结构,使用适合的方法对数据进行记录,可以减少设计算法及编写程序的工作量,提高编程实现和数据处理的效率。
(2)不同数据结构会导致处理效率的不同
对于同一问题的解决,若依据不同的数据结构来设计算法,则算法的处理效率、程序的实现效率也会不同。
1.遍历:遍历指的是根据数据之间的逻辑结构,遵循一定的顺序依次对所有数据元素做一次且仅做一次访问。
2.数据结构图示:
(1)单向链表
(2)双向链表
(3)基于单向链表的循环链表
(4)基于双向链表的循环链表
(5)队列
(6)栈
下列关于数据的说法中,不正确的是( B )
A.数据是对客观事物的物理符号表示
B.数据就是数字
C.在数据进行加工处理时,需要对数据进行分类并用合理的方式来组织数据
D.随着技术的发展,数据的表现形式将越来越丰富
【解析】 数字只是数据的一种表现形式,除了数字外,数据的表现形式还包括数值、文字、图形、图像等,选项B错误。
变式1 下列关于数字、数值、数据的说法中,不正确的是( B )
A.“饮料的价格为5元”——“5”是数字
B.“观看电影后对生活重燃了希望”——“重燃了希望”是数据
C.“李老师任教315班的数学”——“315”是数字
D.数字和数值都是数据的表现形式
【解析】 数据是对客观事物的符号化表示,数据的主要表现形式有数字、数值、文字、图形、图像、音频和视频,选项B中“重燃了希望”只是一种内心的变化,因此不属于数据,选项错误。
下列关于数据的说法中,不正确的是( D )
A.数据促进了人类社会的发展
B.数据是人类与客观世界进行对话的接口,对人类有着极其重要的价值和意义
C.人类社会是在数据的表示和分析中不断发展前进的
D.大数据不会带来社会问题,在对大数据的开发利用过程中也不会泄漏人们的隐私
【解析】 大数据会带来新的社会问题,如信息泄漏、数据安全、个人隐私甚至是伦理道德等方面的社会问题,选项D错误。
解决不同的实际问题,人们需要根据实际情况选择不同的数据结构来组织数据。下列说法正确的是( B )
A.一个有底的玻璃筒只能在开放的一端放取乒乓球,符合队列的特性
B.火车站或者飞机场会在电子屏上滚动显示最近的班次信息,可以采用链表组织数据
C.计算机操作系统中文件夹的组织与管理,通常借助栈来组织、保存和处理数据
D.用户单击浏览器的“后退”按钮可以回到刚才浏览过的网页,通常采用树结构进行网页数据的组织
【解析】 选项A,一个有底的玻璃筒只能在开放的一端放取乒乓球,符合栈的特性,选项错误;选项C,计算机操作系统中文件夹的组织与管理,通常借助树来组织、保存和处理数据,选项错误;选项D,用户单击浏览器的“后退”按钮可以回到刚才浏览过的网页,通常采用栈结构进行网页数据的组织,选项错误。
变式1 2023·学军中学检测下列关于数据与数据结构的说法中,不正确的是( D )
A.在链表中,一个节点就是一个数据元素
B.在二维表中,一条记录中的一个字段是一个数据项
C.数据结构在设计时需要考虑数据处理的效率
D.数据结构是指数据的逻辑结构和存储结构,不包括数据的运算
【解析】 选项A,每个节点都是数据元素,节点中的值和指针是数据项,选项正确;选项B,一条记录是数据元素,字段是数据项,选项正确;选项C,数据结构要考虑数据的存储结构、逻辑结构和数据运算,选项正确。
变式2 下列关于数据结构的说法中,不正确的是( D )
A.在程序设计中,数据结构设计时主要考虑对象之间逻辑关系的实现
B.链表结构适用于初始规模确定但在处理过程中频繁进行插入、删除操作的问题
C.数组结构中的数据访问效率要高于链表结构
D.大多数软件中都有“撤销”功能,在撤销操作中内部依托的数据结构是队列
【解析】 在撤销操作中内部依托的数据结构是栈,选项D错误。
变式3 采用链式存储线性表时,如果要进行插入和删除操作,则在算法的执行效率方面与采用顺序存储的线性表进行比较,下列说法正确的是( D )
A.插入操作和删除操作的效率都要低
B.插入操作的效率要低,删除操作的效率要高
C.插入操作的效率要高,删除操作的效率要低
D.插入操作和删除操作的效率都要高
【解析】 链表是采用链式存储结构的线性表,进行插入、删除操作时,在链表中比在顺序表中效率高,选项D正确。
|随|堂|检|测|
1.下列关于数字、数值、数据的说法中,不正确的是( B )
A.数字是用来表示数据的书写符号
B.数据表示越简单,事物的表示就越准确
C.一个量用数字表示时,这个数字称为这个量的数值
D.数据是信息的载体
【解析】 数据表示越详细,事物的表示就越准确,选项B错误。
2.下列事例中不能体现数据的价值和意义的是( C )
A.企业根据商品的销售库存数据来规划下一年的商品生产量
B.某地区根据当前学校学生的数量和未来人口的增长趋势来判断是否需要增设新学校
C.警察通过察言观色来判断当事人是否为犯罪嫌疑人
D.医院根据病人特征数据和疗效数据找到病人的最佳治疗方案
【解析】 警察通过察言观色来判断当事人是否为犯罪嫌疑人,不能体现数据的价值和意义,选项C错误。
3.下列关于数据结构的说法中,正确的是( C )
A.“撤销”操作,是“队列”的应用
B.排队就餐,是“栈”的应用
C.“链表”存储相邻节点不需要连续空间
D.“树”中每个节点的前后都只有一个相邻节点
【解析】 选项A,“撤销”操作,是“栈”的应用,选项错误;选项B,排队就餐,是“队列”的应用,选项错误;选项D,“树”中每个节点后可以有多个相邻节点,选项错误。
4.2023·玉环中学检测数据结构在解决问题的过程中有重要作用,下列对数据结构的分析正确的是( B )
A.对同一事物,只能构造出一种数据结构
B.选择的数据结构不同,解决问题的步骤也可能不同
C.数据逻辑结构中相邻的数据,其存储位置也一定相邻
D.对同一操作如插入、删除等,不同数据存储结构的实现方法相同
【解析】 选项A,对同一事物,可以构造出多种不同的数据结构,选项错误;选项C,数据逻辑结构中相邻的数据,其存储位置也不一定相邻,如数组中相邻数据的存储位置是相邻的,而链表中相邻数据的存储位置就不一定相邻,选项错误;选项D,对同一操作如插入、删除等,不同数据存储结构的实现方法不一定相同,如队列的数据插入和删除与栈的操作方法是不一样的,选项错误。
学科网(北京)股份有限公司
$$