82011全国2级公共基础知识.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
82011全国2级公共基础知识

第一章 数据结构与算法 算法是一组严谨的定义运算顺序的规则,是指令的有限序列。 计算机程序就是按解题要求从计算机指令系统中选择合适的指令所组成的指令序列。 基本运算:算术运算、逻辑运算、关系运算、数据传输。 控制结构:算法中各操作之间的执行顺序。 算法设计的基本方法:列举法、归纳法、递推、递归、减半递推、回溯法。 算法设计的要求:正确性、可读性、健壮性、效率与低存储量需求。 算法的时间复杂度,是指执行算法所需要的计算工作量。取决于问题的规模与待处理的数据的初态。 平均性态:是指用各种特定输入下的基本运算次数的加权平均值来度量算法的工作量。 数据结构:指相互之间存在一种或多种特定关系的数据元素的集合,即数据的组织形式。 提高数据处理效率:1提高数据处理的速度2节省存储空间 数据的逻辑结构:集合、线性结构、树形结构、图形结构。两个要素:数据元素的集合D,数据元素之间的前后关系R。 数据的存储结构:数据的逻辑结构在计算机存储空间中的存放形式。(物理结构)常用的存储结构有顺序、链接、索引等。 空的数据结构:在一个数据结构中一个数据元素都没有。 根据前后关系的复杂程度(从逻辑上),可将数据结构分为两大类型:线性结构(线性表)、非线性结构。 线性结构与非线性结构都可以是空的数据结构。 线性表是n个属于同一数据类型的数据元素构成的有限序列。若干数据项组成的数据元素称为记录,多个记录构成的线性表称为文件。I为数据元素ai再线性表中的位序。 线性表的顺序表:用一组地址连续的存储单元依次存储线性表的数据元素。线性表的顺序存储结构是一种随机存取的存储结构(一维空间)。 栈:实际也是线性表。是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。没有元素时为空栈。栈顶元素总是后被插入的元素,也是最先被删除的元素。称为“先进后出”“后进先出”表。 栈的顺序存储及其运算:1、入栈运算:在栈顶位置插入一个新元素。先将栈顶指针加1,然后将新元素插入到栈顶指针指向的位置。2、退栈运算:取出栈顶元素并赋给一个指定的变量。首先将栈顶元素赋给一个指定的变量,然后将栈顶指针减1。3、读栈顶元素:将栈顶元素赋给一个指定的变量。不删除栈顶元素,栈顶指针不会改变。 队列:是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。“先进先出”“后进后出”表。往尾部插入一个元素称为入队运算。从排头删除一个元素称为退队运算。 循环队列及其运算:队列的顺序存储结构一般采用循环队列的形式。将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间。1、入队运算:在循环队列的队尾加入一个新元素。2、退队运算:在队头位置推出一个元素并赋给指定的变量。 线性链表:只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。 链表中结点的逻辑次序和物理次序不一定相同。 树:由n个结点组成的有限集合。若不为空树,则:1、由一个特定的称为根的结点,只有直接后件,没有直接前件。2、出根以外的其他结点可以划分为m个互不相交的有限集合,每个集合又是一棵树,称为根的子树,每棵子树的根结点有且仅有一个直接前件,但可以有0或多个直接后件。一个结点所拥有的后件个数称为结点的度。树的最大层次称为树的深度。 二叉树:是由n个结点的有限集合构成,集合为空集或由一个根结点及两棵相互不相交的左右子树组成,左右子树都是二叉树。二叉树不是树的特殊情况,是两个概念。特点:非空二叉树只有一个根结点;在而二叉树中不存在度大于二的结点,是有序树(树为无序树),子树的顺序不能颠倒。叶子结点总是比度为2的结点多一个。 完全二叉树结点的排列顺序为:从上到下,从左到右。若左边空一个位置不能将结点放入右边。完全二叉树除最后一排都是满的。 在计算机中,二叉树通常采用链式存储结构。 遍历二叉树:1.前序遍历:根结点-左子树-右子树(在遍历左右子树时,仍然先访问根结点)2、中序遍历:左子树-根结点-右子树(左大树都遍历了再右大树)3、后序遍历:左子树-右子树-根结点 排序方法 时间复杂度 空间复杂度 复杂性 平均情况 最坏情况 最好情况 直接插入排序 N2 N2 n 1 简单 冒泡排序 N2 N2 n 1 简单 希尔排序 Nlog2n Nlog2n 1 较复杂 快速排序 Nlog2n N2 Nlog2n Nlog2n 较复杂 简单选择排序 N2 N2 N2 1 简单 堆排序 Nlog2n Nlog2n Nlog2n 1 较复杂 第二章 程序设计基础 程序设计经历的阶段:结构化程序设计阶段、面向对象的程序设计阶段。 *程序注释:1、序言性注释:开头部分,给出程序的整体说明。2、功能性注释:嵌在源程序体中,描述语句或程序的主要功能,不包括模块的功

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档