数据结构 第1章 绪论

上传人:cl****1 文档编号:570111627 上传时间:2024-08-02 格式:PPT 页数:61 大小:1.31MB
返回 下载 相关 举报
数据结构 第1章 绪论_第1页
第1页 / 共61页
数据结构 第1章 绪论_第2页
第2页 / 共61页
数据结构 第1章 绪论_第3页
第3页 / 共61页
数据结构 第1章 绪论_第4页
第4页 / 共61页
数据结构 第1章 绪论_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《数据结构 第1章 绪论》由会员分享,可在线阅读,更多相关《数据结构 第1章 绪论(61页珍藏版)》请在金锄头文库上搜索。

1、数数 据据 结结 构构下一页下一页结结 束束上一页上一页要要 点点02-8月月-242 2总成绩:平时成绩30期末成绩70平时成绩:n考勤作业n2次迟到早退算一次缺勤n全到、作业全交,为平时分80n认真程度占平时分20下一页下一页结结 束束上一页上一页要要 点点02-8月月-243 3求求1-100之间数的和之间数的和int i, sum = 0, n = 100;for(i = 1; i = n; i+ + )sum = sum + i;printf(“%d”, sum);int i, sum = 0, n = 100;sum = (1 + n) * n / 2;printf(“%d”, s

2、um);int i, sum = 0, n = 100;for(i = 1; i 1.1 什么是数据什么是数据结构构1.2 基本概念和基本概念和术语1.3 抽象数据抽象数据类型的表示和型的表示和实现1.4 算法和算法分析算法和算法分析第一章下一页下一页结结 束束上一页上一页要要 点点02-8月月-247 71.1 什么是数据结构什么是数据结构&计算机算机对某某类信息信息进行行处理的理的步步骤:F怎样进行处理怎样进行处理 -处理问题的策略处理问题的策略 (算法算法)F被处理的信息怎么表示被处理的信息怎么表示 -问题的数据模型问题的数据模型(数据结构数据结构)下一页下一页结结 束束上一页上一页要要

3、 点点02-8月月-248 81程序程序设计:为计算机算机处理理问题编制的一制的一组指令集合指令集合1算法算法+数据数据结构构=程序程序下一页下一页结结 束束上一页上一页要要 点点02-8月月-249 9数据结构数据结构!非数非数值计算程序算程序设计中描述中描述现实世界世界实体的数学模型及其上的操体的数学模型及其上的操作在作在计算机中的表示和算机中的表示和实现。下一页下一页结结 束束上一页上一页要要 点点02-8月月-241010 1.2基本概念和术语基本概念和术语数据:数据:是是对客客观事物的符号表事物的符号表 示示。所有能所有能输入到入到计算算 机中并被机中并被计算机程序算机程序处 理的符

4、号的理的符号的总称。称。 例如,整数、例如,整数、实数、字数、字 符、符、图像、声音等像、声音等.下一页下一页结结 束束上一页上一页要要 点点02-8月月-241111数据元素:数据元素: 数据中的一个数据中的一个“个体个体”,数据,数据 结构中构中讨论的基本的基本单位,在位,在 计算机中通常作算机中通常作为一个整体一个整体 进行考行考虑和和处理。理。数据数据项: 数据数据结构中构中讨论的最小的最小单位,数位,数 据元素是数据据元素是数据项的集合。的集合。下一页下一页结结 束束上一页上一页要要 点点02-8月月-241212例如:学生(数据元素)例如:学生(数据元素)下一页下一页结结 束束上一

5、页上一页要要 点点02-8月月-241313数据数据对象象 性性质相同的数据元素的集合相同的数据元素的集合, , 是数据的一个子集。是数据的一个子集。例如:例如: 整数集合:整数集合:N N= 0, 1, 2, 无限集无限集 字符集合:字符集合:C = A, B, ,Z 有限集有限集下一页下一页结结 束束上一页上一页要要 点点02-8月月-241414数据数据结构构: :带结构构的数据元素的的数据元素的 集合集合. .例例1 1:一个含一个含1212位数的十位数的十进制数可以用三制数可以用三个个4 4位的十位的十进制数表示制数表示12341234,56785678,9012-a1(1234),

6、a2(3456),a3(9012)9012-a1(1234),a2(3456),a3(9012)在在a1a1、a2a2和和a3a3之之间存在存在“次序次序”关系关系、12341234,56785678,9012 9012 5678, 1234, 90125678, 1234, 9012a1 a2 a3 a2 a1 a3 a1 a2 a3 a2 a1 a3 下一页下一页结结 束束上一页上一页要要 点点02-8月月-241515例例2:2行行3列的二维数组列的二维数组a1,a2,a3,a4,a5,a6行的次序关系:行的次序关系:row row = = ,列的次序关系:列的次序关系:col = ,a

7、1 a2 a3 a1 a3 a5 a4 a5 a6 a2 a4 a6a1a2a3a4a5a6下一页下一页结结 束束上一页上一页要要 点点02-8月月-241616例例3:一维数组:一维数组a1,a2,a3,a4,a5,a6中存在中存在次序关系:次序关系:i=1,2,3,4,5不同的关系构成不同的不同的关系构成不同的结构构下一页下一页结结 束束上一页上一页要要 点点02-8月月-241717元素之间的相互联系元素之间的相互联系( (关系关系) )称为称为逻辑结构逻辑结构,归结为一下四类:,归结为一下四类:线性性结构构树形形结构构图状状结构构(网状网状结构构)集合集合 下一页下一页结结 束束上一页

8、上一页要要 点点02-8月月-241818数据结构的形式定义为:数据结构的形式定义为:数据数据结构是一个二元构是一个二元组 Data-Structure=(D,S)其中:其中:D是数据元素的有限集是数据元素的有限集S是是D上关系的有限集。上关系的有限集。下一页下一页结结 束束上一页上一页要要 点点02-8月月-241919数据的存储结构数据的存储结构-数据数据结构在构在计算机中的表示(映像)算机中的表示(映像),包括数据元素的表示和关系的表,包括数据元素的表示和关系的表示。示。数据元素的映像方法:数据元素的映像方法:用二用二进制位制位(bit)的位串表示数据元素的位串表示数据元素(321)10

9、=(501)8=(101000001)2下一页下一页结结 束束上一页上一页要要 点点02-8月月-242020关系的映像方法关系的映像方法uu顺序映像序映像:借助元素在存:借助元素在存储器中的相器中的相对位置位置来表示数据元素来表示数据元素间的的逻辑关系。关系。【例例例例】对于学生信息登记表进行存储,假定每个元素占用对于学生信息登记表进行存储,假定每个元素占用对于学生信息登记表进行存储,假定每个元素占用对于学生信息登记表进行存储,假定每个元素占用5050个存储单元,数据从个存储单元,数据从个存储单元,数据从个存储单元,数据从10001000号单元开始由低地址向高号单元开始由低地址向高号单元开始

10、由低地址向高号单元开始由低地址向高地址存放,对应的顺序存储结构如表地址存放,对应的顺序存储结构如表地址存放,对应的顺序存储结构如表地址存放,对应的顺序存储结构如表1-31-3所示。所示。所示。所示。下一页下一页结结 束束上一页上一页要要 点点02-8月月-242121u链式映像:链式映像:以附加信息(指针)表以附加信息(指针)表示后续关系示后续关系借助指示元素存储地址的指针表借助指示元素存储地址的指针表示数据元素间的逻辑关系。示数据元素间的逻辑关系。y y x x下一页下一页结结 束束上一页上一页要要 点点02-8月月-242222【例例】对于学生信息登记表进行链式存储对于学生信息登记表进行链

11、式存储时,在每个数据元素后方附加一个指向时,在每个数据元素后方附加一个指向“下一个结点地址下一个结点地址”的指针字段,用于的指针字段,用于存放后继数据元素的存储地址,每个数存放后继数据元素的存储地址,每个数据元素的地址是随机的,可以不连续。据元素的地址是随机的,可以不连续。对应的链式存储结构见表对应的链式存储结构见表1-41-4所示。所示。下一页下一页结结 束束上一页上一页要要 点点02-8月月-242323抽象数据类型(抽象数据类型(ADT)抽象数据抽象数据类型(型(Abstract Data Type,简称称ADT)是指一个数)是指一个数学模型(数据学模型(数据结构)以及定构)以及定义在在

12、该模型上的一模型上的一组操作。操作。下一页下一页结结 束束上一页上一页要要 点点02-8月月-242424ADT两个重要特征两个重要特征数据抽象数据抽象用用ADT描述程序处理的实体时,强调的是其描述程序处理的实体时,强调的是其本质的特征、其所能完成的功能以及它和外本质的特征、其所能完成的功能以及它和外部用户的接口(即外界使用它的方法)部用户的接口(即外界使用它的方法)数据封装数据封装将实体的外部特性和其内部实现细节分离,将实体的外部特性和其内部实现细节分离,并且对外部用户隐藏其内部实现细节。并且对外部用户隐藏其内部实现细节。下一页下一页结结 束束上一页上一页要要 点点02-8月月-242525

13、例:抽象数据例:抽象数据类型复数的定型复数的定义:ADT Complex数据数据对象象:D=e1,e2e1,e2RealSet数据关系:数据关系:R1 =e1是复数的是复数的实数部分数部分 e2是复数的虚数部分是复数的虚数部分下一页下一页结结 束束上一页上一页要要 点点02-8月月-242626基本操作:基本操作:InitComplex(&z,v1,v2)操作操作结果:果:构造复数构造复数Z,其,其实部和虚部分部和虚部分别被被赋以参数以参数V1和和V2的的值。DestroyComplex(&z)操作操作结果:复数果:复数Z被被销毁GetReal(z,&realPart)初初时条件:复数已存在。

14、条件:复数已存在。操作操作结果:用果:用realPart返回复数返回复数Z的的实部部值下一页下一页结结 束束上一页上一页要要 点点02-8月月-242727GetImag(Z,&ImagPart)初初时条件:复数已存在。条件:复数已存在。操作操作结果:用果:用ImagPart返回复数返回复数Z的虚部的虚部值。Add(z1,z2,&sum)初初时条件:条件:z1,z2是复数是复数操作操作结果:用果:用sum返回两个复数返回两个复数Z1,Z2的和的和值ADT Complex下一页下一页结结 束束上一页上一页要要 点点02-8月月-242828抽象数据类型的描述方法抽象数据类型的描述方法n抽象数据抽

15、象数据类型可用三元型可用三元组表示:表示: ADT=(,)(,) 其中,其中,D是数据是数据对象,象, S是是D上的关系集,上的关系集, P是是对D的基本操作集。的基本操作集。下一页下一页结结 束束上一页上一页要要 点点02-8月月-2429291.4 算法和算法分析算法和算法分析1. 算法算法:对特定特定问题求解步求解步骤的一种描的一种描述,它是指令的有限序列。一个算法述,它是指令的有限序列。一个算法必必须满足以下五个重要特征:足以下五个重要特征:有有穷性:性:一个算法必一个算法必须(对任何合法任何合法的的输入入值)在)在执行行有限步有限步之后之后结束束,且且每一步都可在每一步都可在有有穷时

16、间内完成。内完成。确定性:确定性:算法中的每一条指令必算法中的每一条指令必须有有确切的含确切的含义,不会,不会产生二生二义性。性。下一页下一页结结 束束上一页上一页要要 点点02-8月月-243030可行性:可行性:算法中描述的操作都算法中描述的操作都可以通可以通过执行有限次基本操作行有限次基本操作来来实现。输入:入:一个算法有零个或多个一个算法有零个或多个输入入输出:出:一个算法必有一个或多个一个算法必有一个或多个输出。出。下一页下一页结结 束束上一页上一页要要 点点02-8月月-243131二二.算法设计的原则算法设计的原则设计算法算法时,通常,通常应考考虑达到以下达到以下目目标:正确性正

17、确性可可读性性健壮性健壮性高效率与低存高效率与低存储量需求量需求下一页下一页结结 束束上一页上一页要要 点点02-8月月-243232正确性正确性n首先,算法首先,算法应当当满足以特定的足以特定的“规格格说明明”方式方式给出的需求。出的需求。n其次,其次,对算法是否算法是否“正确正确”的的理解可以有以下四个理解可以有以下四个层次:次:a)程序中不含程序中不含语法法错误b)程序程序对于几于几组输入数据能入数据能够得得出出满足要求得足要求得结果果下一页下一页结结 束束上一页上一页要要 点点02-8月月-243333c)程序程序对于精心于精心选择得、典型、得、典型、苛刻却苛刻却带有刁有刁难性的几性的

18、几组输入入数据能数据能够得出得出满足要求的足要求的结果果d)程序程序对于一切合法的于一切合法的输入数据入数据都能得出都能得出满足要求的足要求的结果果通常以通常以C层意意义的正确性作的正确性作为衡量衡量一个程序是否合格的一个程序是否合格的标准准下一页下一页结结 束束上一页上一页要要 点点02-8月月-243434可读性可读性算法主要是算法主要是为了人的了人的阅读与交与交流,其次才是流,其次才是为计算机算机执行。因行。因此算法此算法应该易于人的理解;另一易于人的理解;另一方面,晦方面,晦涩难读的程序易于的程序易于隐藏藏较多多错误而而难以以调试下一页下一页结结 束束上一页上一页要要 点点02-8月月

19、-243535健壮性健壮性当当输入非法的数据入非法的数据时,算法,算法应能恰能恰当地做出反当地做出反应或或进行相行相应处理理,而不是而不是产生莫名奇妙的生莫名奇妙的输出出结果。果。并且并且处理出理出错的方法不的方法不应是中断是中断程序的程序的执行,而是返回一个表示行,而是返回一个表示错误或或错误性性质的的值,以便在更,以便在更高的抽象高的抽象层次上次上进行行处理。理。下一页下一页结结 束束上一页上一页要要 点点02-8月月-243636高效率与低存储量需求高效率与低存储量需求通常,效率指的是算法通常,效率指的是算法执行行时间;存;存储量指的是算法量指的是算法执行行过程程中所需的最大存中所需的最

20、大存储空空间。两者都。两者都与与问题的的规模有关。模有关。下一页下一页结结 束束上一页上一页要要 点点02-8月月-243737三三.算法效率的度量算法效率的度量通常有两种衡量算法效率的方法:通常有两种衡量算法效率的方法:事后事后统计法法缺点:缺点:1.必必须执行程序行程序 2.其他因素掩盖算法本其他因素掩盖算法本质(2)事前分析估算法事前分析估算法下一页下一页结结 束束上一页上一页要要 点点02-8月月-243838和算法执行时间相关的因素和算法执行时间相关的因素1.1.算法选用的策略算法选用的策略2.2.问题的规模问题的规模3.3.编写程序的语言编写程序的语言4.4.编编译译程程序序产产生

21、生的的机机器器代代码码的的质质量量5.5.计算机执行指令的速度计算机执行指令的速度下一页下一页结结 束束上一页上一页要要 点点02-8月月-243939一个特定算法的一个特定算法的”运运行工作量行工作量”的大小,只依的大小,只依赖于于问题的的规模(通常用模(通常用整数量整数量n表示),或者表示),或者说,它是它是问题规模的函数。模的函数。下一页下一页结结 束束上一页上一页要要 点点02-8月月-244040假如,随着假如,随着问题规模模n的的增增长,算法,算法执行行时间的增的增长率和率和F(n)的增的增长率相同,率相同,则可可记作:作:T(n) = O(f(n)称称T(n)为算法的(算法的(渐

22、进)时间复复杂度度下一页下一页结结 束束上一页上一页要要 点点02-8月月-244141估算算法的时间复杂度估算算法的时间复杂度n算法算法= 控制控制结构构+原操作原操作 (固有数据(固有数据类型的操作)型的操作)算法的算法的执行行时间=原操作(原操作(i)的)的执行次数行次数原操作原操作(i)的的执行行时间算法的算法的执行行时间 与与 原操作原操作执行次数行次数之和之和 成正比成正比下一页下一页结结 束束上一页上一页要要 点点02-8月月-244242从算法中从算法中选取一种取一种对于所研究于所研究的的问题来来说是是 基本操作基本操作 的原操的原操作,以作,以该基本操作基本操作 在算法中重在

23、算法中重复复执行的次数行的次数 作作为算法运行算法运行时间的衡量准的衡量准则下一页下一页结结 束束上一页上一页要要 点点02-8月月-244343例例1.求两个矩阵相乘的函数的时间复杂度。求两个矩阵相乘的函数的时间复杂度。void mult(int a, int b, int c) /*以二维数组存储矩阵元素,以二维数组存储矩阵元素,c为为a和和b的乘积的乘积*/ for(i=1;i=n;+i) for(j=1;j=n;+j) ci,j=0; for(k=1;k=n;+k) ci,j+=ai,k*bk,j; 基本操作:乘法操作基本操作:乘法操作时间复杂度:时间复杂度:O(n3)下一页下一页结结

24、 束束上一页上一页要要 点点02-8月月-244444例例2:void select_sort(int a,int n)void select_sort(int a,int n)/将将将将a a中整数序列重新排列成自小至大有序的整数序列。中整数序列重新排列成自小至大有序的整数序列。中整数序列重新排列成自小至大有序的整数序列。中整数序列重新排列成自小至大有序的整数序列。 for(i=0;in-1; +i) ) j=i; for(k=i+1;kn; +k) if (akaj) j=k; If(j! =i) aj ai /select_sort基本操作:比基本操作:比较(数据元素)操作(数据元素)操

25、作时间复复杂度:度:O(n2)下一页下一页结结 束束上一页上一页要要 点点02-8月月-244545被称做被称做问题的的基本操作基本操作的的原操原操作作应是其重复是其重复执行次数和算法的行次数和算法的执行行时间成正比,多数情况下成正比,多数情况下它它是最深是最深层循循环内的内的语句中的原操句中的原操作作,它的,它的执行次数和包含它的行次数和包含它的语句的句的频度相同。度相同。语句的句的频度:度:该语句重复句重复执行的次行的次数。数。下一页下一页结结 束束上一页上一页要要 点点02-8月月-244646例:例:a)+x;s=0;b)b)for(i =1,i=n; +i) +x;s+=x;c)c)

26、for(j =1,j=n; +j) for(k =1,k1&change;-i)for(i=n-1,change=true;i1&change;-i) change=FALSE; change=FALSE; for(j=0;ji; +j) for(j=0;jaj+1+1)a)ajaj+1+1; change=TRUE=TRUE /bubble_sort基本操作:基本操作:赋值运算运算时间复复杂度:度:O(n2)下一页下一页结结 束束上一页上一页要要 点点02-8月月-244848四四.算法的存储空间需求算法的存储空间需求算法的空算法的空间复复杂度度S(n)=O(f(n)表示随着表示随着问题规模

27、模n的增大,的增大,算法运行所需存算法运行所需存储量的增量的增长率与率与f(n)的增)的增长率相同。率相同。下一页下一页结结 束束上一页上一页要要 点点02-8月月-244949算法的存储量包括:算法的存储量包括:1.输入数据所占空入数据所占空间2.程序本身所占空程序本身所占空间3.辅助助变量所占空量所占空间下一页下一页结结 束束上一页上一页要要 点点02-8月月-245050若若输入数据所占空入数据所占空间只取决与只取决与问题本身,和算法无关,本身,和算法无关,则只需只需要分析要分析除除输入和程序之外的入和程序之外的辅助助变量所占量所占额外空外空间。若所需若所需额外空外空间相相对于于输入数入

28、数据量来据量来说是常数,是常数,则称此算法称此算法为原地工作原地工作。若所需存若所需存储量依量依赖于特定的于特定的输入,入,则通常按最坏情况考通常按最坏情况考虑。下一页下一页结结 束束上一页上一页要要 点点02-8月月-245151C语言回顾语言回顾一一.在本在本课程中,数据的存程中,数据的存储结构是用构是用C语言的数据言的数据类型(定型(定义)的,主要用到)的,主要用到下列数据下列数据类型:型:结构、指构、指针。1.结构构1)结构构类型型变量量(结构构变量量)由一由一组类型可以型可以不同的数据元素不同的数据元素组成。成。2)结构的构的类型定型定义和和变量定量定义typedef 结构定构定义

29、结构构类型名;型名;结构构类型名型名 结构构变量名;量名;下一页下一页结结 束束上一页上一页要要 点点02-8月月-245252例:一本例:一本书可以用可以用2个数据成个数据成员(数据域)(数据域)结构构变量存量存储。typedef struct int no; char title40;BookType;BookType book1;结构变量名结构变量名结构变量名结构变量名结构类型名结构类型名结构类型名结构类型名下一页下一页结结 束束上一页上一页要要 点点02-8月月-2453533)结构变量在内存中的存储示意图)结构变量在内存中的存储示意图4)结构变量的引用)结构变量的引用 结构变量名结构

30、变量名.成员名成员名(结构变量名结构变量名.域名域名)例:例:book1.no=1; scanf(“%s”,book1.title);no titleno title1no titleno title下一页下一页结结 束束上一页上一页要要 点点02-8月月-2454542.指指针1)指)指针类型型变量量(指指针变量量)用于存用于存储变量地址(或称指向量地址(或称指向该变量)量)2)指)指针的的类型定型定义和和变量定量定义(只介(只介绍本本课程用到的指向程用到的指向结构构变量指量指针类型)型) typedef 结构定构定义 *指指针的的类型名;型名; 指指针的的类型名型名 指指针变量名量名 类类

31、型型定定义义 变量定义变量定义下一页下一页结结 束束上一页上一页要要 点点02-8月月-245555例:例:typedef struct int no; char title; *BookPtType;BookPtType pbook pbook是指是指针变量,存放量,存放结构构类型型变量的量的地址,通常用箭地址,通常用箭头表示表示pbook中存放的是它中存放的是它所指向的所指向的结构构变量的地址。量的地址。指向结构类型变量指向结构类型变量的指针类型的指针类型指向结构类型变指向结构类型变量的指针变量量的指针变量no titleno titlepbookpbook下一页下一页结结 束束上一页上一

32、页要要 点点02-8月月-2456563)指指针所指所指变量的引用量的引用指指针变量量结构构变量成量成员名名例例 typedef struct int no; char title; *BookPtType; BookPtType pbook; pbookno=1; scanf(“%s”,pbooktitle);给给pbookpbook所指所指结构变量结构变量nono成员赋值成员赋值1 11no titleno titlepbookpbook下一页下一页结结 束束上一页上一页要要 点点02-8月月-245757二二. .动态存存储分配函数分配函数最常用的最常用的动态存存储分配函数分配函数: :

33、(1 1)分配内存空分配内存空间函数函数malloc()malloc()格式:格式:( (类型名型名 * *)malloc()malloc(要分配的内存字要分配的内存字节数数size)size)功能:在内存中分配一个功能:在内存中分配一个长度度为sizesize的的连续存存储空空间,返回,返回值是新分配存是新分配存储空空间的首的首地址,若内存不足,地址,若内存不足,则返回返回NULLNULL。其中,。其中,类型名表示把型名表示把该存存储空空间用于何种数据用于何种数据类型。(型。(类型名型名 * *)表示把)表示把mallocmalloc函数返回函数返回值强制制转换为该类型指型指针。下一页下一页

34、结结 束束上一页上一页要要 点点02-8月月-245858例如:例如:int *p;p = (int *) malloc (sizeof(int)*128);/*分配分配128个整型存个整型存储单元,并将元,并将这128个个连续的的整型存整型存储单元的首地址存元的首地址存储到指到指针变量量p中中 */double *pd=(double *) malloc (sizeof(double)*12);/*分配分配12个个double型存型存储单元,元,并将首地址存并将首地址存储到指到指针变量量pd中中 */下一页下一页结结 束束上一页上一页要要 点点02-8月月-245959(2 2)重新分配空)

35、重新分配空间函数函数realloc()realloc()【格式格式】指指针名名= =(数据(数据类型型* *)reallocrealloc(要(要改改变内存大小的指内存大小的指针名,新的大小)名,新的大小)【功能功能】reallocrealloc则对mallocmalloc申申请的内存的内存进行行大小的大小的调整。整。例:例:int *i = (int*)malloc(sizeof(int); int *i = (int*)malloc(sizeof(int); int *j = (int*)realloc(i, 2*sizeof(int);int *j = (int*)realloc(i,

36、2*sizeof(int);1.1.如果当前如果当前连续内存内存块足足够 realloc realloc 的的话,只是将,只是将i i所指向的空所指向的空间扩大,并返回大,并返回j j的指的指针地址。地址。这个个时候候 i i 和和 j j 指向的地址是一指向的地址是一样的。的。2.2.如果当前如果当前连续内存内存块不不够长度,再找一个足度,再找一个足够长的地方,分配一的地方,分配一块新的内存新的内存 j j,并将,并将 i i指向的内指向的内容容 copycopy到到 j j,返回,返回 j j。并将。并将i i所指向的内存空所指向的内存空间删除。除。下一页下一页结结 束束上一页上一页要要

37、点点02-8月月-246060(3 3)释放内存空放内存空间函数函数free()free()【格式格式】free(free(指向要指向要释放放单元的指元的指针名名) )【功能功能】 与与malloc()malloc()函数配函数配对使用,使用,释放放mallocmalloc函数申函数申请的的动态内存。内存。例如:例如:int *pt;int *pt;pt=(int *)malloc(sizeof(int);pt=(int *)malloc(sizeof(int);free(pt);free(pt);程序段表示程序段表示释放放ptpt指向的存指向的存储空空间。下一页下一页结结 束束上一页上一页要要 点点02-8月月-246161本章学习要点本章学习要点n熟悉各名熟悉各名词、术语的含的含义,掌握,掌握基本概念:数据、数据元素、数基本概念:数据、数据元素、数据据对象、象、数据数据结构构、数据的数据的逻辑结构构、存存储结构构。n理解算法五个特性的确切含理解算法五个特性的确切含义n掌握估算算法掌握估算算法时间复复杂度的方法度的方法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号