资源描述
,单击此处编辑母版标题样式,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,数据结构,线性表,广义表,栈和队列,查找,动态存储管理,图,树,串,外部排序,内部排序,文件,操作受限,推广,存储,线性表分为两种表示形式:,1.,顺序表示和实现,;,2,链式表示和实现,链,式表示有三种:线性链表、循环链表、双向链表,线性表,栈:后进先出分为链栈和顺序栈,队,列:先进后出分为链队列和循环队列,栈和队列,串的存储表示有三种方式:,1.,定长顺序存储表示;,2.,对分配存储表示;,3.,块链存储表示,串,矩,阵的压缩存储分为两种:,1.,特殊矩阵;,2.,稀疏矩,阵,广义,表的表结点有三个域组成:标志域、指示表头的指针域和指示表尾的指针域,数组与广义表,查找二叉树的结点的两种方式:遍历二叉树和线索二叉树,二叉树树和森林的转换,树与二叉树,图的存储结构:数组表示法、邻接表、十字链表、邻接多重表,图的遍历:深度优先存储和广度优先搜索,图,动态分配方法:首次拟合法、最佳拟合法、最差拟合法(边界标志法、伙伴系统),动,态存储管理,查找表分为静态查找表和动态查找表,哈希表,查找,排序分为两种:内部排序和外部排序,内,部排序有五种:插入排序、快速排序、选择排序、归并排序、基数,排,序,排序,顺序文件,索,引文件,ISAM,文件和,VSAM,文件,文件,C,语言,数据类型、运算符与表达式,数组,结构体和共用体,指针,预处理命令,函数,文件,顺序程序,选择结构程序,循环控制,数据类型,常,量与变量,三,种数据,数据类型、运算符与表达式,字符数据的输入输出,:putchar(),、,getchar(),格,式输入和输出,printf,()、,scanf,(),顺序程序设计,关系运算符和表达式、逻辑运算符和表达式,If,语句,Switch,语句,选择结构程序设计,Goto,While,Do.while,break,语句和,continue,语句,循环控制,一维数组,二,维数组,字,符数组,数组,函数参数和函数的值,函,数的调用,局,部变量和全局变量,变,量的存储类别,内,部函数与外部函数,函数,宏定义,预处理命令,变,量的指针和指向变量的指针变量,数,组与指针,字符,串与指针,指向函数的指针,指,向数组的指针和指向指针的指针,指针,结构体变量,结构,体数组,共用体,结构体和共用体,文,件的读写,文,件的定位,文件,一个程序应该包括两个方面的内容:,1.,对与数据的描述(数据结构);,2.,对操作的描述(算法)。数据结构,+,算法,=,程序而还有两部分就是程序设计方法和语言工具,谈及数据结构和,c,语言的关系就是谈论,c,语言中的表示的数据形式如何利用数据结构中存储结构进行存储并对它进行操作:它应该包括三方面的内容,1.,数据存储;,2.,内存分配,;,3.,数据操作,C,与数据结构的关系,C,语言中数据定义的形式是多种多样的,而数据存储的形式有多种多样,如何减少程序复杂性,即时间复杂性和空间复杂性,保证程序快速、有效、安全的运行,这就要求对于数据进行一定的存储组织。,数据存储,数组,变量,宏,结构体和共用体,组织形式,广义表,线性表,C,程,序中的局部变量并不是程序开始就分配内存空间而是在程序调用函数时才分配一定的资源,如何保证分配的内存资源不因程序的运行而造成内存泄露,多个进程中间出现死锁现象,这就要对于分配资源进行动态存储管理。而且程序中定义分配的静态变量存储空间也需要进行存储管理。,内存分配,对,于数据的操作即算法设计的合理与否,要看对于数据的查找、添加、删除和修改是否快速而有效,而保证数据操作的快速而有效就要求对于数据进行一定的排序和存储。这就要应用到数据结构中的排序和对于数据的各种操作,而其中的媒介就是指针,指针可以访问内存中存储的数据。,数据操作,定义的数据(,c,程序),存储的数据(数据结构),存,储(组织形式),指针,访问和操作,设置,
展开阅读全文