1、数据结构数组链表数据Information system and society数据与数据结构(一)数据数组链表数据结构Information system and society数据结构数组链表数据l 数据的表现形式数据的表现形式文字图形图像视频音频数字、数值Information system and society数据结构数组链表数据l 数据的表现形式数据的表现形式数字数字数字本身没有意义,没有量的含义,数字只有在具体的情境中才具有实际的意义。Information system and society数据结构数组链表数据l 数据的表现形式数据的表现形式数值数值数值指的是由数字符号组成的
2、、具有量的意义的、可以进行算术运算的数据。甲乙144KMt速度=144KM/t丙xKM甲地到丙地的距离=144KM+xKMInformation system and society数据结构数组链表数据l 大数据推动人类进入一个崭新的时代大数据推动人类进入一个崭新的时代 收集的数据有时并不直接具备价值和意义,要从收集的数据中得到有价值的信息,必须根据需要建立计算模型,然后设计算法对数据进行在加工与分析前,还需要对数据进行有效的组织,使数据变得“干净”而又有“组织”。数据挖掘大数据不单指数据的海量,而是针对具有“4V”特征的数据。大数据技术是指提高对这些数据的“加工能力”,通过“加工”实现数据“
3、增值”的一系列硬件和软件技术的综合。什么是大数据?Information system and society数据结构数组链表数据l 思考思考为什么现实中我们很少会关注“数字”和“数值”的差别,但在计算机科学领域,却必须严格地区分并且在编程时还要定义各种数据类型?Information system and society数据结构数组链表数据Information system and society数据结构数组链表数据l 数据结构的概念数据结构的概念数据元素是数据的基本单位。有些情况下,数据元素也称为元素、结点、顶点、记录等。1.数据元素(Data Element)Information s
4、ystem and society数据结构数组链表数据l 数据结构的概念数据结构的概念 每一行实际内容(也称为一条记录)就是数据元素 而每个元素又由5个数据项(“代码”“名称”“最新价格”“动态市盈”“流通股本”)组成。这个表中一共有多少个数据元素?1.数据元素(Data Element)10Information system and society数据结构数组链表数据l 数据结构的概念数据结构的概念 第三个数据元素的第三个数据项的名称为什么?值为什么?1.数据元素(Data Element)第四个数据元素的第四个数据项的名称为什么?值为什么?Information system and s
5、ociety数据结构数组链表数据l 数据结构的概念数据结构的概念2.数据类型(Data Type)数据类型指的是具有相同性质的计算机数据的集合及在这个数据集合上的一组操作。数据类型可以分为基本数据类型(也称为原子数据类型)和结构数据类型。基本数据类型由计算机编程环境提供,编程者可以在编程时直接用系统提供的标识符进行定义,如Python编程语言中的整型、实型、布尔型等。结构数据类型是在程序设计时利用基本数据类型构造出的、复合的新类型,这种新类型由用户根据实际需要定义,能较好地描述数据元素数据项组成以及数据元素之间的逻辑关系,方便用户根据数据之间逻辑关系的特点进行数据处理,如很多编程语言中提供的记
6、录类型、集合等。基本数据类型结构数据类型Information system and society数据结构数组链表数据l 数据结构的概念数据结构的概念3.数据结构(Data Structure)数据结构指的是数据之间的相互关系,即数据的组织形式。它包括了以下三个方面的内容:数据元素之间的逻辑关系,也称为数据的逻辑结构。数据元素及其关系在计算机存储器内的表示,也称为数据的存储结构或物理结构。数据的运算,即对数据施加的操作。Information system and society数据结构数组链表数据l 常见的数据结构常见的数据结构 数组 链表 队列 栈 树 图Information syst
7、em and society数据结构数组链表数据l 常见的数据结构常见的数据结构数组数组第1个 第2个 第3个 第4个这批数据序列可用数组a(1)=李彤a(2)=张强a(3)=胡洁a(4)=杜刚来表达。现实中表示一批数据,有时不仅需要描述数据对象本身,还需要描述数据所处的位置或者数据之间的前后顺序关系,便可以用数组这种数据结构来实现(存储的都是同种数据类型)排队:Information system and society数据结构数组链表数据l 常见的数据结构常见的数据结构数组数组 成绩:xmiyuweni次雨101乐映寒102翦静竹105聂宛亦108邬晨欣104尉迟书雁115司豫118数组x
8、m存储姓名,yuwen存储语文成绩。xm1存储的是次雨的姓名,yuwen1存储的是次雨的语文成绩。现实中表示一批数据,有时不仅需要描述数据对象本身,还需要描述数据所处的位置或者数据之间的前后顺序关系,便可以用数组这种数据结构来实现(存储的都是同种数据类型)Information system and society数据结构数组链表数据l 常见的数据结构常见的数据结构数组数组 成绩:xmiyuweni次雨101乐映寒102翦静竹105聂宛亦108邬晨欣104尉迟书雁115司豫118现实中表示一批数据,有时不仅需要描述数据对象本身,还需要描述数据所处的位置或者数据之间的前后顺序关系,便可以用数组这
9、种数据结构来实现(存储的都是同种数据类型)编写python程序,遍历yuwen数组,并求总成绩。(在python中可以用列表模拟数组)Information system and society数据结构数组链表数据l 思考思考问题一:现实生活中,有哪些数据适合用数组来存储?问题二:军训排队时,你是如何记住自己的位置的?超市商品的价格特点:同种数据类型统计全班同学的生日杭州到全国各省会城市的机票价格l 常见的数据结构常见的数据结构链表链表 吴坚知道自己排在首位,王林知道排在自己前面的是吴坚,黄刚知道排在自己前面的是王林,李丰知道排在自己前面的是黄刚。有了这些相邻人员之间的链接关系,即使休息时大家
10、分散在各处,一旦需要集合,大家可以根据链接关系快速地按照原顺序排成队伍。虽然整队前后每个人员的站位地点发生改变,但相互之间排队的顺序关系是不变的。Information system and society数据结构数组链表数据l 常见的数据结构常见的数据结构链表链表抽象化后的排队链接关系 组织、处理一批数据时,若不关心数据实际所处的具体位置,而只需知道数据之间相互链接的顺序时,可以借鉴上面的方法。在计算机科学中,这种方法的具体实现形式就是链表。Information system and society数据结构数组链表数据Information system and society数据结构数组
11、链表数据l 常见的数据结构常见的数据结构链表链表单向链表头节点,便可以从head指向的头节点开始依次遍历链表中的每个节点思考:该链表的指针指向的是前面还是后面?Information system and society数据结构数组链表数据l 常见的数据结构常见的数据结构链表链表双向链表单链表的基础上,增加一个指向前趋节点的链接Information system and society数据结构数组链表数据l 常见的数据结构常见的数据结构链表链表基于单向链表的循环链表单链表的基础上,在链表的首尾之间增加链接Information system and societyl 巩固练习巩固练习字符串字
12、符串整型整型数字、数值、数字、数值、图像、图形图像、图形数据结构数组链表数据Information system and societyl 巩固练习巩固练习B BB B数据结构数组链表数据Information system and societyl 总结总结 数组的特点?不仅需要描述数据对象本身,还需要描述数据所处的位置或者数据之间的前后顺序关系 链表的特点?只需知道数据之间相互链接的顺序数据结构数组链表数据Information system and societyl 总结总结 何为单向链表、双向链表、基于单向链表的循环链表?数据结构数组链表数据单向链表双向链表基于单向链表的循环链表信息系统的组成及功能Information system and society