数据结构-概述_第1页
数据结构-概述_第2页
数据结构-概述_第3页
数据结构-概述_第4页
数据结构-概述_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

计算机软件技术基础--上海大学 通信与信息工程学院安平计算机基础教学课件1第二章常用数据结构及其运算学时数:40,其中习题课2学时。讲授主要内容:第2、3、4章自学内容:其余各章

课程的主要内容及安排2第二章常用数据结构及其运算常用数据结构及其运算第二章3第二章常用数据结构及其运算内容 2.1概述 2.2线性表 2.3栈与队 2.5树与二叉树 2.6图 2.7查找 2.8排序4第二章常用数据结构及其运算2.1概述2.1.1数据结构的概念数值型与非数值型数据

数值型:整型、实型、布尔型等

非数值型:文献检索、金融管理、商业系统 等数据处理数据结构

研究非数值运算的程序设计问题。 数据结构就是相互之间存在一种或多种特定关系的数据元素的集合。 如线性关系、层次关系、网状关系等。5第二章常用数据结构及其运算2.1概述数据(data)——是信息的载体,指所有能输入到计算机中并被计算机程序处理的符号的总称。如数、字符、符号等的集合。分为数值型和非数值型数据两类。数据元素(dataelement)——是数据的基本单位。如数据集合N={1,2,3,4,5}中整数1至5均为数据元素。

数据元素不一定是单个的数字或字符,也可能是若干个数据项的组合,如学生信息。数据元素有时也称结点或记录。3.基本概念和术语6第二章常用数据结构及其运算2.1概述数据类型——程序设计语言中允许的变量类型

基本数据类型(原子类型):变量值不可分, 如整型、实型、字符型等 结构类型:变量值可分,如数组、结构体等数据对象(dataobject)——性质相同的数据元素的集合。如大写字母字符的数据对象是集合:C={‘A’,’B’,...,’Z’}。7第二章常用数据结构及其运算2.1概述数据结构(datastructure)——是指同一数据对象中各数据元素间存在的关系。

数据结构与算法—— 程序=算法+数据结构

算法指解决特定问题的有限运算序列8第二章常用数据结构及其运算2.1概述1.逻辑结构:研究数据元素及其关系的数学特性, 即数据元素间的逻辑关系。

二元组

S=(D,R)

D--数据元素的非空有限集合

R--D上关系的非空有限集合。2.1.2数据的逻辑结构和物理结构9第二章常用数据结构及其运算2.荣1助概际述四类普基本他结构熔:线性结构(一对一)

树形结构(一对多)

图形结构(多对多)举燃例2.盈1.亡2展数番据的些逻辑伏结构松和物笨理结似构集合10第二肠章求常用妈数据遥结构尼及其落运算例1:li趣ne极ar记it坡y艳=谁(D京,姑R)蓬,其中D振=浇{1假,2剧,3便,4耗,5放,6幸,7逆,8闹,9够,1弟0}R来=稀{r连}r凭=路{<恶7,遍2>弊,通<2犬,1术>,名<达1,接6>拌,潮<6杆,1各0>网,贡<1氏0,睁8>闯,叫<申8,护4>粗,重<4扮,5泊>,孔<话5,雄3>丧,根<3和,9悄>}例2:Tr惜ee锁=皇(D倚,瞒R)警,其中D似=骡{1害,2远,3形,4律,5腐,6冶,7单,8跟,9豆,1舟0}R框=舞{r商}r播=声{<锋1,捏2>色,斤<2戒,3岗>,赢<经2,运4>礼,形<1甜,5辅>,猜<掌5,泪6>减,曲<拦1,顾7>谅,党<7挤,8臣>,守<锦7,粘9>尚,既<7角,1亦0>长}11第二床章育常用穴数据歌结构喉及其消运算例4:S抄=令(D贼,悦R)洪,其中D形=侧{1榨,2嘴,3造,4盖,5蕉,6习}R鹅=番{r科1,旧r谦2}r冒1=爬{储<3须,2昂>,肿<胁3,棒5>汁,井<2准,1粘>,社<吼5,级4>遗,榴<5柏,6寨>}r2脖={毅<1废,2书>,旦<2搅,3测>,斥<3汽,4邪>,病<4搞,5湖>,减<5汤,6列>}例3:Gr战ap煎h=治(如D,恳R休),其中D灾=烘{1恳,2谨,3退,4锈,5凉};葱R利=帅{宵r}r有=拦{<着1,极2>膝,桨<1杆,4捐>,扬<伪1,卡3>险,暗<3花,5屠>,劣<洋2,淡3>歉}12第二裤章朵常用斥数据高结构访及其不运算2.藏1阳概宪述2.物理反结构驱(存烦储结际构)队:是逻堪辑结犬构在葡计算腿机野中的来映象主,即身具体绢实现辣。四种薯基本惊存储敌结构晒:顺装序存宰储结举构链式绍存储戚结构索引秧存储绵结构散列痰存储叼结构3.喊逻辑沙结构匠与存括储结界构的杜关系-算法布的设苍计取决填于选夕定的怕逻辑恒结构伟,而算辩法坏的实己现依赖纲于采算用的霉存储鸡结构哲。-同幅一种残逻辑战结构沃可采犹用不根同的案存储量结构。2.获1.迟2献数代据的立逻辑殃结构富和物资理结掉构13第二焦章下常用测数据随结构宰及其蚀运算2.决1会概体述2.矮1.页3爆算法赤与算记法分锅析一、系什么震是算联法算法李是对舒特定度问题捷求解勒步骤谣的一造种描变述,允是指榜令的赠有限出序列晕,其浙中每缺条指衣令表投示一值个或档多个茄操作只。算法翻的五薄个特浪征:有穷林性、仓确定休性、剪可行扬性、略输入溜、输背出算法皆描述巾:采用类C语言的形掏式,姜有时闻也用鱼自然膊语言较。注达释部忠分用//兽或/堪*.塌..赖*/表示青。14第二小章谱常用蛋数据祥结构养及其括运算2.毒1皇概苹述2.片1.昆3欢算法全与算仁法分辽析二、参算法沃设计狐的要尺求:正确父性、佛健壮蜡性、袍效率繁与低辜存储三、乘算法古评价程标准司:时间殃复杂资度、营空间怜复杂心度一般加时间柔复杂挎度考或虑的若较多哈。一个香可执待行的当算法好不一腾定是耗一个少好算挖法,框算法搬的分借析帅通常恼用计优算机外执行两时在时间和空间两方晋面的磁消耗促多少疯作为匆评价惠该算芽法优到劣的战标准培。度量童一个能程序异的执蜘行时事间通助常有希两种酱方法阁:事后律统计和事前出分析英估算着重烦介绍第二溉种方法栗。(余算法畏、问扬题规句模、军语言滴、机柱器代赶码质么量、扭机器萄执行军指令灵的速俘度)15第二枕章扫常用门数据半结构笑及其滥运算2.绳1悉概动述一、贺时间秧复杂肢度1.频度宵:指一革条语酒句重汤复执挣行的堆次数湾。记屡作:F(难n)2.算法抬的时负间度蓝量:T(源n)必=O内(F厦(n跟))是问栽题规辈模n的某钉个函鉴数F(炎n)购,称为疼算法榴的渐鸦进时壤间复抹杂度倚或时冬间复比杂度种。例:T(严n)纸=3圾n2+世2n仁,则T(诉n)特=O载(n2)T(此n)五=3n+晓2n,则T(净n)锄=O迹(3n)2.勇1.慎4端算充法分闻析技锦术初渡步16第二章章急常用猪数据臭结构戏及其悦运算2.朽1言概姓述“+阀+x党”的语搜句频静度及草三段廉程序眉的时淋间复份杂度范:(a懒)槐(览b)寇(c恋)F(摆n)浊:是1枯n碰n2T(棚n)择:登O病(1哄)触O抽(n飞)档O辫(n2)2.诊1.孟4们算全法分鸦析技脖术初匠步例:(a)室{澡++只x;顷s=哈0}(b忠)夸fo比r伏(i博=1剑;i够<=思n;显++继i)吓{涨++鲁x;讯s+恢=x董;}(c杜)桨fo楼r声(j艳=1泽;j温<=方n;挺++尿j)fo岔r杯(k太=1铜;k啄<=厌n;糠++徒k)属{棍++移x;赛s+犯=x放;}17第二哪章旱常用饮数据录结构鸣及其哲运算问题冰?有A、妄B两段益程序军同时惊运行浙,在拘某时后刻A的运笋行速迎度是B的2估倍,何因此跪,A的算蒜法复愿杂度行比B低(飘即效井率高甩)。2.河1境概廊述18第二孟章比常用洲数据鹊结构疏及其热运算2.宜1纯概神述常见烤的时抗间复及杂度1)O(召1):常量戒型2)O(巷n)钟、O颂(n2)、钞..押.、练O(nk):多项近式型3)O(绸lo车g2n)衔、O优(2核lo裂g2n):对数劲型4)O(抖2n)、缸O(说en):指数药型按增稻长率降排序暗,一合般有舱:1嗽)赠<3)迫<使2汉)少<罢4)2.头1.竟4兰算食法分资析技乖术初饺步T(n)n51015202n(n/2)35n2100n200log2n200019第二手章伞常用怠数据富结构系及其赖运算2.氏1束概手述当难碎以精鸦确计滴算基携本操悉作执药行次父数(话或语漠句频兔度)辫情况瘦下,姿只需毅求出敌关于n的增抵长率跟或阶窗即可壤。当难字以确鄙定各披种输托入数挣据集章出现黎的概宗率时贼,平访均时默间复贸杂度搏也难疾以确波定时辱,可订用最糟坏的霞情况腿作为翁分析讽依据2.马1.酷4啊算聪法分赵析技磁术初面步20第二税章肯常用搅数据娱结构辽及其岁运算2.惕1许概立述例:求下浪列程走序段奥的时傻间复袭杂度1.fo嫩r醉(衫i=恢0;侍i批<n晨;痕i+幅+)2.fo奋r腰(晃j=象0;枣j美<n硬;砖j+蚕+)莫{3.b[属i]哨[j耻]=殖0;4.fo期r炊(曾k=播0;止k巷<n浆;区k+肥+)5.b[随i]跃[j伞]=佳b[菜i]桨[j创]+滤a[塞i]推[k驾]*第a[著k]金[j乌];6.}2.亏1.鉴4立算周法分伴析技遗术初陈步以执服行次货数最技多的泡语句道(第5销句)进烂行计霜算:语句义频度方为:F(德n)幅=n3时间王复杂俯度:T(暖n)炊=O挥(F天(n包))墨=O纽奉(n3)21第二净章嚷常用歼数据残结构稠及其割运算2.照1障概蠢述3.程序销运行让时间枝计算映方法(1稳)伪两条读法则加法匙法则若T1陆(n抓)=视O(症F(肾n)孟),姨T侮2(沈n)滔=O秀(G幼(n辱))则:T1盲(n维)+具T鼠2(扁n)具=讲m仪ax臭(O酒(F乎(n挠))四,O呜(G千(n晋))文)乘法档法则喝:若T1挂(n班)=绿O(庭F(群n)丑),报T重2(按n)红=O孟(G雀(n程))则:T1符(n摸)愁•润T2行(n缝)爪=慈O(煮F炼(n亭)壮•鼻(G尝(n晃)纲)2.讲1.价4德算海法分旗析技本术初卡步22第二毙章茄常用型数据贫结构杂及其安运算2.发1正概伟述例:三个弯程序慈段执蛇行时圆间分宫别为O(妥n)闲、O迟(n3)、逢O(nl窃og劈燕n)则T(盛n)粥=信ma奖x(坐O(墙n)凑,O屠(n3),巨O(nl清og暂n))侦=凶O(宇n3)2.透1.立4浪算尾法分滑析技抚术初碍步加法剩法则特例态:某两损步的伯运行陶时间续分别柳为O(摄F(滋n)爹)、广O(罩G(谣n)伤)其中F(枝n)抵=低n4,冰n为偶挥数;G(羞n)圆=辉n2,封n为偶雾数=n2,仁n为奇厉数;G(劣n)染=曾n3,攀n为奇须数则总怕运行爆时间爸:T(弄n)向=赛O(去n4),当n为偶得数时睛;=斗O(健n3),当n为奇易数时苦;23第二弦章连常用兰数据父结构革及其班运算2.绕1叶概愧述2.越1.辟4孔算想法分任析技伴术初没步(2确)键常用如的六叮条分桑析规患则:1)既每个赋值因语句或读焰/写征语句称的运污行时细间通厘常是O(圈1)膨。例外舰情况铃:赋鼠值语部句的粘右部蛋表达拿式出衔现函骄数调腾用,挡此俊时要烤考虑买计算扣函数罚值所浓耗费特的时殃间2)洲一个序列冷语句的运查行时贫间由钉加法雀法则私确定便,即明为该盒序辆列中两耗时投最多病的语足句的贫运行纷时间首。24第二斥章业常用搞数据雪结构属及其随运算2.痒1新概党述2.纯1.邪4卧算缘瑞法分醒析技喝术初浆步3)if旬(…馒),淘S语句迈:执升行时匀间为顷条件决测试帜时间射(O(予1)聚)+分支抛语句S的执厌行时奔间。if奔(…心),坡S1条件福测试惩(O(颗1)阔)+担S冠1和S2中运涌行时el痒se意S2间较阴大者宅。4)循环平语句的运享行时棵间:骗是n次重季复执腔行循愿环体岔所耗时间法的总习和。高(应锈用乘摧法法疏则)即:桶执行凤一次跨循环描体时恳间的借最大完值×锡循环管次数每次奇执行贴循环术体的蝴时间炭=万循搂环体攻本身晶运行宏时间暴+计念算循扰环参日数及缎测试县时间纲(通差常为O(县1)充)。多层神循环糕:由驰内层脾->番外层息逐层顷分析25第二勿章遗常用者数据及结构絮及其风运算2.娱1衔概植述2.删1.估4萌算侧法分帅析技恒术初崭步5)过程兵调用切语句胆:a.非递加归过艳程:盗根据颈过程甲调用魔的层吸次,绑由内棕而外僻分食析程垄序的逗运行诞时间说。b.递归惕调用精:可恶先对业递归海过程昏设一拨特定株的运茶行时畅间邪函数T(绑n)衫,根据甲过程某递归绝调用肥的情恩况,像得到T(驱n)的一颂个递超推关杀系。6)go酱t悟o语句服:可以滴最坏高情况大进行要计算财,即尺在遇赛到向通下植转移延的go护t林o语句适时,葱可认健为go帅t亲o语句统所引逮起捡的控纯制转毛移根比本没衔有发艇生;捞当遇姨到向袄上转枪移的go践to语句驰时,责则必系须考康虑它圣对程酱序运拌行时送间的克影响僻。26第二只章誓常用堤数据莲结构丑及其终运算2.族1晴概贺述4.时间运复杂派度计赴算举迎例2.洁1.案4膝算杨法分友析技粗术初殃步例1卷:(1卫)fo娃r谢(据i=珠1;肚i毛<=案n-跟1;长+辰+i勒)蚕{(2框)伟fo汇r狠(渡j=腐n;刮j隶>=症i+徒1;洁-披-j骗)新{(3橡)脸if乐(利A丽[j纽奉-1豪]>躺A[贸j]恢)厨{(4熟)寒t许em柿p失=绩A[驱j-嚼1]苹;(5醋)狂A沈[j瞧-1灶]=逝A[票j]循;(6岩)沃A回[j篮]=演te厘mp兆;}}}分析:(4野)~信(6井):O(杏1)(3谜)~扣(6友):奶O(声1)(2垮)~巧(6落):趁O(嘉1×飞(n裳-i子))=堪O(摄n-援i)(1张)~惭(6威):T(同n)似=O岂(n2)27第二劈燕章貌常用年数据浅结构漆及其在运算2.道1正概回述2.景1.削4钢算乳法分妨析技地术初罢步例2冈:fo摘r县(职i=赢2丘;盘i<离=隔n-标2宽;严++悠i图)fo状r肝(鞠j=勉n灿;碰j坑>=辞i吩;墙-同-j症){蚁S尼;}求“S”语句杜的频刘度及孝整个流程序描段的槐算法腥复杂震度分析:i=羡2:执行n-没1次i=波3:执行n-戏2次…i=亭n-济2;执行璃3桂次则:F(伸n)崇=蓬3卫+4境+5鹅+…宵+n翁-1进=啊(邪n-逝3)梨(n脾+2贸)/舌2T(校n)砖=昂O茧(n2)28第二休章笼常用遥数据煌结构之及其扫运算2.喊1央概甚述2.党1.晌4金算聪法分氏析技床术初循步例3狭:i=雨1;Wh澡il目e概(树i<悠=n蚂)@辽i=紫i*怀3济;求@墨语句蓝的频贫度及桨整个垒程序勺段的特算法龄复杂起度分析:设涌@句惩的频纽奉度为F(注n)则:T(肠n)拖=鹊O甜(l表og3n)29第二贫章沸常用蔑数据泼结构宏及其厘运算2.候1养概判述2.尖1.恩4垮算荣法分轨析技脂术初善步例4垮:pr速im绣e(in狐tn斥)盲//贸n为一干正整符数{in翅ti=绑2月;wh牙il毫e务((绢n月%i走)!章=0往&智&徒i*劣1.倾0<sq泉rt(n当)i+元+;if惠(升i*车1.宋0题>sq缓rt(n核))pr苹in毯tf(“弄%d是一地素数恨\n”驰,挖n)唉;el主sepr续in趣tf(“梅%d不是售一素钢数\n”融,胳n)茶;}求算欣法的暑复杂逗度分析:设备嵌套右最深庸层语合句“i+尼+”的频汁度为F(耀n)布,有:F(败n)胸×1拆.0源<sq贿rt(n玩)则30第二摄章耀常用牲数据题结构剧及其叠运算2.杆1烫概盘述2.造1.疯4枕算水法分桐析技沾术初争步例5馅:x夏=程n辣;总y症=节0稀;wh酬il订e裕(栋x贿>=付(烤y+决1)否(y俊+1峰))叼d冰o@冒y掌=秧y麦+1芹;求@赠语句即的频社度和质整个牺程序装段的水算法摔复杂例度分析宋:F(探n)插×F交(n话)下<=彼n31第二捡章手常用鸽数据霞结构猾及其究运算2.膏1由概假述2.蕉1.感4封算注法分摸析技化术初浓步例6躺:w毅=桶11和;勺k同=蹦21忌;wh你il槐e撑(恩k映>画10莫)熄do@组if共w香>跑2芒0套th雁en翼{字w=讯w-同10奸;兔k装--遍}el渡se亦w议=w括+1蜓0;求@蓝语句必的频缝度分析择:对浊每一茧合法k值,奖@句场执行晕2次则,生@句党频度F(底n)慈=岔(2卧1-捡10按)×岔2=叙2232第二租章用常用赵数据益结构亡及其傅运算2.丙1禾概锐述2.只1.粒4色算序法分兼析技菠术初伟步例7旺:x筛=蓝87幸;芬y吩=糕10盘;wh怀il乖e茧(亏y御>绘0艳)腐{@叔i筒f讯(要x侵>锹1朗00条){纤x眨-混=相10畏;羽y略-肆-歇;盆}el篇se看x广+胆+爱;}求@柱语句边的频殿度和友整个旱算法虹的复婆杂度思。分析立:@册句频作度F(筛n)苹=迅15坐+1醉1×军9=隙11溉4T(拜n)笋=O告(1筐)33第二勿章雕常用怕数据淹结构更及其跪运算2.消1东概引述2.定1.馒4旦算插法分贞析技贱术初盖步例8隙:in林tfa殃ct血(in凡tn)馅/唯/计算n!{(1树)胆if丘(懂n代<=娃1)(2坊)拖f听ac宽t=甲1;el问se(3再)假f坑ac还t=步n*宇fa愧ct纵(n勺-1巨)姻;}计算骑程序踏段的酱时间拆复杂爱度34第二颂章擦常用絮数据案结构尿及其精运算2.擦1济概允述2.踩1.伟4库算董法分聪析技忧术初剪步例9丧:fl鹿oa舞t狸p拜(跌n)in蛛tn;{(1艰)满i赢f母(n批<=船1)赌r晒et侧ur羡n(禁n)胶;(2疼)狱e熊ls厉e湿re功tu户rn楼(p穗(n惨-1律)+词p(绕n-勾2)虑);}计算秘程序体段的绞时间新复杂艘度35第二冶章积常用蠢数据帽结构秘及其醒运算2.士1袖概场述二、深空间马复杂夺度空间饺复杂无度是捷指在耐算法欠中所牛需的势辅助洗空间垫单元率而不携包括贼问题谜的原睡始数普据占汪用的战空间雄(因将为这窝些单禁元与购算法厌无关怖),太记作蜂:S(龟n)时间场与空益间是亦一对布矛盾木。要联节约

温馨提示

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

评论

0/150

提交评论