- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《第1章 概述》习题解答new.doc
第1章 概 述
本章学习要点
◆了解数据结构的相关概念。
◆了解并掌握数据的4种基本逻辑结构的特点。
◆了解数据的各种基本存储结构。
◆了解算法的相关概念,并能分析各种算法的时间复杂度和空间负责度。
数据结构(Data Structures)是随着计算机科学的发展而逐步形成的一门学科,目前已成为高等院校中计算机类各专业的核心课之一,同时也是统计类、经济类和工程软件设计类各专业的必修课程。本章的主要内容是对数据结构的基本概念和基本内容作一概要介绍,为此,简单回顾一下数据结构的发展与形成过程对于理解数据结构的内容和重要性是很有必要的。
1.1 数据结构的发展概况
众所周知,在40年代计算机刚诞生时,计算机所能处理的数据只能是由0或1组成的二进制数,此时还谈不上什么结构。后来虽然计算机可以处理十进制整数和十进制实数,也不过是由0到9这十个数字组成的序列,或再加上小数点,其数据的结构非常简单没有研究它的必要。
由于计算机技术的飞速发展和数据处理能力的不断提高,到60年代中期,各种高级程序设计语言相继出现,所能描述的数据类型逐渐丰富。例如,在FORTRAN语言中允许使用复数类型和数组类型数据。其中,复数是两个实数的有序对,而数组是同类型数据的一个有限序列,这自然是一种“结构”。在COBOL语言和PL/1语言中允许使用字符类型和记录类型数据,将计算机的应用领域由数值计算进一步扩充到非数值计算。其中,记录就是一种“结构”类型的数据,它把一组相互关联的不同类型的数据看作一个整体构成一种新的“结构类型”数据。有了“结构类型”的概念之后,各个数据之间不再孤立,这样便于表示和储存,也便于处理。后来,在LISP语言中又定义了一种带有层次性的表结构,并定义了许多相应的运算。这种层次结构是一种非线性的树型结构,也是本书中将要着重讨论的内容之一。
数据结构作为一门课程的形成和发展主要是在60年代后期。首先,在1968年由美国计算机协会(ACM)颁发了建议性的计算机教学计划,其中规定数据结构作为一门独立的课程,这在世界上是第一次。同一年,美国的计算机科学家D.E.Knuth教授在他的巨著《计算机程序设计的技巧》详细论述了数据的逻辑结构和数据的存储结构,并对各种结构给出了典型算法,为数据结构作为一门课程奠定了理论基础。
70年代初,随着大型程序以及大规模文件系统的出现,结构程序设计成为程序设计方法学的主要内容。在程序设计中,数据结构受到了极大的重视。认为程序设计的实质就是对要处理的问题选择一种最为适合的数据结构,同时在此结构上施加一种好的算法。1976年瑞士著名计算机科学家N.Wirth编著的《算法+数据结构=程序》一书正是这种程序设计思想的具体体现。
70年代中后期,由于数据库系统和数据检索系统的不断发展,在数据结构中进一步增加了文件管理的内容以及B-树和B+树的知识,使数据结构的内容得以丰富和进一步完善。从80年代开始,在我国高等院校的教学计划中已经将数据结构课程列为计算机类各专业的核心课程之一,在许多非计算机专业也把数据结构作为必修课或选修课程。数据结构是一门介于数学、计算机硬件和计算机软件三者之间的计算机专业基础课,是程序设计方法学、数据库系统、操作系统、编译原理、软件工程学等课程的先修课程,是设计和实现大型应用软件的基础。
1.2 数据结构的基本术语和相关概念
数据(data)是能输入到计算机中并能被计算机处理的符号的总称,是计算机程序的加工“原料”。需要说明的是,这里的“数据”绝对不能狭义地理解为仅仅是数学中的整数或实数而已,必须作广义的理解。例如,一个有某种功能源程序,一个文件,一张图画,一段声音等等都可以通过编码而归纳为数据的范畴。
数据元素(data element)是数据的基本单位,在计算机程序中通常作为一个整体进行处理。由于数据的范围非常广泛,因此数据元素可大可小,小到一个字符;大到一本书或一张地图等等。对于较大的数据元素还能进一步分成若干个“数据项(data item)”,每个数据项也可以是由几个更小的数据项组成,这样的数据项称为“组合项”,不能再分的数据项称为“原子项”。例如,一本书的目录信息作为一个数据元素,是由各章的目录组成的,而每章的目录又是由该章中各小节的目录组成。各章的目录信息就是组合项,如果每一小节的目录不能再分成更小的单位,则称其为原子项,否则称为组合项。
关键字(key)是指数据元素中能够起标识作用的数据项。其中能够起唯一标识作用的数据项称为“主关键字”,反之称为“次关键字”。例如,每个学生的信息可以看成是一个数据元素,其中的数据项有:学号、姓名、性别、年龄和班级等等,由于每个学生都有一个唯一的学号,所以数据项“学号”是主关键字,而姓名可能存在重复所以数据项“姓名”是次关键字。
数据对象(data object)是
您可能关注的文档
- 新泰一中老校高二期中物理试题new.doc
- 信息管理系统25698.doc
- 天文学术团体.doc
- 《大学英语》(一)精读+写作模块 课程教学大纲.doc
- 科学探究与教学内容的选择.doc
- 2013版用于立项新型城市轨道交通车辆轴承项目可行性研究报告(甲级资质)审查要求及编制方案new.docx
- 2012年单招招生简章.doc
- 大学英语317652.doc
- 地质所2013年新生入学须知.doc
- 全自动互感器校验台说明书.doc
- 2025江西上饶市婺源县“5+2就业之家”暑期期间志愿者招募备考题库最新.docx
- 2025江苏镇江市京口区大市口街道办事处编制外城管协管员招聘3人备考题库推荐.docx
- 2025江苏镇江市京口区大市口街道办事处编制外城管协管员招聘3人备考题库及答案1套.docx
- 2025年高端新材料市场细分与重点企业竞争力分析报告.docx
- 2025江苏镇江市京口区大市口街道办事处编制外城管协管员招聘3人备考题库及答案1套.docx
- 2025年分拣机器人市场竞争格局与行业应用现状分析.docx
- 2025年堆垛机器人技术突破对仓储效率影响及市场报告.docx
- 2025江苏镇江句容市边城镇选拔村级后备人才招聘5人备考题库最新.docx
- 2025江西上饶市市直事业单位遴选49人备考题库最新.docx
- 深度解析(2026)《GBT 24710-2009地理标志产品 坦洋工夫》(2026年)深度解析.pptx
最近下载
- 金融风险管理(中央财经大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 2025年水体富营养化微生物修复技术效果评价报告.docx
- 新版人教版小学数学四年级上册期末综合试题 含 答案.docx
- Nigerian Investment Promotion Committee尼日利亚投资促进委员会Investment Guide入门指南.pdf
- 给排水国标图集-05SS521:预制装配式钢筋混凝土排水检查井.pdf VIP
- 世界职业院校技能大赛.pptx VIP
- 《铁路劳动安全》高职铁道类专业安全教育培训全套教学课件.pptx
- 竣工资料整理资源配置要点.docx VIP
- “空巢老人”的专职司机.pdf VIP
- 台凌(TAILING)tl100变频器说明书使用手册.pdf
原创力文档


文档评论(0)