- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用标准文案
文档
.1 算法和数据结构的基本概念
1.算法
(1)算法的基本概念
算法是指解题方案的准确而完整的描述。
A.算法的基本特征:①可行性;②确定性;③有穷性;④拥有足够的情报。
B.算法的基本要素:①算法中对数据的运算和操作:基本的运算和操作包括算术运算、逻辑运算、关系运算和数据传输;②算法的控制结构:基本的控制结构包括顺序结构、选择结构、循环结构。
C.算法设计的基本方法:①列举法;②归纳法;③递推;④递归;⑤减半递推技术;⑥回溯法。
(2)算法的复杂度
算法的复杂度主要包括时间复杂度和空间复杂度。
A.算法的时间复杂度:是指执行算法所需要的计算工作量。算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数。即:算法的工作量=f(n)其中n是问题的规模。
B.算法的空间复杂度:一般是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占用的存储空间以及算法执行过程中所需要的额外空间。
2.数据结构的基本概念
数据结构作为计算机的一门学科,主要研究和讨论以下三个方面的问题:
①数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构;
②在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构;
③对各种数据结构进行的运算。
(1)数据结构的定义
①数据结构是指相互有关联的数据元素的集合。
②数据处理是指对数据集合中的各元素以各种方式进行运算,包括插入、删除、查找、更改等运算,也包括对数据元素进行分析。
③数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。
④数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。常用的存储结构有顺序、链接、索引等存储结构。
(2)数据结构的图形表示
在数据结构的图形表示中,对于数据集合D中的每一个数据元素用中间标有元素值的方框表示,一般称之为数据结点,简称结点;为了进一步表示各数据元素之间的前后件关系,对于关系R中的每一个二元组,用一条有向线段从前件结点指向后件结点。
(3)线性结构与非线性结构
如果一个非空的数据结构满足下列两个条件:
①有且只有一个根结点;
②每一个结点最多有一个前件,也最多有一个后件。
则称该数据结构为线性结构。如果一个数据结构不是线性结构,则称为非线性结构。
1.2 线性表和线性链表
1.线性表
(1)线性表的基本概念
线性表(Linear List)是最简单、最常用的一种数据结构。
线性表是由n(n≥0)个数据元素组成的一个有限序列,表中的每一个数据元素,除了第一个外,有且只有一个前件,除了最后一个外,有且只有一个后件。
(2)线性表的顺序存储结构
线性表的顺序存储结构具有以下两个基本特点:
①线性表中所有元素所占的存储空间是连续的;
②线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。
(3)顺序表的插入运算
在线性表采用顺序存储结构时,如果插入运算在线性表的末尾进行,即在第n个元素之后(可以认为是在第n+1个元素之前)插入新元素,则只要在表的末尾增加一个元素即可,不需要移动表中的元素;如果要在线性表的第1个元素之前插入一个新元素,则需要移动表中所有的元素。
(4)顺序表的删除运算
在线性表采用顺序存储结构时,如果删除运算在线性表的末尾进行,即删除第n个元素,则不需要移动表中的元素;如果要删除线性表中的第1个元素,则需要移动表中所有的元素。
2.线性链表
(1)线性链表的基本概念
在线性链表中,各数据元素之间的前后件关系是由各结点的指针域来指示的,指向线性表中第一个结点的指针HEAD称为头指针,当HEAD=NULL(或0)时称为空表。
(2)线性链表的基本运算
线性链表的运算主要有:线性链表的插入、删除、查找、合并、分解、逆转、复制、排序等。
①在线性链表中查找指定元素
在非空线性链表中寻找包含指定元素值x的前一个结点p的基本方法如下:从头指针指向的结点开始往后沿指针进行扫描,直到后面已没有结点或下一个结点的数据域为x为止。当线性链表中不存在包含元素x的结点时,则找到的p为线性链表中的最后一个结点号。
②线性链表的插入
为了在线性链表中插入一个新元素,首先要给该元素分配一个新结点,它可以从可利用栈中取得。然后将存放新元素值的结点链接到线性链表中指定的位置
您可能关注的文档
- 0900初中化学公式大全.doc
- A级2013年6月高等学校英语应用能力考试真题.doc
- 传染病医院建筑设计要求规范.doc
- 从06年文综历史试题谈07年高考历史复习安庆.doc
- 二年级部编语文下册第二单元教案设计.doc
- (最新版)中华优秀传统文化教学设计课题(山东教育出版社)【一年级】.doc
- 2017年水泥企业有限空间作业安全系统规章制度.doc
- 全套4850测量程序.doc
- 小学语文知识点地分解.doc
- 信息安全系统术语大全中英文对照.doc
- 2025年天津市冷链物流基地配套道路建设可行性研究报告.docx
- 2025年天津市母婴护理会所专业化服务升级路径可行性研究报告.docx
- 2025年成都市私立医院医美抗衰中心创建可行性研究报告.docx
- 2025年成都市淡化海水在城市道路清洗领域的应用可行性研究报告.docx
- 2025年上海市环卫厨余垃圾生物处理技术应用可行性研究报告.docx
- 2025年天津市花西子针对户外运动妆容的可行性.docx
- 2025年上海市生物发电于秸秆炭化还田协同发电的可行性研究.docx
- 2025年天津市物造纸在可降解农用地膜领域的应用可行性研究报告.docx
- 2025年天津市无人值守充电站智能运维可行性研究报告.docx
- 2025年天津市竹荪种植连作障碍防治技术可行性研究报告.docx
文档评论(0)