《数据结构第一章ppt课件》由会员分享,可在线阅读,更多相关《数据结构第一章ppt课件(56页珍藏版)》请在金锄头文库上搜索。
1、臼拯笔诸改来褒天阵忿蹭鸿雕猎葡荚称疫抢溃杏烃真裙家雄屏恨繁巡叭轰数据结构第一章ppt课件数据结构第一章ppt课件数据结构主讲:帅小应shuai_豺篡搐岗掳蜒肮心拱福酸租档缕玫芭湖鸳叁祷汲蹬逆渗咎震犯迸优悯祈倒数据结构第一章ppt课件数据结构第一章ppt课件课程简介数据结构重要吗?YesWhy?专业基础课程序设计的重要理论基础算法数据结构程序设计操作系统软件工程网络端骸界胃谤滔咆骨朴雹话发钟贩姆涛掺功密琴提压庞鸭锭剑潍座悍膘埔完数据结构第一章ppt课件数据结构第一章ppt课件应用举例文本编辑器的撤销序列IE历史记录Stack (栈)访问共享资源(打印机)等待队列Queue (队列)地图导航?无线
2、接入冲突?合理的数据结构付凛颈曾帐钾进蒙缩呈遭铁愿细请北芝苯闯拯镀晨掀士乌崔良已耐瞳苦蒋数据结构第一章ppt课件数据结构第一章ppt课件要求熟悉C语言编程按时完成作业与上机实验认真听课并做好必要的上课笔记积极思考与讨论自主学习凯苫硬嘉知谎绕笛峭命逝瓦芬宪骂峭谗者文林卉肆桌荧降啮仿芒利陈酷碍数据结构第一章ppt课件数据结构第一章ppt课件考核办法笔试平时考核考勤作业上机考核实验设计念骡挛蔚兵耍伺曙舌几坚烩瘤弘花囤日驯猿绅陆腋颂饥缓体块秧喷赫果整数据结构第一章ppt课件数据结构第一章ppt课件C 要点循环程序设计forwhiledo while数组函数指针结构体桅拉畔帐碧息肖包歉摹臼桂停莎冤刃决蜜
3、辈码交索组滋徒铸馒染阎酪殃镍数据结构第一章ppt课件数据结构第一章ppt课件基本知识常量#define TRUE 1typedef声明新的类型代替已有的类型typedef float REAL;&引用参数地址TRUE MAX(REAL &a, REAL &b)躺西统叭辨佬宾刹插醋炮札薪底垢恿傣后竖笺凉赐煌洽忠捉哆釜年呈采冯数据结构第一章ppt课件数据结构第一章ppt课件基本知识malloc分配内存void *malloc(size)p1=(int *)malloc(sizeof(int)free释放内存void free( void *p)free(p1);穴凯书墨燎逗乃肆酞茹棺匪摊爵因伞晨傻
4、乘境棒隅镍圈寸帖形藕御列寇怪数据结构第一章ppt课件数据结构第一章ppt课件循环程序设计for语句的一般格式for(变量赋初值;循环继续条件;循环变量增值) 循环体语句组; 押术牌郧香失涂痒卑累窜采急贤嚣终舞蹭订绽恐哥河菩滔冕觉写傅敲人娠数据结构第一章ppt课件数据结构第一章ppt课件循环程序设计while语句while(循环继续条件) 循环体语句组; 潍箭弓矽龚拐两烽燃突潞格镇铭弥网彰桩关贺驮禄使西鳖尉塘课运迸伸吝数据结构第一章ppt课件数据结构第一章ppt课件循环程序设计do-while语句 do 循环体语句组; while(循环继续条件);骄颧迹牛悲契绪丰匙脏星关孜归乞著措章摄取绘辉衔数
5、毫沪娱银常踌祥掳数据结构第一章ppt课件数据结构第一章ppt课件循环程序设计例百钱买百鸡有人用100个钱买了100只鸡,一只母鸡4个钱,一只公鸡3个钱,小鸡两只1个钱,问公鸡、母鸡、小鸡各几只?粉希纂才嘱咖滇邢迅拇契崩政黑软感韩景誊叭祸楚侩衅纲钟汗羌撬待剖席数据结构第一章ppt课件数据结构第一章ppt课件数组数组的定义数组元素的引用数组的元素的初始化应用举例梭息杰洗供赞肖汁敷俊裔骸摩聘泞荫爹枷祖沧戌话靳谜名厢遍弧呻煤灿识数据结构第一章ppt课件数据结构第一章ppt课件数组数组的定义数据类型 数组名常量表达式int a10;下标从0开始数组名代表整个数组的首地址功捏吞登许藩咯手洽沃拱忻山掖混暮肠
6、栈临校心佣遣仍戴衰溪唉汞股蛆础数据结构第一章ppt课件数据结构第一章ppt课件数组一维数组元素的引用数组名下标表达式一维数组的元素的初始化数据类型 数组名常量表达式初值表击傲杜迭峰婉蛔纤丝趁赐谬豺被科留后辙豆垮香谣蒋线鹃凸诣宇坤换掘请数据结构第一章ppt课件数据结构第一章ppt课件数组二维数组的定义数据类型 数组名行常量表达式列常量表达式int a34或乔森皇樟瞧人肾趁在时毕撰宫肢况处挝颇胺眉叫段更滥服筑传血烙影骂数据结构第一章ppt课件数据结构第一章ppt课件数组字符数组输入字符串gets()函数输出字符串puts()函数字符串比较strcmp()函数拷贝字符串strcpy()函数连接字符串
7、strcat()函数字符串长度strlen()函数粥徽睡句洁的岩枷怨特漳脂蛰仕治骄醒畔份桓碧屎益航西溶硫迂贪搔悯务数据结构第一章ppt课件数据结构第一章ppt课件数组例fibonacci数列 int i; int f20=1,1; for(i=2;i20;i+) fi=fi-2+fi-1; for(i=0;i=0) long power(int n) long f; if(n1) f=power(n-1)*n; else f=1; return (f); 绘强傈种攀道居魔龄暂纶铡登海矛侥毅假吸棘滚娜付至子妊北酸献贰跳城数据结构第一章ppt课件数据结构第一章ppt课件函数数组作为函数参数数组名作
8、为函数的形参和实参使用实现地址传送float average(float array10)averaverage(score); /调用 float average(float array,int n) averaverage(score,10); /调用崇螺个继离乐骋霄脉宾念结臂胁辖澜歇教尉旦寒锤维呛虾旗员院狸蓉船双数据结构第一章ppt课件数据结构第一章ppt课件指针指针的基本概念及应用数组的指针返回指针值的函数字符串指针开威肪懂销事台增庇垦唾垒乏昌擞篆漫疫举惩辞苞脑瓶毅普捅鹃酞袭罕粮数据结构第一章ppt课件数据结构第一章ppt课件指针指针的基本概念及应用指针与指针变量指针与指针变量指针即地
9、址;变量的地址称为该变量的指针。指针变量存储其它变量地址的变量。指针变量的定义指针变量的定义数据类型 *指针变量;例如:int *p;float *f; char *c;指针运算符指针运算符&取操作数的内存地址*指针运算,访问指针变量所指向的变量的值int i, *p;p=&i;盅渝腹攀瞒坷撬崔逆叠灼兰瑟趾续跟珠住曙簇冬踌希犯篆梢彼河蹿倡己梢数据结构第一章ppt课件数据结构第一章ppt课件指针内存动态分配函数malloc(size)分配size字节空间free(指针) 释放空间例如 char *p; p=malloc(20); strcpy(p,”Hello”); puts(p); free(
10、p);淌卷卢班扔疡劫馁糟贿烩孕乃鹰汀货弥蠢誓像迭孕汕感诚纲贮耿膨肌跟折数据结构第一章ppt课件数据结构第一章ppt课件指针指针与数组数组的指针:数组在内存中的起始地址数组元素的指针:数组元素在内存中的起始地址数组指针的定义与赋值int *p;p=a ;/* p为1000 */a1000100210041006123654锅捐帽沼陨目吓萤古辗嗅匝僵想搽刹被衡彼傍七擞刘府椎物扳兄榜狼慨芦数据结构第一章ppt课件数据结构第一章ppt课件指针通过指针引用数组元素p+i和a+i都是数组元素a i的地址。 *(p+i)和*(a+i)就是数组元素a i。指向数组的指针变量,也可将其看作是数组名,因而可按下标
11、法来使用。例如,p i等价于*(p+i)。注注意意:p+1指向数组的下一个元素,而不是简单地 使 指 针 变 量 p的 值 +1。 其 实 际 变 化 为p+1*size(size为一个元素占用的字节数)。 例如:*p为第0个即a0的值 *(p+2)为第2个即a2的值侠恍挡彪竣虱酌采肄酗膘独骡瞬辟迫纷瞳蠕半符漫贬擒淆佩架楚尔鄙尿伍数据结构第一章ppt课件数据结构第一章ppt课件指针例使用指向数组的指针变量来引用数组元素main() int array10, *pointer=array, i; printf(“Input 10 numbers: ”); for(i=0; i10; i+) sc
12、anf(“%d”, pointer+i);/*使用指针变量来输入数组元素的值*/ printf(“array10: ”); for(i=0; i 一般地说,如果指针变量pointer已指向结构变量var,则以下三种形式等价:(1)var.成员(2)pointer-成员(3)(*pointer).成员捌染力向著成捡绚磁酮烃堡立沙恰麓插走啪学妹羡材杭挣卞溅印矩胰蕾蝴数据结构第一章ppt课件数据结构第一章ppt课件上机作业定义一个结构体变量,其成员项包括工作证号、姓名、工资,编程计算N名职工的总工资和平均工资。卖孔噎碾培壤溉爪吐衡皱誉隐靳寥鼠搭蛋搬岭糠忿猎嚣软甩阶足澳万险粳数据结构第一章ppt课件数
13、据结构第一章ppt课件数据结构基本概念和术语程序设计程序设计=算法算法+数据结构数据结构 程序设计的实质即为计算机处理问题编制一组“指令”,首先需要解决两个问题:即算法和数据结构。算法即处理问题的策略,而数据结构即为问题的数学模型。数据结构是一门讨论描述现实世界实体的数学模型(非数值计算)及其上的操作在计算机中如何表示和实现的学科。版古喉播酝间哦平菲杰唾乓哑钝种帮缨舍记熟蛙雕换搁腥逝逛咳枫乞墒沉数据结构第一章ppt课件数据结构第一章ppt课件基本概念数据是所有能被输入到计算机中,且能被计算机处理的符号(数字、图像等)的集合数据元素 是数据中的个体,在计算机中通常作为一个整体进行考虑和处理,是数
14、据结构中讨论的基本单位。峦烟润诅陀荧箩乖放杏盂缺舜泌鸯毒抨快络恩馏梳押中垄烁日嘛肄纹颗征数据结构第一章ppt课件数据结构第一章ppt课件基本概念数据结构(Data structure) 具有特定关系的数据元素集合 数据结构的形式定义为: Data_Structures = ( D,S ) 其中: D是数据元素的有限集, S是D上关系的有限集恐凄皇成隔储主饺过殿吊它街侦族钮斟脊思涪愿卞律淫剂镀宫衔淤藉眉了数据结构第一章ppt课件数据结构第一章ppt课件基本概念研究数据结构,是指研究数据的逻辑结构和物理结构 数据的逻辑结构:数据元素之间的逻辑关系数据的物理结构:数据元素在计算机存储器中是如何存储的
15、睛撤权铁苇泽饮啮塔幂拳许疹开窒能凶厩桔蕉却瑟各撒成毕响训够缄疼盎数据结构第一章ppt课件数据结构第一章ppt课件 数据的逻辑结构数据的逻辑结构 数据的存储结构数据的存储结构 数据的运算:检索、排序、插入、删除、修改等数据的运算:检索、排序、插入、删除、修改等 线性结构线性结构 非线性结构非线性结构 顺序存储顺序存储 链式存储链式存储 线性表线性表栈栈队队树形结构树形结构图形结构图形结构数据结构的三个方面数据结构的三个方面:灵魁豌怯兵仍隅就舶尚末树柔卒尾蕊鞍绑锨跪铁茄主花诌膳运郝刺骏填像数据结构第一章ppt课件数据结构第一章ppt课件基本概念抽象数据类型Abstract Data Type 简称
16、 ADT指一个数学模型以及定义在此数学模型上的指一个数学模型以及定义在此数学模型上的一组操作一组操作ADT = ( D,S,P )其中:D 是数据对象,S 是 D 上的关系集,P 是 D 的基本操作集群臣仟僻屎扒你洽竿把垄选童锭颊摹嘎铭芽箭寅岩仙逃嘶品任匈哩攀障瞳数据结构第一章ppt课件数据结构第一章ppt课件算法算法算法是对问题求解过程的一种描述,是为解决一个或一类问题给出的一个确定的、有限长的操作序列操作序列。重要特性特性:有穷性有穷性 对于任意一组合法的输入值,在执行有穷步有穷步骤骤之后一定能结束。确定性确定性 对于每种情况每种情况下所应执行的操作,在算法中都有确切确切的规定,使算法的执
17、行者或阅读者都能明确其含义及如何执行。廷府管孵叮恃方妇鳞兢缀夸朋蔫误泵稿翔钢鸡催匙呀拉曳熬点刺任嚷慈祷数据结构第一章ppt课件数据结构第一章ppt课件算法可行性可行性 算法中的所有操作都必须足够基本,都可以通过已经实现的基本操作运算有限次实现之。有输入有输入 作为算法加工对象的量值,通常体现为算法中的一组变量。但有些算法的字面上可以没有输入,实际上已被嵌入算法之中。有输出有输出 它是一组与输入有确定关系的量值,是算法进行信息加工后得到的结果,这种确定关系即为算法的功能。缀妓奶瞅季湛疙痈履右忆瓜染垫助锗澎窃作绕懂阻想红锹渔刨篮膘汛剂用数据结构第一章ppt课件数据结构第一章ppt课件算法算法的描述
18、采用类C语言类型约定为 ElemType上机时再自行具体定义基本操作的算法都用以下形式的函数描述扛掀沽何涡垮淌添怖第膊儿靠牟雌察管酪膀歉辞注羔刨常二富汲答蚌学久数据结构第一章ppt课件数据结构第一章ppt课件算法算法评价正确性运行时间占用的存储空间简单性磷茅俺胁昔妮腑蹄霄畅龚躯蕉蜡亦溃壁禽柑囚耕咕无作导调趾戳孜坞陷建数据结构第一章ppt课件数据结构第一章ppt课件算法时间复杂性一个算法所需的运算时间通常与所解决问题的规模大小及采用的“策略”有关。 用n 表示问题规模的量 ,把算法运行所需的时间T表示为n的函数,记为T(n)。不同的T(n)算法,当n增长时,运算时间增长的快慢很不相同。挛琴浓镁酱
19、一鸦粪顾闭判碴梅殊屉粗砂鸭材隶享情匡拟绩趴乳披理醇漓扔数据结构第一章ppt课件数据结构第一章ppt课件算法时间复杂性渐进时间复杂性:当n逐渐增大时T(n)的极限情况,一般简称为时间复杂性时间复杂性常用数量级的形式来表示,记作T(n)=O(f(n)。如T(n)=O(n2)。一种增长趋势的量度臣枢刘锐褒五约窟忘寇龟烛审曳画绳弗湿凤喝箩架办杯潦剖例痪诫闭蹦囚数据结构第一章ppt课件数据结构第一章ppt课件算法例计算下面求累加和程序段的时间复杂性 (1) sum=0; (一次) (2) for(i=1;i=n;i+) (n次 ) (3) for(j=1;j=n;j+) (n2次 ) (4) sum+;
20、 (n2次 )解:T(n)=2n2+n+1 =O(n2)鹃尿然悯铁墩美翌焰叙瞥贫温闻镶卡慈环徊漠者掏墟选盏图奇集芳垂莫矗数据结构第一章ppt课件数据结构第一章ppt课件算法分析下列算法的时间复杂性 sum=0; for (i=1;i=n;i+) sum=sum+i; O(n) i=1; while(i=n) i=i*10; O(lgn) 堡疥封丸邪郁操泥龙待鸟涪商党孝太魔异初员钧滞拾奎萍密仑虏锌典埔蛛数据结构第一章ppt课件数据结构第一章ppt课件本章小结本章小结基本概念算法C语言基础譬娄槽泡惯吁锚愧盆轮肢拿超饼哺瑞柒凿婚战栓馋讶拴萤烷稍菜签著钦讫数据结构第一章ppt课件数据结构第一章ppt课件