- 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.算术运算:主要包括加减乘除等运算2.逻辑运算:主要包括“与”“或”“非”等运算3.关系运算:主要包括“大于”“小于”“等于”“不等于”4.数据运输:主要包括赋值、输入、输出等操作。
算法中各操作之间的执行顺序称为算法的控制结构。
一个算法一般都可以用顺序、选择、循环三种基本控制结构组合而成。
算法设计基本方法:列举法、归纳法、递推、递归、减半递推技术。
算法的复杂程度主要包括时间复杂和空间复杂度。
所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
分析算法的两种工作量:平均性态、最后情况复杂性。
一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
一个算法所占用的储存空间包括:算法程序所占的空间、输入的初始数据所占用的存储空间、算法执行过程中所需要的额外空间。
数据结构作为计算机的一门学科,主要研究和讨论以下三个方面的问题:1.数据集合中各数据元素之间固有的逻辑关系,即数据的逻辑结构2.在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构3.对各种数据结构进行的运算。
讨论以上问题的主要目的是为了提高数据的处理效率。所谓的提高数据的处理效率是指:一是提高数据处理的速度,二是尽量节省在数据处理过程中所占用的计算机存储空间。
数据元素再表中的排列顺序对查找效率是有很大影响的。
前后件关系是数据元素之间的一个基本关系,但前后件关系所表示的实际意义随具体对象的不同而不同。一般来说,数据元素之间的任何关系都可以用前后件关系来描述。
所谓数据的逻辑结构,是指反应数据元素之间逻辑关系的数据结构。
数据的逻辑结构在计算机存储空间中的存放形式称为数据结构。
常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的。因此,在进行数据处理时,选择合适的存储结构是很重要的。
在数据结构中,没有前件的结点称为根节点;没有后间的结点称为终端结点。(也称为叶子结点)
数据结构中除了根结点与终端结点外的其他结点称为内部结点。
通常,一个数据结构中的元素结点可能是在动态变化的。
插入与删除是对数据结构的两种基本运算。除此之外,对数据结构的运算还有查找、分类、合并、分解、复制和修改等。在对数据结构的处理过程中,不仅数据结构中的结点(即数据元素)个数在动态地变化,而且,各数据元素之间的关系也有关系也有可能在动态地变化。
如果在一个数据结构中一个元素都没有,则称该数据结构为空的数据结构。
一般将数据结构分为两大类型:线性结构和非线性结构。
如果一个非空的数据结构满足下列三个条件:一、有且只有一个根结点二、每一个结点最多有一个前件,也最多有一个后件。三、在一个线性结构中插入或删除任何一个结点后还应是线性结构。
线性结构又称线性表。
线性表最简单、最常用的一种数据结构。
矩阵也是一个线性表。
在计算机中存放线性表,一种最简单的方法是顺序存储,也称为顺序分配。
线性表的顺序存储结构具有以下两个基本特点:一是线性表中所有元素所占空间必须是连续的;二是线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
这种顺序存储的方式对于元素经常需要变动的大线性表就不太是适合了,因此插入与删除的效率比较低。
栈实际上是线性表。
栈是限定在一端进行插入与删除的线性表。
在栈中允许需插入与删除的一端叫做栈顶,而不允许插入与删除的一端叫做栈底。
S(top)为栈顶元素。Top等于零时表示栈空;top等于m表示栈满。
栈的基本运算有三种:入栈、退栈与读栈顶元素。
队列是指允许在一端进行插入、而在另一端进行删除的线性表。
因此,队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”原则。
往队列的队尾插入一个元素称为入队运算,从队列的排头删除一个元素称为退队运算。
在实际应用中,队列的顺序存储结构一般是采用循环队列的形式。
在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素。
线性表的顺序存储结构存在以下特点:一,对于大的线性表,特别是元素的插入或删除很频繁的情况下,采用顺序存储结构是很不方便的,插入与删除运算的效率都很低;二,顺序存储结构下,线性表的存储空间不便于扩充;三,线性表的顺序存储结构不便于对存储空间的动态分配。
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。
您可能关注的文档
最近下载
- 邮储银行柜员培训课件.pptx VIP
- 2025年浙能集团甘肃有限公司、新能源项目(第二批)招聘17人笔试备考题库及答案解析.docx VIP
- 通威新员工入职培训第一次考试.docx VIP
- 2025广西专业技术人员公需科目培训考试答案(87分);广西“一区两地一园一通道”建设;人工智能时代(1).pdf VIP
- 入学证明怎么写(模板).docx VIP
- GBT 11345-2023 焊缝无损检测 超声检测 技术、检测等级和评定.pdf VIP
- 2025年浙能集团甘肃有限公司、新能源项目(第二批)招聘17人笔试参考题库附答案解析.docx VIP
- 解读《GB_T 44770-2024智能火电厂技术要求》全面解读.docx VIP
- 西安研学旅行策划书3篇.pdf VIP
- 建筑工程识图课件-建筑识图与构造课件.ppt VIP
文档评论(0)