资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
,数据结构,线性表,广义表,栈和队列,查找,动态存储管理,图,树,串,外部排序,内部排序,文件,操作受限,推广,存储,线性表分为两种表示形式: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程序),存储的数据(数据结构),存储(组织形式),指针,访问和操作,设置,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号