数据结构课件第章_第1页
数据结构课件第章_第2页
数据结构课件第章_第3页
数据结构课件第章_第4页
数据结构课件第章_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章绪论

返回总目录目录1.1什么是数据结构

1.2基本概念和术语

1.3抽象数据类型的表示与实现

1.4算法和算法分析●基本要求:

1)了解数据结构、算法的概念、基本的逻辑结构和存储结构、基本操作;

2)掌握类C语言体系和抽象数据类型的概念;

3)知道算法的时间复杂性和空间复杂性概念。●学习重点:

1)数据结构与算法的概念;

2)类C语言体系;

3)抽象数据类型。1.1什么是数据结构1.1.1”数据结构”形成的背景

因此,为了编写出一个好程序,必须分析待处理的对象的特性及其相互之间的关系。早期电子计算机的应用范围,主要局限于工程和科学计算,其处理的对象是纯数值性的信息。近三十年,计算机广泛用于情报检索、企业管理、系统工程等方面,处理的对象由纯粹的数值发展到字符、表格和图像等具有一定结构的数据。

返回目录1.1什么是数据结构1.1.2”数据结构”的定义

计算机解决一个具体问题时,大致需要经过下列几步:首先要从具体问题中抽象出一个适当的数学模型;然后设计一个解此数学模型的算法(Algorithm);最后编出程序、进行测试、调整直至得到最终解答。寻求数学模型的实质是分析问题,从中提取操作的对象,并找出这些操作对象之间含有的关系。1.1什么是数据结构例1-1线性表示例:学生信息检索系统

(b)姓名索引表赵一1钱二2张三3李四4王五5孙六62004级1,22005级3,42006级5,6计算机科学与技术1,4网络工程2,5信息安全3,6记录号学号姓名性别专业年级120040101赵一男计算机科学与技术2004级220040102钱二女网络工程2004级320050101张三女信息安全2005级420050102李四男计算机科学与技术2005级520060101王五女网络工程2006级620060102孙六男信息安全2006级(a)学生信息表(c)专业索引表(d)年级索引表图1.1学生信息查询系统中的数据结构1.1什么是数据结构例1-1“线性表”示例:学生信息检索系统

当我们需要查找某个学生的有关情况的时候;或者想查询某个专业或年级的学生的有关情况的时候,只要我们建立了相关的数据结构,按照某种算法编写了相关程序,就可以实现计算机自动检索。因此,可以在学生信息检索系统中建立一张按学号顺序排列的学生信息表和分别按姓名、专业、年级顺序排列的索引表,由这四张表构成的文件便是学生信息检索的数学模型,计算机的主要操作便是按照某个特定要求(如给定姓名)对学生信息文件进行查询。1.1什么是数据结构例1-2“树”示例:八皇后问题

1.1什么是数据结构

该问题是十九世纪著名的数学家高斯1850年提出:在8X8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。在八皇后问题中,处理过程不是根据某种确定的计算法则,而是利用试探和回溯的探索技术求解。为了求得合理布局,在计算机中要存储布局的当前状态。从最初的布局状态开始,一步步地进行试探,每试探一步形成一个新的状态,整个试探过程形成了一棵隐含的状态树。如图1.2所示(为了描述方便,将八皇后问题简化为四皇后问题)。回溯法求解过程实质上就是一个遍历状态树的过程。在这个问题中所出现的树也是一种数据结构,它可以应用在许多非数值计算的问题中。例1-2“树”示例:八皇后问题

1.1什么是数据结构例1-3“图”示例:教学计划编排问题

1.1什么是数据结构一个教学计划包含许多课程,在教学计划包含的许多课程之间,有些必须按规定的先后次序进行,有些则没有次序要求。即有些课程之间有先修和后续的关系,有些课程可以任意安排次序。这种各个课程之间的次序关系可用一个称作图的数据结构来表示,如图1.3所示。有向图中的每个顶点表示一门课程,如果从顶点vi到vj之间存在有向边<vi,vj>,则表示课程i必须先于课程j进行。例1-3“图”示例:教学计划编排问题

1.1什么是数据结构

由上面例子可知,描述这类非数值计算问题的数学模型不再是数学方程,而是诸如表、树、图之类的数据结构。

定义:数据结构是一门研究非数值计算的程序设计问题中计算机操作对象及它们之间的关系和操作的学科。由3个例子得出的结论:

1.2基本概念和术语

数据是指能够输入到计算机中,并被计算机识别和处理的符号的集合。

例如:数字、字母、汉字、图形、图像、声音都称为数据。●

数据(Data)

数据项(DataItem)

亦称字段、域。数据项是具有独立含义的不可分割的最小标识单位。

返回目录1.2基本概念和术语

数据元素是组成数据的基本单位。但它还可以分割成若干个具有不同属性的项(字段),故不是组成数据的最小单位。

有些情况下,数据元素也称为元素、结点、顶点、记录等。一个数据元素可能仅含一个数据项,亦可包含若干个数据项。。●

数据元素(DataElement)

1.2基本概念和术语

性质相同的数据元素的集合,是数据的一个子集。数据对象可以是有限的,也可以是无限的。

例如,整数数据对象的集合可表示为N={0,±1,±2,…},字母字符数据对象的集合可表示为C={‘A’,’B’,…,’Z’}。●

数据对象(DataObject)

1.庸2扯基本秒概念糕和术俗语是一枣组性谱质相汗同的值的贿集合以及裙定义院于这现个值落集合膊上的一组女操作的总倚称。例如骄,高广级语皆言中男用到乎的整斜数数石据类跟型,爬是指居由-帐32颗76壤8到绵32额76促7范丙围内管的值焦构成辣的集猎合及盲一组加操作帆(加奶、减社、乘麦、除摄、乘案方等甜)的遮总称牙。●数据速类型荣(Da炸ta见T让yp植e)1.骨2沿基本打概念誉和术狸语定义武:是相仅互之翁间存仇在一跟种或械多种猜特定关系的数据惑元素的的集腔合。(本除书对如数据度结构越的简柄单解稳释)组成盖:由某那一数顿据对怕象及幕该对每象中形所有析数据婆成员成之间责的关棚系组腐成。Da众ta醒S庸tr挥uc破tu机re曲=施(古Da柄ta驱O埋bj抢ec粱t,魄R辅el絮at洽io课ns凝hi申ps药)●数据植结构最(Da具ta绳S页tr慕uc障tu尘re践)的定丸义1.删2惊基本驻概念坏和术恒语1)筝数据雁元素迹之间徒的逻桶辑关干系,伟亦称葛数据劳的逻辑茧结构;2)陶数据忙元素好及其庭关系亲在计破算机援存储融器内逢的表颤示,该亦称遇数据句的存储泄结构;●数据择结构幸的三拔个方韵面3)艘数据荡的运喜算,甲即对务数据食施加绪的操作。1.石2议基本骆概念绘和术动语例1唤-4晕:一个刃线性介表的五三个吉方面叠内容逻辑乔结构政:哪个剧元素房诚是表偏中第央一个笼元素坏;哪凡个元麻素是研表中巾最后户一个仍元素防;哪扣些元剥素在珍一个堆给定往元素层之前智或之发后;樱等等浇。存储属结构洒:它的呀元素乌在存幕储器存中是穴顺序厉地邻赔接存捆放,沟还是散用指咬针连闻接在境一起忠的;雾等等扛。运算践:在表松中查您找一肆个元仙素;抹从表灶中删滨去一桑个元货素;祸向表乱中插凉入一种个元站素;局等等叙。●数据躲结构非的三哀个方旺面1.骗2底基本拒概念污和术馒语1)专集合:结构参中的冰数据用元素门之间净除“同属桑于一悲个集拔合”的关很系,撤无其纽奉他关支系。●数据唉的四秤种基烈本逻劲辑结差构2)死线性冰结构:结构绳中的颗数据溪元素阵之间管存在弦一对卸一的孙关系政。3)炼树结冬构:结构漏中的康数据绳元素晨之间帐存在划一对阶多的肯关系淹。4)父图结瞒构:结构交中的具数据辉元素具之间圣存在荣多对广多的池关系品。图1.祸4捞四种辜基本淋逻辑琴结构1.刚2望基本柳概念冰和术森语●数据讲的四闻种基追本逻清辑结马构例1俩-5都线赔性结礼构:A准,马B胀,她C较,本··帐··盏··小·爷,X坝,旱Y口,字Z85张三2005010198钱二2004010288赵一20040101成绩姓名学号线性宰表—荐—结该点间躲是以笑线性国关系堆联结笨。例合如表府1.帆1。表1观.1贫学尸生成眨绩表1.沃2印基本席概念部和术战语●数据清的四姻种基抛本逻茅辑结超构例1滩-6阳树乖结构:计算顿机程陡序的溜“菜竖单管饼理”扯是典穿型的代树形沉结构HBCDEFGA图1.电5痒计算摘机程璃序界眠面图1.凑6裹计算裕机程抬序菜字单对棕应的穴树形息结构1.绝2绢基本授概念馆和术悼语●数据杂的四例种基逮本逻体辑结刑构例1镰-7竿图男结构:“七六桥问盟题”隆是典窑型的浸图形睡结构图1败-7设七衬桥问臂题图1织-8共七倡桥问昼题对应职的图排形结矿构1.架2车基本石概念旁和术瓣语1)宁顺序耗存储饺结构:把逻卫辑上亦相邻尸的结涛点存仗储在逮物理笑位置袄上相拘邻存般储单碧元里伙,结刚点间供的逻扰辑关渔系由辱存储籍单元第的邻佣接关仇系来眠体现旋。●数据少的四倦种基舌本存盈储结虑构2)梅链式引存储明结构:不要武求逻乖辑上臣相邻块的结搭点其亏物理面位置锹上亦注相邻已,结艳点间拦的逻直辑关粘系是拌由附搭加的圈指针临字段柱表示俗的。3)储索引篇存储正结构:通常乓在存写储结督点信谜息的杆同时光,还透建立央附加绵的索福引表智,索隆引表庆中的修每一粒项称收为索求引项午,索另引项备的一惩般形件式是机:(闹关键就字,狂地址隶),必关键鹿字是册能唯天一标波识一态个结歼点的删那些肢数据欠项。4)判散列馆存储钟结构:根据骗结点壁的关跃键字哗直接腾计算妙出该客结点扬的存首储地倒址。1.茫2纤基本纤概念摇和术凉语例1繁-8直顺鞋序存讽储结捏构:●数据驴的四斩种基泽本存侵储结丸构元素n……..元素i……..元素2元素1LoLo+mLo+(i-1)*mLo+(n-1)*m存储地址存储内容Loc(a)=Lo+(i-1)*m每个元素所占用的存储单元个数图1誓-9齐顺狮序存钢储结成构示雷例1.买2古基本害概念寒和术斑语例1视-9透链示式存伞储结海构:●数据硬的四更种基励本存至储结煌构图1六-1伶0屿链式锤存储昨结构冤示例1536元素21400元素11346元素3∧元素41345h1346元素31536…….……..…….1536元素21400…….……..…….∧元素413461400元素11345指针存储内容存储地址1.逼3己抽象俊数据复类型魂的表有示与掉实现●“抽大象数锁据类睡型”竟的定冻义抽象畅数据际类型(Ab衰st它ra康ct裳D持at病a庸Ty丧pe脆,A见DT撞)是指壁一个烧数学颜模型菜以及柜定义前在这淡个模户型上味的一擦组操优作。抽象巾数据艳类型围仅取寇决于著它的宴逻辑奇特性秩,与精其在订计算尝集中安的表半示无恋关。剥即无论惜其内庙部结程构如抬何变么化,演只要宅它的劲数学链特性临没有灵变化乱,都萌不影遇响其穴外部宋使用。一统个AD阶T的定漆义并滑不涉徐及它傅的实防现细罢节,姻这些鲜实现镰细节奥对于AD垄T的用为户是辆隐蔽爷的—葡—封夏装性/信徐息隐饼蔽返回丢目录1.鸣3拌抽象吓数据非类型技的表站示与净实现●“抽愧象数破据类快型”劫的表倚示格撤式AD梁T抽象迷数据拳类型寨名{数据之对象炎:<数暖据对戏象的座定义闷>数据仗关系快:<数宽据关岁系的依定义崇>基本嫁操作单:<基哲本操骆作的他定义包>}AD淡T抽象笼数据录类型蒙名用伪艺码表煤示基本妈操作经名(砍参数妖表)初始队条件岛:<怨初始旋条件裹描述报>操作拴结果衡:<瞒操作惕结果鱼描述租>1.仍3芦抽象球数据饮类型棉的表消示与条实现●“抽满象数朴据类颠型”送的说体明在具果体实抽现时说,完会成任倡务的具算法凳、数射据类背型、掏数据粪结构页、程邪序的坝逻辑误组织冶,甚狡至采漆用哪涉种程络序设牧计语色言都犁是可清以自门由选梯择的晋--与具嗽体实煮现无旋关。AD粒T的主猾要目蜡的之乓一是劝对用焰户隐蔽所有丹的表净示方倒法,立算法勇的详梢细细节、实死现操浊作的芝具体且代码粗以及旨其它易所有枯对外爱界不兄必要项的细创节,堡都被驾局限妨于具户体实很现的轨模块交内部颗,从剩而实白现了凑信息鱼的隐够蔽。AD据T的一号个重支要优米点是园其简单姨性。AD县T的目梦的是讨将数辟据的凯本质腹特征痛、它冰们的坚结构劲及操滩作同垫它们亿的非屿本质副的具杂体表忠示及轨实现裂细节腹相区肉分开布来,槽从而馒得到裙了简韵化。1.踪蝶3奖抽象事数据喇类型杜的表挖示与倍实现●“抽敬象数料据类碰型”网的定株义示例例1投-1械0抽象租数据置类型验“三青元组辣”的恨定义定(p9乓)AD于TTr眯ip闸le符t{数据赴对象广:D映=轨{都e1制,e狗2,刚e3膛|袭e风1,忙e2申,e怎3区∈El厘em存Se粉t(定义舞了关投系运品算的王某个添集合)}沉;数据物关系地:R屋=菠{<包e1令,e脾2>雕,类<e卖2,滋e3执>}基本影操作尤:In兼it费Tr全ip正le蔑t(脸&T满,威v1积,尖v2挽,颜v3驻)操作承结果早:构记造了把三元议组T,元素e1抓,e夕2,姿e3分别吊赋以禽参数v1纤,绕v2钢,鉴v3的值蜓。Ma找x(荡T尽,赚&e第)惕;初始烛条件秘:三暖元组T已存敞在。操作碗结果亦:用e返回T的3论个元刊素中狗的最龟大值晃。…颤…}AD亭TTr纱ip怖le添t抽象巩数据哲类型羡可通穴过固满有数患据类裂型来讽表示属和实写现,列即利侨用处顶理器杀中已伸存在匪的数蚁据类碌型来户说明模新的团结构搏,用成已经雹实现羡的操迷作来洁组合场新的鸡操作继。1.南3勤抽象渡数据鸽类型继的表刻示与赚实现●“抽猛象数来据类塞型”葡的表时示与桶实现本书烘采用艺类C语言陷作为鸦描述在工具晶。类C语言怨介于侄伪码生和C语言伴之间降。这筒使得筐数据乐结构究与算非法的枣描述鲜和讨份论简扒明清缠晰,亏不拘槽泥于C语言筒的细坊节,扎以能渔容易踢转换誓成C或C+勾+程序歇。1)崇预定摘义常锹量和驱类型吐://到函数扣结果吴状态籍代码#de唇fi气ne倾TR拒UE殃1蹄;#d酬ef敲in蒜e顾F啦AL揭SE挑0巷;#d阳ef躺in柳e墙O海K混1;#d牧ef涌in票e察E盗RR旦OR恐0士;#d廉ef爆in耀e雕I违NF膊EA恩SI进BL而E阔-1努;#d摄ef晓in拥e窜O史VE获RF专LO封W味-沫2;//皱St众at详us是函喜数的隆类型另,其菠值是减函数复结果栽状态粮代码Ty燥pe趴de缘瑞f仓in甘tSt次at雀us1.吩3诸抽象绍数据航类型败的表柱示与兽实现●类C语言蔑——嫂语法土规则2)数据社结构状的表字示(掠存储责结构桨)用完类型拴定义犯(ty社pe势de与f)描述凳。数竖据元脾素类钳型约哈定为El呜em错Ty调pe,由用崇户在独使用侦该数其据类魂型时宗自行锁定义共。3)捧基本六操作讯的算委法都用以下扭形式造的函数纤描述:函数公类型妖函棉数名层(函戒数参旷数表暂){//态算法涉说明语句胀组;re凶tu静rn结果遣;}括//乏函数咸名注:a)当返海回状宣态结线果时饼,函船数定雅义为St吴at由us类型扭;b)在算妙法描祥述中知,增忠加了C+妖+语言谣的引用绝调用的参精数传宝递方敬式。材在形骂参表舰中,乒以&打头草的参辣数即日为引虏用参么数。1.羞3潜抽象挡数据盘类型飞的表浩示与凡实现●类C语言已——票语法工规则4)讨赋值蛛语句简单辽赋值变量露名字=四表达军式;串联秋赋值变量咳1响=启变量便2延=幕··寇·丙=歪变量k佛=表达筐式;成组迫赋值(变从量名竹1,略··版·,姻变量意名k)暂=(表达湿式1,·束··梦,表稍达式k)陪;结构天名恢=跌结构贵名;结构垒名贼=薄(值铅1,壁·热··裁,值k)崇;变量哥名云=妹表达锋式;变量蕉名[起杏始下拌标.碍.终倦止下韵标]=变寨量名[起拣始下唯标.待.终脑止下漆标]评;交换应赋值变量锡名←慕→变谣量名;条件强赋值变量升名陶=义条件炮表达洒式?怠表达壮式T围:表达否式F;1.删3予抽象里数据桑类型始的表敞示与嫌实现●类C语言重——拾语法录规则5)选择带语句a)if潮(表达童式)居语乌句;b)if播(表达程式)贯语牢句;el殿se语句泰;c)sw歼it计ch绩(表达赞式)查{ca孩se值1拉:语绸句序汽列1亮;br抚ea永k;ca腔se值n:语句怎序列n;妇br发ea搁k;追d恋ef撒au彻lt标:语句厉序列n+雄1;腔br净ea扒k;烈}d)sw圣it祝ch杆{跃c悲as备e条件夹1:誉语句薄序列贱1;br偏ea受k;ca菜se条件n:语句踩序列n;季br歼ea假k;坡d笼ef槐au堂lt替:语句佛序列n+慎1;广br魂ea钩k;}1.史3茫抽象冒数据栏类型闷的表葱示与截实现●类C语言仔——宋语法视规则……6)循环翅语句a)观f愿or语句fo厉r(赋初或值表偿达式炮;条堂件;森修改北表达焦式序稍列)暮语句坦;b)数w慕hi煌le语句wh蜻il展e(条件沈)语齐句;c)剪d队o-最wh筐il哥e语句do荒{语句近序列馅}wh闪il肃e(条件柔);7)结束胆语句a)函数顷结束喜语句re依tu交rn童[表达输式];re睬tu什rn旱;b)爸c僚as挂e结束咐语句br青ea惩k;c)异常吨结束舞语句ex堵it愈(异常鄙代码寨);8)输入朝和输胶出语跌句a)输入锹语句sc霜an拔f([格式穿串]扩,变蛇量1盏,.茎..悼,变垒量n)许;//通常而省略址格式政串b)输入丹语句pr熊in纽奉tf([格式伪串]本,表吼达式猾1,锅..布.,标表达骑式n)角;1.译3见抽象届数据拖类型爷的表趴示与壮实现●类C语言接——少语法及规则9)注释单行型注释//株文字姥序列10)基本督函数a)求最吐大值ma山x(表达层式1躲,.春..锋,表粥达式n)墙;b)求最持小值mi孝n(表达围式1星,.石..督,表躺达式n)都;c)求绝西对值ab蹦s(表达唇式)梨;d)求不性足整控数值fl炎oo再r(表达孩式)满;e)求进位镜整数勇值ce找il恼(表达院式)罗;f)判定妙文件圆结束eo摔f(文件秤变量量)或eo桑fg)判定捞行结甚束eo萄ln(文件傻变量宵)或eo泳ln1.响3法抽象图数据牙类型卷的表材示与择实现●类C语言慢——隶语法胶规则11)逻辑页运算民约定a)与运滋算&弟&殖对于A宴&&哄B法,当A的值亩为0勇时,卵不再震对B求值b)或运有算|脱|滋对于A惠||霞B伴,当A的值班为非玩0时则,不欣再对B求值1.面3弊抽象汤数据拔类型邻的表寻示与捕实现●类C语言乳——惑语法锋规则1.成3兰抽象留数据甚类型盗的表堵示与坊实现●“抽拳象数肥据类朴型”曾的表吊示与梨实现示例例1绑-1堵1抽象南数据榴类型坑“三眠元组计”的敌表示良与实满现(p1吩2)Ty傅pe秃de殊f帽El摧em笑Ty谣pe*T唤ri峰pl候et且;St布at坐usIn凯it滚Tr榨ip理le抢t(T邻ri盘pl护et库&做T,El顷em生Ty捉pev1翠,El掌em浙Ty雾pev2言,El峰em历Ty渡pev3念){//构造吗三元讯组T,依次改置T的3混个元泥素的规初值负为v1晨,v主2和v3旬。T腐=唱(El沙em蛛Ty顽pe*)ma国ll棚oc(这3话*si语ze拳of(El威em饼Ty射pe)岗);//分配且3个派元素舅的存彼储空滴间if慌(送!扯T猛)卸ex添it垮(企O斗VE溪RF倚LO那W伶);T[填0]脚=旋v暑1;T[脖1]象=闸v订2;T[斑2]格=润v谈3;re乖tu街rn橡O姐K;}St蹄at厘us系Ma炼x(恭Tr抢ip名le蔽t郊T,El吼em个Ty浩pe&e侍){//用e返回T的3医个元龟素中猫的最淘大值易。e欲=温(T嚷[0岗]>托=T厦[1肌])碧?嗽(理(T痛[0朴]>什=T首[2库])仿?咳T特[0善]个:泉T[净2]锹)革:选((按T[掌1]鲜>=茅T[弃2]著)笔?只T[液1]与:撇T呼[2许])刮;re漂tu斜rn难O才K;}1.特4员算法朵和算舌法分躁析1.逼4.缠1算法●算法踏的定然义算法(Al混go拉ri胡th案m)是对刚特定问题求解柜步骤的一返种描恢述,承是能竭在计皮算机斥上经久过有支限时计间完菊成的趣、毫贸不含建糊的指令霸的有乖限序锡列。其争中每腊一条绸指令递表示扯一个哪或多垮个操盛作。问题(Pr歪ob替le蹲m)是一霞个函岸数,腔或是叮输入五和输慎出的食一种筋联系程序(Pr艇og组ra枯m)是用何计算严机程懂序设煮计语坑言实船现的能完成划一定化功能基的代降码。算法物的实据现一老定是白程序县,但戏程序仆不一防定是狱算法剂的实卵现。返回煎目录1.测4斯算法冻和算轰法分贩析1.庸4.劫1算法●算法恨的5饿个重纪要特射性1)笨有穷挎性:执行猪有限效步,条每步潜均在置有穷映时间挺内完熊成。2)哪确定端性:对相打同的逢输入特,必乔产生箭相同胁的输慰出,磁即无二尺义性冷。3)邀可行值性:计算贝机可董使用驼已实废现的偏基本蜓运算使执行有限带次来完也成。4)夜输入业:零个钩或多妹个输柜入。5)重输出策:一个斥或多房诚个输形出。1.吼4虹算法令和算拨法分火析1.顽4.骂2算法傲设计腥的要吓求1)草正确胜性(Co容rr班ec累tn匙es幼s)算法撑应当满足化具体五问题株的需绞求。正确牺性的晌四个谱层次锻:a)程序达不含语法窃错误;b)程序造对于赶输入丹数据器能够杯得出汉满足乘规格谦说明设要求东的结偏果(要腾算对栽);c)程序粉对于歇精心粮选择拣的典谎型、播苛刻仿而带泼有刁吉难性牌的输踩入数据蹄能够含得出盾满足传规格独说明组要求文的结纽奉果;(常巴用标下准)d)程序堪对于盒一切粮合法防的输蹦入数堤据都奥能产刺生满颂足规装格说村明要求距的结邻果。(不并现实想)1.梅4结算法纱和算针法分献析1.窗4.解2算法某设计闭的要亲求2)哨可读臣性(Re滩ad求ab障il丢it模y)算法敞易于障理解伞、易帮于编宣码,永也易纽奉于调航试。3)锅健壮疗性(Ro边bu足st淡ne岸ss盲)指算西法对禽于异凑常的羡处理挎能力城。对于品异常特,要炎能作丙出判椒断,廉并给您出适或当的貌提示阵或警棒告信环息,殖以等借待操津作员扇的干优预或罢能自眉动进践行适寒当处滨理。1.但4辈算法热和算像法分册析1.增4.口2算法影设计混的要漫求4)逗效率里(Ef栗fi闹ci告en讨cy敢)与低存辅储量需求效率指算各法执参行时倍间。同一渴问题宰,算贵法执竿行时坟间越僚短,赞效率妙越高隔。存储婶量需厅求指算全法执涌行过骗程中猫所需恶的最辛大存填储空警间。效率似与低肚存储昌量需羽求都斧与问题茂规模有关。例如溜:求坚10跑0个揭人的芒平均膝分与奏求1盏00棍0个棋人的躬平均字分所括花的蚂执行级时间重或运趴行空兴间显恳然有淋一定锁的差港别。1.尽4蓄算法吸和算厦法分凳析1.佳4.说3算法语效率岸的度羽量●影响友算法赠效率跃(执扫行时旷间)杨的主陶要因吉素1)依据查的算剃法选斯用何民种策赢略2)问题夫的规喷模。例如乓求1遮00摩以内半不是使10肿00贡以内欲的素码数。3)书写惰程序排的语圾言。对于澡同一两个算弹法,严实现裤语言货的级戴别越满高,屈执行珠效率脊就越特低。4)编译到程序粘所产鲜生的理机器央代码输的质观量。5)机器挡执行晃指令丹的速场度。1.啦4苏算法踢和算砌法分伙析1.夺4.城3算法鸦效率丘的度目量●算法挡效率丽(执席行时涂间)番的度园量方雀法1)事后湿统计哪。对算河法程驴序的登执行傻进行县计时娘。因此欢,人朱们常听用另框一种轧事前攀分析录估算秃的方据法。2个欣缺陷世:a)必须先运区行依据反算法汤编制糟的程序;b)所得股时间迷的统评计量依赖于计萝算机泊的硬杜件、修软件梨等环境打因素,有浅时容墨易掩滨盖算棚法本蓬身的刚优劣伸。1.叛4狱算法符和算戒法分抬析1.巧4.顾3算法绸效率遇的度拨量●算法尊效率反(执截行时漆间)申的度圈量方粪法一个昨算法趁是由控制突结构(顺序烦、分卖支和纯循环)和原操病作(指固栏有数闭据类上型的滋操作)构紫成的些,算浅法时悠间取独决于悼两者闪的综邻合效生果。2)事前料估算熄。以问题材规模为主知要因摸素进缠行估存算。为便跟于比射较同有一问季题的锋不同幕算法狡,通善常的祖做法图是:从算职法中霞选取猪一种晴对于利所研楼究的丘问题绸(或枪算法此类型珍)来刘说是华基本怠运算镰的原操愚作,以爬该基本位运算豪重复洒执行梯的次离数作为疤算法慰的时修间量猎度的挂依据动。1.代4趋算法片和算在法分弄析1.阅4.读3算法鸟效率句的度番量例1当-1坡2事前切估算示例笛:两个n×枣n矩阵寒相乘者,令乘法蚁运算辟作为深基本鞭运算fo若r(她i碑=迟1叛;事i混<=卸n劳;摄i+好+铅)fo利r(份j厕=献1碗;醋j盏<=土n待;屿j+组+鸡){难C造[i性][兆j]趣=即0缠;fo李r(转k拌=蓄1脱;撤k肿<=爹n季;叹k+夫+伴)C[挂i]闭[j勿]悟+=铸A键[i职][士k]仔*晃B融[k继][妥j]晨;//基本砌操作};整个纵算法斑执行皮时间罚与乘摊法操许作重诞复执赛行的兄次数n3成正捎比,红记作T(市n)急=O桐(n3).两个n×然n矩阵源相乘区的时首间复感杂度露为O(鱼n3).1.体4瞧算法撞和算板法分旋析1.贵4.救3算法萄效率良的度灭量●时间扶复杂胳度一般千情况袍下,桨算法樱中基本素操作重复揉执行秩的次记数是虏问题宫规模n的某投个函眨数f(雅n),算法革的时弯间量烘度记很作T(垫n)亲=O(f踏(n租))它表育示随杆问题皮规模n的增耕大,垄算法粘执行肤时间都的增国长率生和f(瞎n)的增仗长率安相同蕉,称幼做算东法的渐近刑时间腔复杂持度(as重ym罗pt谨ot坐ic煎t父im书e哗co亚mp御le飞xi灶ty艳),简称时间浸复杂散度。1.搞4陪算法谦和算纵法分材析1.劣4.亦3算法致效率夺的度鼻量例1蛮-1盾3计算乓下列么程序提的时德间复折杂度fo国r(让i=顶1;披i城<=非n;衫i弹++劳)fo程r(卖j描=1中;践j震<=柜i拦;羊j+渴+)x=万x+尾1;分析愚:该至算法援为一吵个二膛重循提环,股执行呼次数贿为内哨、外终循环饲次数每相乘魂,但乒内循故环次的数不巾固定率,与浆外循挣环有亦关,洋因此犬,基匪本操福作语寻句x=允x+挽1;的重搭复执司行次籍数为膛:T(周n)括=蛇1猪+2堪+3零+…品+n猪=所以痕时间拿复杂似度为晒:T(抵n)序=O(n2)1.着4似算法掉和算变法分辣析1.非4.她3算法愚效率厘的度贱量例1余-1务4计算篮下列惰程序猛的时帜间复屋杂度x=伞0;宏y=好0快;//执行镰2次fo巡寿r骗(k驴=1疤;k丢<=兽n;舍k+猴+)x+敬+护;//执行n次fo夹r敲(i炒=1岂;i呼<=阻n;踪蝶i+姜+)fo手r须(j尖=1线;j意<=失n;索j+怨+)y+训+;//执行n2次解答:T(疑n)炊=炎n2+n还+2控=倒O告(n2)1.戴4困算法矿和算柜法分肾析1.皱4.森3算法骨效率隆的度猜量例1饮-1赶5计算僵下列尖程序昏的时恨间复胀杂度i=控1丙;wh果il义e(忠i比<=趋n)i微=工i统*2暮;//执行x次解答:分析悠可知2x<=原n,所以歪有x=└lo臭g2n┘T(n肥)严=└lo附g2n┘=鸦O(繁

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论