计算机基础课件ppt-计算机软件基础知识.ppt





《计算机基础课件ppt-计算机软件基础知识.ppt》由会员分享,可在线阅读,更多相关《计算机基础课件ppt-计算机软件基础知识.ppt(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机软件基础知识 软件基础软件基础算法v算法的基本概念算法的基本概念算法:算法:是一组有穷指令集,是是一组有穷指令集,是解题方案的准确而完解题方案的准确而完整的描述整的描述。通俗地说,算法就是计算机解题的过程。通俗地说,算法就是计算机解题的过程。算法不等于程序,也不等于计算方法,程序的编制算法不等于程序,也不等于计算方法,程序的编制不可能优于算法的设计。不可能优于算法的设计。算法的基本特征:算法的基本特征:是一组严谨地定义运算顺序的规则,每是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。止。算法
2、不等于程序,程序不可能优于算法。算法不等于程序,程序不可能优于算法。基本特性基本特性可行性:根据实际问题设计的算法,执行得到满意结果可行性:根据实际问题设计的算法,执行得到满意结果确定性:每一步骤必须有明确定义,不允许有多义性。确定性:每一步骤必须有明确定义,不允许有多义性。有穷性:算法必须能在有限的时间内做完。有穷性:算法必须能在有限的时间内做完。输入和输出:拥有足够的情报,方可执行。输入和输出:拥有足够的情报,方可执行。算法的基本要素1.1.对数据对象的运算和操作对数据对象的运算和操作算术运算:、算术运算:、等等逻辑运算:逻辑运算:、=、=、!=!=等等关系运算:关系运算:andand、o
3、ror、notnot等等数据传输:数据传输:w w、r r等等2.2.算法的控制结构算法的控制结构算法中各操作之间的执行顺序算法中各操作之间的执行顺序描述算法的工具通常有传统流程图、描述算法的工具通常有传统流程图、N-SN-S结构化流结构化流程图、算法描述语言等程图、算法描述语言等算法可以用算法可以用顺序、选择、循环顺序、选择、循环三种基本机构组合三种基本机构组合而成。而成。算法基本设计方法(1 1)列举法:)列举法:根据问题,列举所有可能的情况,并用问题根据问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的。中给定的条件检验哪些是需要的,哪些是不需要的。(2 2)
4、归纳法:)归纳法:通过列举少量的特殊情况,经过分析,最后通过列举少量的特殊情况,经过分析,最后找出一般的关系。找出一般的关系。(3 3)递推:)递推:是指从已知的初始条件出发,逐次推出所要求是指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果。的各中间结果和最后结果。(4 4)递归:)递归:将问题逐层分解的过程。将问题逐层分解的过程。(5 5)减半递推技术:)减半递推技术:“减半减半”,是指将问题规模减半,是指将问题规模减半,而问题性质不变;而问题性质不变;“递推递推”,是指重复,是指重复“减半减半”过程。过程。(6 6)回溯法:)回溯法:分析问题,找出一个解决总线索,然后沿着分析问
5、题,找出一个解决总线索,然后沿着这个线索逐步试探。这个线索逐步试探。算法效率度量算法的复杂度v算法的复杂度:时间复杂度、空间复杂度算法的复杂度:时间复杂度、空间复杂度算法的时间复杂度算法的时间复杂度算法时间复杂度是指执行算法所需要的算法时间复杂度是指执行算法所需要的计算工作量计算工作量。工作量用算法所执行的工作量用算法所执行的基本运算次数基本运算次数来度量,而算法所执来度量,而算法所执行的基本运算次数是问题规模的函数,即行的基本运算次数是问题规模的函数,即 算法的工作量算法的工作量=f(nf(n)算法空间复杂度算法空间复杂度算法空间复杂度是指执行这个算法所需要的算法空间复杂度是指执行这个算法所
6、需要的内存空间内存空间。存储空间包括:存储空间包括:算法程序所占的空间、算法程序所占的空间、输入数据所占输入数据所占的空间、的空间、算法执行过程中所需要的额外空间算法执行过程中所需要的额外空间数据结构基本概念能输入到计算机中能输入到计算机中并能被计算机程序处理的并能被计算机程序处理的符号的集合。符号的集合。整数整数(1,2)(1,2)、实数、实数(1.1,1.2)(1.1,1.2)字符串字符串(Beijing)(Beijing)、图形、声音。图形、声音。数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运运算算的一般方法的学科。的一般方法的学科。数据结构基本概念计算机管理图书问
7、题计算机管理图书问题计算机管理图书问题计算机管理图书问题 图书馆里有各种卡片:有按书名编排的、有按作者图书馆里有各种卡片:有按书名编排的、有按作者编排的、有按分类编排。编排的、有按分类编排。如何将查询图书的这些信息存入计算机中既要考虑如何将查询图书的这些信息存入计算机中既要考虑查询时间短,又要考虑节省空间查询时间短,又要考虑节省空间 数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。数据结构基本概念 最简单的办法之一是建立一张最简单的办法之一是建立一张表表,每一本书的信息,每一本书的信息在表中占一行,如在表中占一行,如 数据结构是一门
8、研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。数据结构基本概念 如何将如何将0,1,2,3,4,5,6,7,8,90,1,2,3,4,5,6,7,8,9这这1010个数存放在个数存放在计算机中能最快地达到你所需要的目的?计算机中能最快地达到你所需要的目的?目的不同,目的不同,最佳最佳的存储方方法就不同。的存储方方法就不同。从大到小排列:从大到小排列:9,8,7,6,5,4,3,2,1,09,8,7,6,5,4,3,2,1,0输出偶数:输出偶数:0,2,4,6,8,1,3,5,7,90,2,4,6,8,1,3,5,7,9 数据元素在数据元素在计算
9、机中的表示计算机中的表示 数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。数据结构基本概念对数据结构中的对数据结构中的节点进行操作节点进行操作处理处理(插入、删除、修改、查找、排序插入、删除、修改、查找、排序)数据结构是一门研究数据结构是一门研究数据数据组织组织、存储存储和和运算运算的一般方法的学科。的一般方法的学科。数据结构研究的主要内容v 数据结构主要研究以下三个方面的问题:数据结构主要研究以下三个方面的问题:数据的逻辑结构:数据的逻辑结构:数据集合中各元素的信息,及元数据集合中各元素的信息,及元素之间所固有的逻辑关系(素之间所
10、固有的逻辑关系(前后件关系前后件关系)数据的存储结构:数据的存储结构:各数据元素在计算机中的存储关各数据元素在计算机中的存储关系系对各种数据结构进行的运算对各种数据结构进行的运算 主要目的是为了提高数据的效率。主要目的是为了提高数据的效率。所谓提高数据处理的效所谓提高数据处理的效率,主要包括两个方面:一是提高数据处理的速度,二是尽量节省在率,主要包括两个方面:一是提高数据处理的速度,二是尽量节省在数据处理过程中所占用的计算机存储空间。数据处理过程中所占用的计算机存储空间。数据结构类型 1数据的逻辑结构数据的逻辑结构 2、数据的存储结构、数据的存储结构 3、数据的运算:检索、排序、插入、删除、修
11、改等。、数据的运算:检索、排序、插入、删除、修改等。A线性结构线性结构 B非线性结构非线性结构A 顺序存储顺序存储 B 链式存储链式存储 线性表线性表栈栈队队树形结构树形结构图形结构图形结构数数据据结结构构的的三三个个方方面面 线性结构和非线性结构 线性结构条件线性结构条件线性结构条件线性结构条件n(1 1)有且只有一个根结点;)有且只有一个根结点;n(2 2)每一个结点最多有一个前件,也最多有一个后件。)每一个结点最多有一个前件,也最多有一个后件。n(3 3)首节点无前件,尾节点无后件。)首节点无前件,尾节点无后件。非线性结构:非线性结构:非线性结构:非线性结构:不满足线性结构条件的数据结构
12、不满足线性结构条件的数据结构注意:注意:在一个线性结构中插入或删除任何一个节点后还应是线性结构;否在一个线性结构中插入或删除任何一个节点后还应是线性结构;否则,不能称为线性结构。则,不能称为线性结构。学学学学 生生生生 成成成成 绩绩绩绩 表表表表8686胡孝臣胡孝臣986110398611039595刘忠赏刘忠赏98611079861107100100张卓张卓98611099861109成绩成绩姓名姓名学号学号树形结构全校学生档案管理的树形结构的组织方式全校学生档案管理的树形结构的组织方式全校学生档案管理的树形结构的组织方式全校学生档案管理的树形结构的组织方式非线性非线性结构结构 树形结构树
13、形结构树形结构树形结构树形结构ABCDEFGH树形结构树形结构树形结构树形结构 结点间具有分层次的连接关系结点间具有分层次的连接关系结点间具有分层次的连接关系结点间具有分层次的连接关系HBCDEFGA图形结构 图形结构:节点间的连接任意图形结构:节点间的连接任意图形结构:节点间的连接任意图形结构:节点间的连接任意1423 D=1,2,3,4 R=(1,2),(1,3),(1,4),(2,3)(3,4),(2,4)无向图无向图213 D=1,2,3 R=(1,2),(2,3),(3,2),(1,3)有向图有向图顺序存储与链式存储Lo+(n-1)*m元素元素n n.元素元素i i.元素元素2 2元
14、素元素1 1LoLo+mLo+(i-1)*m存储地址存储地址存储内容存储内容Loc(a)=Lo+(i-1)*m每个元每个元素所占素所占用的存用的存储单元储单元个数个数 顺序存储顺序存储顺序存储顺序存储常用于线性数据结构,常用于线性数据结构,将逻辑上相邻的数据元将逻辑上相邻的数据元素存储在物理上相邻的素存储在物理上相邻的存储单元里。存储单元里。三个弱点三个弱点三个弱点三个弱点插入或删除操作时,需插入或删除操作时,需移动大量元数。移动大量元数。长度变化较大时,需按长度变化较大时,需按最大空间分配。最大空间分配。表的容量难以扩充表的容量难以扩充顺序存储与链式存储 1346 元素3 1536 .153
15、6 元素2 1400 .元素4 1346 1400 元素1 1345 指针 存储内容存储地址1536元素元素2 21400元素元素1 11346元素元素3 3 元素元素4 4head1345链式链式链式链式存储存储存储存储的地的地的地的地址映址映址映址映射表射表射表射表栈和队列 栈和队列栈和队列是两种运算时要受到某些特殊限制的线是两种运算时要受到某些特殊限制的线性表,故也称为性表,故也称为限定性的数据结构。限定性的数据结构。栈:栈:限定限定只能在表的一端进行插入和删除只能在表的一端进行插入和删除的特殊的线性表的特殊的线性表,此此种结构称为种结构称为后后进先出。进先出。n设栈设栈s=s=(a1a
16、1,a2a2,,aiai,anan)n其中其中a1a1是栈底元素,是栈底元素,anan是栈顶元素。是栈顶元素。n栈顶栈顶(top)top):允许插入和删除的一端;:允许插入和删除的一端;n约定约定toptop始终指向新数据元素将存放的位置。始终指向新数据元素将存放的位置。n栈底(栈底(bottom):bottom):不允许插入和删除的一端。不允许插入和删除的一端。a1 a2 .an进栈进栈出栈出栈栈顶栈顶栈底栈底栈和队列队列的主要运算队列的主要运算n设置一个空队列;设置一个空队列;n插入一个新的插入一个新的队尾(队尾(rearrear)元素,称元素,称为进队;为进队;n删除删除队头(队头(fr
17、ontfront)元素,称为出队;元素,称为出队;n读取队头元素;读取队头元素;a1 ,a2 ,a3 ,a4 ,an-1 ,an队队头头队队尾尾队列:队列:限定限定只能在表的一端进行插入,在表的另一端进行删除只能在表的一端进行插入,在表的另一端进行删除的线性表。的线性表。此种结构称为此种结构称为先进先出(先进先出(FIFOFIFO)表。表。栈和队列 3 2 1 0 (a)rear=front=0(队空)队空)e3 e4 (c)(c)e1,e2出队,出队,e4入队入队rear=4front e1 e2 e3 (b)rearfront(b)e1,e2,e3入队入队队列的主要运算队列的主要运算n队空
18、时,令队空时,令rear=front=0;rear=front=0;元素个数元素个数rear-frontrear-frontn当有新元素当有新元素入队时,尾指针加入队时,尾指针加1 1,当有元素,当有元素出队时,头出队时,头指针加指针加1 1。故在非空队列中,头指针始终指向队头元素。故在非空队列中,头指针始终指向队头元素前一个位置,而尾指针始终指向队尾元素的位置前一个位置,而尾指针始终指向队尾元素的位置栈和队列计算循环队列长度计算循环队列长度:front=rear,队列长度,队列长度0;frontrear,队列长度,队列长度rear+size-front a1 ,a2 ,a3 ,a4 ,an-
19、1 ,an队队头头队队尾尾循环队列:循环队列:首尾相接首尾相接的队列的队列,逻辑上形成一个环状。,逻辑上形成一个环状。树与二叉树树的定义:树的定义:由一个或多个结点组成的有限集合。由一个或多个结点组成的有限集合。仅有一个根仅有一个根结点结点,结点间有明显的层次结构关系。,结点间有明显的层次结构关系。A C G T2D H I T3J M B E L KT1 F 现现实实世世界界中中,能能用用树树的的结结构构表表示示:学学校校的的行行政政关关系、书的层次结构、人类的家族血缘关系等。系、书的层次结构、人类的家族血缘关系等。树与二叉树树的基本概念:树的基本概念:树的基本概念:树的基本概念:结点(结点
20、(NodeNode):):树中的元素树中的元素结点的度(结点的度(DegreeDegree):):结点拥有的子树数。结点拥有的子树数。结点的层次:结点的层次:从根结点开始算起,根为第一层。从根结点开始算起,根为第一层。叶子(叶子(LeafLeaf):):度为零的结点,也称端结点。度为零的结点,也称端结点。孩子(孩子(ChildChild):):结点子树的根称为该结点的孩子结点。结点子树的根称为该结点的孩子结点。兄弟(兄弟(SiblingSibling):):同一双亲的孩子。同一双亲的孩子。双亲(双亲(ParentParent):):孩子结点的上层结点,称为其的双亲。孩子结点的上层结点,称为其的
21、双亲。深度(深度(Depth)Depth):树中结点的最大层次数。树中结点的最大层次数。森林(森林(ForestForest):):M M棵互不相交的树的集合。棵互不相交的树的集合。A C G T2D H I T3J M B E L KT1 F树与二叉树二叉树(二叉树(Binary Tree)的定义)的定义二叉树的五种基本形态二叉树的五种基本形态二二叉叉树树一一种种特特殊殊的的树树型型结结构构,特特点点是是树树中中每每个个结结点点只只有有两两棵棵子树,且子树有左右之分,次序不能颠倒子树,且子树有左右之分,次序不能颠倒。空二叉树空二叉树 仅有仅有根结点根结点 右子树右子树为空为空 左子树左子树为
22、空为空左右子树左右子树均非空均非空因因为为树树的的每每个个结结点点的的度度不不同同,存存储储困困难难,使使对对树树的的处处理理算算法法很复杂。所以引出二叉树的理论。很复杂。所以引出二叉树的理论。满二叉树423167891011121314155 特点:所有分支结点都存在左右子树,且所有叶特点:所有分支结点都存在左右子树,且所有叶子结点都在同一层上。子结点都在同一层上。完全二叉树4231678910 11125 非完全二叉树非完全二叉树4231678910 11125 完全二叉树完全二叉树 特点:除最后一层外,每一层都取最大结点数,特点:除最后一层外,每一层都取最大结点数,最后一层结点都集中在该
23、层最后一层结点都集中在该层最左边最左边的若干位置。的若干位置。二叉树的基本性质A A、二叉树的第二叉树的第i i层上至多有层上至多有2 2i-1i-1(i i 1 1)个结点。)个结点。B B、深度为深度为h h的二叉树中至多含有的二叉树中至多含有2 2h h-1-1个结点。个结点。C C、若在任意一棵二叉树中,有若在任意一棵二叉树中,有n0n0个叶子结点(度为个叶子结点(度为0 0),有),有n2n2个度为个度为2 2的结点,则:的结点,则:n0=n2+1n0=n2+1D D、具有具有n n个结点的完全二叉树的深度为个结点的完全二叉树的深度为loglog2 2n+1n+1,其中,其中 log
24、log2 2nn表示表示loglog2 2n n 的整数部分。的整数部分。423167891011121314155第三层第三层 (i=3)(i=3),有,有2 23-13-1=4=4个节点个节点深度深度h=4h=4,共有,共有2 24 4-1=15-1=15个节点个节点n0=8,n2=7,n0=n2+1n0=8,n2=7,n0=n2+11515个节点,深度个节点,深度=log=log2 215+1=415+1=4二叉树的遍历 遍遍历历是是指指按按某某条条搜搜索索路路线线寻寻访访树树中中每每个个结结点点,且且每每个个结点只被访问一次。结点只被访问一次。按先左后右的原则,一般使用三种遍历:按先左
25、后右的原则,一般使用三种遍历:按先左后右的原则,一般使用三种遍历:按先左后右的原则,一般使用三种遍历:先序遍历先序遍历(D L R):(D L R):访问访问根结点根结点,按先序遍历,按先序遍历左子树左子树,按先序遍历,按先序遍历右子树右子树。中序遍历中序遍历(L D R):(L D R):按中序遍历按中序遍历左子树左子树,访问,访问根结点根结点,按中序遍历,按中序遍历右子树右子树。后序遍历后序遍历(L R D):(L R D):按后序遍历按后序遍历左子树左子树,按后序遍历,按后序遍历右子树右子树,访问,访问根结点根结点。二叉树为空时,执行空操作,即空二叉树已遍历完。二叉树为空时,执行空操作,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 基础 课件 ppt 计算机软件 基础知识

限制150内