全国计算机等级二级公共课程辅导讲义.doc

全国计算机等级二级公共课程辅导讲义.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录 全国计算机等级考试——二级公共基础知识辅导讲义 1 第一章 数据结构与算法 1 第二章 程序设计基础 7 第三章 软件工程基础 9 第四章 数据库设计基础 16 声明:本文为学吧学吧专稿,不论转载还是传播,必须注明学吧学吧来源,并注明网址。 学吧学吧(),一个全新互联网视频教育平台。秉承孔子“三人行必有我师”的观点,将传统填鸭式的独立学习改变成人与人间的互助学习。以视频教程为切入点,引入全新自主开发的网页聊天软件,在线的网友互相帮助,营造出一个真正的学习环境。 在学吧你能: 学习海量免费视频教程 与在线网友互相帮助互相学习 直接咨询在线教授,完全免费 参与网友活动。同城互动学习! 快来学吧学吧,和大家一起学习吧!!!! 全国计算机等级考试——二级公共基础知识辅导讲义 第一章 数据结构与算法 1.1 算法 算法是指解题方案的准确而完整的描述。算法不等于程序,也不等计算方法程序的编制不可能优于算法的设计。 算法的基本特征 (1)可行性 (2)确定性(3)有穷性算法必须在有限的时间内 3、算法复杂度时间复杂度和空间复杂度。 算法时间复杂度是指执行算法所需要的计算工作量 (2)算法空间复杂度是指执行这个算法所需要的内存空间。1.2 数据结构的基本概念 数据结构是指相互有关联的数据元素的集合。数据结构研究三个方面1)数据集合中各数据元素之间所固有的逻辑关系,即数据的逻辑结构数据的逻辑结构包含:1)表示数据元素的信息;2)表示各数据元素之间的前后件关系。 2)在对数据进行处理时,各数据元素在计算机中的存储关系,即数据的存储结构数据的存储结构有顺序、链接、索引等数据的逻辑结构3)对各种数据结构进行的运算。线性结构条件:1)有且只有一个根结点;2)每一个结点最多有一个前件,也最多有一个后件。 非线性结构:不满足线性结构条件的数据结构。1.3 线性表及其顺序存储结构 线性表由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。 *:线性表是一种存储结构,它的存储方式:顺序和链式。 2、线性表的顺序存储结构具有两个基本特点:(1)线性表中所有元素所占的存储空间是连续的;(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。 3、顺序表的插入、删除运算(学吧学吧独家稿件) (1)1.4 栈和队列 栈是限定在一端进行插入与删除的线性表允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈按照“先进后出”或“后进先出”组织数据。栈的基本运算:1)插入元素称为入栈运算;2)删除元素称为退栈运算;3)读栈顶元素是将栈顶元素赋给一个指定的变量,此时指针无变化。队列是指允许在一端(队尾)进入插入,而在另一端(队头)进行删除的线性表。指针Rear)指向队尾,指针front)指向。队列是“先进出”或“后进后出”的线性表。队列运算包括1)入队运算:从队尾插入一个元素2)退队运算:从队头删除一个元素。循环队列:1.5 线性链表 1、线性表顺序存储的缺点(学吧学吧独家稿件):(1)插入或删除的运算效率很低。在顺序存储的线性表中,插入或删除数据元素时需要移动大量的数据元素;(2)线性表的顺序存储结构下,线性表的存储空间不便于扩充;(3)线性表的顺序存储结构不便于对存储空间的动态分配。 2、线性链表:线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接来实现的。因此,在链式存储方式中,每个结点由两部分组成:一部分用于存放数据元素的值,称为数据域;另一部分用于存放指针,称为指针域,用于指向该结点的前一个或后一个结点(即前件或后件),如下图所示: 线性链表分为单链表、双向链表和循环链表三种类型。 在单链表中,每一个结点只有一个指针域,由这个指针只能找到其后件结点,而不能找到其前件结点。因此,在某些应用中,对于线性链表中的每个结点设置两个指针,一个称为左指针,指向其前件结点;另一个称为右指针,指向其后件结点,这种链表称为双向链表,如下图所示: 3、线性链表的基本运算 (1)在线性链表中包含指定元素的结点之前插入一个新元素。 *:在线性链表中插入元素时,不需要移动数据元素,只需要修改相关结点指针即可,也不会出现“上溢”现象(学吧学吧独家稿件)。 (2)在线性链表中删除包含指定元素的结点。 *:在线性链表中删除元素时,也不需要移动数据元素,只需要修改相关结点指针即可。 (3)将两个线性链表按要求合并成一个线性链表。 (4)将一个线性链表按要求进行分解。 (5)逆转线性链表。 (6)复制线性链表。 (7)线性链表的排序。 (8)线性链表的查找。 *:线性链表不能随机存取。 4、循环链表及其基本运算 在线性链表中,其插入与删除的运算虽然比较方便,但还

文档评论(0)

企业资源 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档