- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
二级公共基础知讲义
二级公共基础知识讲义
算法和数据结构 16-18
程序设计 2-4
软件工程 6-8
数据库设计 4-6
第一部分:算法与数据结构
算法.
算法的概念
算法的复杂度.
算法的概念
算法就是指解题方案的准确而完整地描述
1)算法的基本特征
可行性
确定性
有穷性
拥有足够的情报 (输入、输出)
2)算法的基本要素
算法:数据项,运算,控制结构,数据传输
一是数据对象的运算和操作
二是算法的控制结构
运算种类(算术运算+-*/,关系运算=,逻辑运算and or not,数据传输)
控制结构由三种组成(顺序结构,分支结构,循环结构)
3)常用的算法
列举法
归纳法
递推法
递归法
减半递推技术
算法的复杂度
(时间复杂度,空间复杂度)
时间复杂度(执行算法所需要的计算工作量,也就是算法执行过程中所需要的基本运算次数,与命令的多少无关)
空间复杂度(执行一个算法所需要的内存空间,与硬盘的存储空间无关)
时间复杂度和空间复杂度没有联系
数据结构
【引言】
主要研究问题:
数据集合中各元素之间所固有的逻辑关系,既数据的逻辑结构;
在对数据进行处理时,各个元素在计算机中的存储关系,既数据的存储结构;
对各种数据结构进行的运算。
什么是数据结构:
数据结构是研究大量数据在计算机中存放和组织方法的计算机科学
数据的逻辑结构和存储结构
数据结构是说数据集合中各元素之间的前后件关系。如一年四季的顺序关系:
{春、夏、秋、冬} 春是夏的前件,夏是春的后件
在家庭成员间的关系中,父亲是儿子和女儿的前件,儿子和女儿都是父亲的后件:
一个结构应包含以下两个方面的信息
表示数据元素的信息(通常用D表示)
表示各个元素之间的前后件关系(通常用R表示)所以一个结构可以表示成 B=(D,R)
逻辑结构是反映数据元素之间逻辑关系的抽象描述,而不考虑数据在计算机中存储方式。逻辑结构分为:线性结构和非线性结构
数据的物理结构:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构),数据元素在计算机存储空间中的位置可能与逻辑关系不同,在数据的存储结构中,不仅要存放个元素的信息,还需要存放各元素之间的前后件关系的信息。常用的存储结构有
顺序 :
链式:
线性结构及其存储结构
线性结构有三种(线性表,栈,队列)
(三.1) 线性表及其顺序存储结构
线性结构的特点是:有且只有一个根结点;每一个结点最多有一个前件,也最多有一个后件。在一个线性结构里插入或删除任何一个结点后应该还是线性结构。
非空线性表的结构特点是:
有且只有一个根结点a1,它没有前件;
有且只有一个终端结点an,它没有后件
除了根结点和终端结点外,其他所有结点有且只有一个前件,有且只有一个后件。
线性表中结点的个数n称为线性表的长度。当n=0时,称为空表。
一般线性表,可以在端点插入删除,也可在中间任何位置插入删除
线性表的顺序存储结构,是说将线性表中的数据顺序存放在存储器中。
线性表中第i个元素ai在计算机存储空间中的存储地址的算法
a1 a2 …… ai 所有元素的存储位置取决于第一个数据元素的存储位置
LOC(ai)=LOC(a1)+(i-1)*C
C表示一个元素所占的存储空间
常见的顺序表的常见处理操作:
插入 删除 查找
注:在顺序表里做插入、删除运算是需要移动大量的元素
(三.2)线性表的链式存储结构(线形链表)
线性表的链式存储结构称为线性链表。在链表中,存储空间的位置关系与逻辑关系不一致。各数据结点的存储序号是不连续的。每个结点有两个部分组成:一部分用于存放数据元素值,称为数据域,另一部分用于存放指针(用来存放下个元素的起始地址)
对于线性链表,沿各结点的指针扫描到链表中的所有结点,在这种链表中,每各结点只有一个指针域,只能找到后件,不能找到前件。这样的链表称为单向链表。
为了弥补这个缺点,在某些应用中,每个结点设置两个指针,一个左指针(llink))
线性链表常见处理操作:插入、删除、查找
线性表的链式存储结构称为线性链表,现行链表的基本运算有查找,插入,删除等
链式存储结构里进行插入、删除元素的时候不需要移动大量元素。
插入前
插入后
删除后
(三.3) 栈及其基本运算
栈是限定在一端进行插入和删除的线性表,特点是“先进后出”,能够进行插入、删除的那一端称为栈顶(top),另一端称为栈底(bottom)。
1 2 3 4 不可能输出顺序____
a ) 1,3,2,4 b) 3,4
您可能关注的文档
最近下载
- Unit 1 I love sports Part 1 (课件)2025-2026学年度外研版(三起)英语四年级上册.pptx VIP
- 高血压指南最新版2025完整版原文.docx VIP
- 四川开放大学《演讲与口才》终结性考核-95分.doc VIP
- HACCP过敏原控制程序.pdf VIP
- 浙江省温州市乐成寄宿中学2022-2023学年高一上学期语文期初月考试卷(含答案).docx VIP
- QBT 2623.4-2003 肥皂试验方法 肥皂中水分和挥发物含量的测定 烘箱法.docx VIP
- 地理信息安全在线培训考试题目完整版答案.docx
- 新代说明书.doc VIP
- 水泥混凝土路面“白改黑”施工工艺.pdf VIP
- 中考语文名著导读《红星照耀中国》专项练习题(含答案)1.doc VIP
文档评论(0)