《二级MS-OFFICE教程.docx》由会员分享,可在线阅读,更多相关《二级MS-OFFICE教程.docx(43页珍藏版)》请在优知文库上搜索。
1、第一部分公共却!学问第1章数据结构与算法1.1 算法1 .算法的基本概念(D概念:修法是指一系列解决何咫的清楚指令。(2)4个基本特征:可行性、确定性、有穷性、拥有足够的情报。(3)两种基本要素:对数据对以的运算和操作、算法的限制结构(运算和操作时问的依次).(力设计的基本方法:列举法、归纳法、递推法递归法、减半递推技术和回溯法.2 .算法的困难度(D算法的时间困难度:执行算法所须要的计算工作玳.(2)匏法的空间困难度:执行算法所册的内存空间.1.2 数据结构的范本概念数据结构指和”.有关联的数据元泰的集合,即数据的组织形式,其中避辑结构反映数据元素之间逻辑关系;存储结构为数据的逻辑结构在计算
2、机存储空间中的存放形式,有依次存储、链式存储、索引存储和散列存储4种方式.数据结构按各元素之间前后件关系的困难度可划分为:(D线性结构:有且只有一个根节点,E1.每个节点最多有一个干脆前胸和一个干脆后维的非空数据结构,(2)非线性结构:不涵意税性结构的数据结构。1.3 线性衣及其依次存储结构1.4 .绫性友的基本概念我性结构乂称浅性表,践性表是最简沽也是最常用的一种数据结构,1.5 性表的依次存储结构元素所占的存储空间必需连续.元素在存储空间的位置是按逻轼依次存放的.3 .魏性我的插入运算在第i个元素之前插入一个新元素的步骤如下:步骤一:把跖来第n个节点至第i个节点依次往后移一个元素位S1.步
3、骡二:把新节点放在第i个位徨上.步骤三:修正线性表的节点个数.在呆坏状况下,即插入元本在第一个置,戏性表中全部元素均须要移动。4 .线性表的删除运算删除第i个位置的元素的步骤如下:步骤一:把第i个元素之后不包括笫i个元素的n-i个元索依次前移一个位汽:步既二:修正线性表的结点个数。1.4栈和队列1 .栈及其基本运算(D条本概念:栈是一种特别的线性表,其插入运算与削除运算都只在税性表的一雉进行,也被称为“先进后出”友或“后进先出”去. 栈顶:允许插入与刷除的一端, 栈底:栈原的另一笫 空栈:枝中没有元素的栈.(2)特点” 枝顶元素是最终被插入和加早被册除的元素.栈底元素是最早被插入和最终被削除的
4、元素. 栈有记忆作用。 在依次存储结构下,栈的插入和删除运算不需格动表中其他数据元素. 栈顶指针I。P动态反映了栈中元素的变更状况(3)依次存储和运算:入栈运算、退栈运算和读栈夜运算。2 .队列及其基本运算(D基本概念:队列是指允许在一端进行插入在另一端进行删除的线性表,又称“先进先出”的线性表.队尾:允许插入的一端,用尾指针指向队尾元素.棒头:允许删除的一端.用头指针指向头元素的前一位置.(2)循环队列及其运笄.所谓循环队列,就是将队列存储空间的底终一个位置绕到第一个位置,形成龙轮上的环状空间。入认运算是指在循环队列的队尾加入一个新元素.当循环队列非空(S=I)且认尾指针等于队头指针时.说明
5、循环队列已满,不能进行人队运算,这种状况称为“上溢”。退认运算是指在循环队列的队头位置退出一个元素并赋给指定的变址.首先将队头指针进一,然后将排头指针指向的元索就给指定的变量,当箭环队列为空(S=O)时,不能进行退队运算,这种状况称为“下溢”。1.5 线性琏表在定义的链表中,若只含有一个指针域未存放下一个元素地址,称这样的鞋表为单鞋表或线性链表。在槌式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据城;另一都分用于存放指针,称为指针域,其中指针用于指向该站点的前一个或后一个结点(即前件或后件).1.6 树和:叉树1 .树的基本概念树是简洁的非线性结构,树中有且仅有一个没
6、有前驱的节.点称为“根”,其余节点分成In个互不相交的有限集合T1.T2.T)11n,每个集合又是一棵树.称T1.T2,.Tmn为根结点的子树, 父节点:每一个节点只有一个前件,无前件的节点只有一个,称为树的根结点(简林树的根)。 子节点:徒个节点可以后多个后件,无后件的节点称为叶子节点. 树的度:全部节.点最大的度. 树的深度:树的最大层次.2 .二叉树的定义及其地本性质(D二叉树的定义:二叉树是一种非线性结构,足有限的节点集合.该集合为空(空二叉树)或由一个根节点及两棵互不相交的左右二叉子树组成,可分为满:叉树和完全:叉树,其中满二叉树皆定是完全二叉树但完全二叉树不肯定是满二叉树.二叉树具
7、有如下两个特点:二叉树可为空.空的二叉构无节点,非空二叉树有且只有一个根结点;每个节点最多可有两棵f树,称为左子树和右子树,(2)二叉树的基本性质。性质1:在二叉树的第k层上至多有2k1个结点(kND.性质2:深度为.的二叉树至多有2三1个结点.性侦3:对任何一,棵:叉树,度为O的结点(即叶子结点)总是比度为2的站点多一个。性质4:具有n个结点的完全二叉树的深度至少为Io2n+1,其中Uo2n表示1.2n的整数部分,3 .满二.叉树与完全二叉树(D)R二叉树:满:叉树是指这样的一种二叉树;除最终一层外,年一层上的全都结点都有两个子结点.满二叉树在其第i层上有2iT个结点.从上面涌:叉树定义可知
8、,二叉树的每一层上的结点数必御都达到Si大,否则就不是满-XW.深度为m的满二叉树有2.1个结点.(2)完全二叉树:完全二叉树患指这样的二叉树:除城终一层外,每一层上的结点数均达到最大值:在最终一层上只缺少右边的若干结点.假如一棵具有n个结点的深度为k的二叉树,它的每一个结点都与深度为k的满二叉树中编号为1.-n的结点-对应.3 .二叉树的存储结构:叉树通常采纳链式存储结构,存储节戊由数据域和指针域(左指计域和右指针域)组成,二叉树的链式存储结构也称二叉椎表,对满二叉树和完全二叉树可按层次进行依次存储.4 .二叉树的遍历二叉树的诩历是指不景复地访问二叉树中全部节点,主要将非空二叉树,对于空二叉
9、树则结束返回。二叉树的遍历包括前序遍历、中序遍历和后序购历。(D前序泗历。前序遍历是指在访问根结点、遍切左子树叼遍历右子朝这三者中,首先访问根结点.然后泗历左子树,鼓终遍历右子树;并且,花的历左右子树时,仍阳先访问报结点,然后逾历左子树,G终遍历右子树,前序遍历描述为;若:叉树为空,则执行空操作;否则访问根结点:前序遍历左子树:前序遍历右子树.中序遍历.中序刊历是指在访问根结点、遍历左子树与泗历右子树这三者中,首先制历左子树,然后访问根结点.最终遍历右子树:并且.在遍历左、右子树时.仍旧先遍历左子树,然后访问根结点.最终遍历右千树.中序遍历描述为:若二叉树为空,则执行空操作:否则中序泗历左子树
10、;访问根结点:中序遍历右子树.(3)后序遍历.后序遍历是指在访问根结点、遍历左子树与遍历右子树这:者中,首先遍历左子树,然后造历右子树,最终访问根结点,并且.在遍加左、右子树时.仍旧先遍历左子箱,然后遮历右子树,最终访问根结点。后序遍历描述为;若.乂树为空,则执行空操作;否则后序遍历左子树:后序遍历右子树:访问根结点5 .7查找技术(D依次交找:在战性表中杳找指定的无素。(2)最坏状况下.最终一个元素才是要找的元素则须要与线性表中全部元素比较.比较次数为Ho(2)二分查找:二分查找也称折半查找.它是一种高效率的查找方法.但二分查找有条件眼制,它要求表必需用依次存储结构,且表中元素必需按关键字有
11、序(升序或降序均可)排列.时长度为n的有序线性表.在最坏状况下,二分查找法只需比较1.og2n次.1.8排序技术(D交换类排序法. 日泡排序:通过对小排序序列从后向前或从前向后.依次比较相邻元素的排序码.若发觉逆序则交换,使较大的元素渐渐从前部移向后部或较小的元素渐渐从后部移向前部,巴到全部元素有序为止*在最坏状况下,对长度为n的线性表排序,官泡排序筑要比较的次数为n(n-D2. 快速排序:是迄今为止全部内排序算法中速度取快的一种。它的基本思想是:任取特排序序列中的某个元素作为基准(一般取第一个元素),通过一档排序,将待排元素分为左右两个子序列,立子序列元索的排序码均小于或等于基准元点的排用码
12、,右子序列的排序码则大于法准元索的排序码,然后分别时两个子序列接着进行排序,I1.至整个序列有序,最坏状况下,即每次划分,只得到一个序列时间效率为0S2).(2)插人类排序法。 简洁插入排序法:把n个待排庠的元素看成为一个有序表和一个无序表,起先时有序发中只包含一个元素,无序衣中包含有n-1.个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码依次与有序表元素的排序眄进行比较将它插入到有序表中的适当位置.使之成为新的有序表.在最坏状况卜,即初始排序序列是逆序的状况卜,比较次数为n(n-1.)2,移动次数为Mn-D/2。 希尔排序法:先将整个待排元素序列分割成若干个子序列(由相隔某个“增
13、W的元素组成的)分别进行干脆辅入排序.侍粘个序列中的元素基本有序(增fit足够小)时,再对全体元素进行一次干脆插入排序。(3)选择类排序法. 简洁选择排序法:扫描整个线性去.从中选出她小的元素.将它交换到我的最前面:然后对剩下的子表采纳同样的方法.比到于表空为止.最坏状况下须要比较n(n1)/2次. 堆排序的方法:首先将一个无序序列建成堆;然后将堆顶元素(序列中的最大项)与堆中最终一个元素交换(最大项应当在序列的最终).不考虑已经换到段终的僚个元素,只考虑前n-1个元泰切成的子序列,将该子序列调整为堆,反更做步骤,直到剩下的子序列空为止.在戢坏状况下,堆排序法须要比较的次数为Q(n1.og2n
14、)第2章程序设计若破2.1程序设计方法与风格(D设计方法:指设计、编制、调试程序的方法和过程,主要有结构化程序设计方法、软件工程方法和面对对象方法.(2)i殳计风格:良好的设计风格要留意源程序文档化、数堀说明方法、语句的结构和输入输出。2. 2结构化程序设计1 .结构化程序设计的原则结构化程序设计强调程序设计风格和程序结构的规范化,提倡清楚的结构。(D自顶向下:即先考虑总体,后考虑细微环节;先考虑全局目标.后考虑局部目标.(2)逐步求精:对困难问应,应设计一些子目标做过渡,逐步细化.(3)模块化:把程序要解决的总F1.标分解为分口标,再进一步分解为具体的小目标,把每个小目标称为一个模块;(力限
15、制运用GOTo语句。2 .结构化程序的基本结构与特点(D依次结构:自始至终严格依据程序中语句的先后依次逐条执行,是Ai茄本、最普遍的结构形式.(2)选择结构:又称为分支结构,包括简洁选择和多分支选揖结构.(3)里亚结构:又称为循环结构,依据给定的条件,推断是否须要IRi1.执行某一相同的或类似的程序段,结构化程序设计中,应用意事项:(D运用程序设计语言中的依次、选择、循环等有限的限制结构表示程序的限制逻辑.(2)选用的限制结构只准许有一个人11和一个出n.(3)程序语言组成阖沽识别的块,每块只有一个入口和一个出口。(力困难结内应当用嵌套的基本限制结构进行组合战食来实现(5)谙才中所没有的限制结构,应当采纳前后一样的方法来模拟.(6)尽质避开GoTO语句的运用.2. 3面对对象的程序设计面对对象方法的本质是主见从客观世界固有的事物动身来构造系统,强脚建立的系统能映射问题域。 对象:用来表示客观世界中任何实体,可以是任何有明确边界和意义的东西。 类:具有共同胧性、共同方法的对象的集合. 实例:一个具体对象就是其对应分类的个实例。