- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构与c.ppt
对于数据的操作即算法设计的合理与否,要看对于数据的查找、添加、删除和修改是否快速而有效,而保证数据操作的快速而有效就要求对于数据进行一定的排序和存储。这就要应用到数据结构中的排序和对于数据的各种操作,而其中的媒介就是指针,指针可以访问内存中存储的数据。 数据操作 定义的数据(c程序) 存储的数据(数据结构) 存储(组织形式) 指针 访问和操作 设置 数据结构 线性表 广义表 栈和队列 查找 动态存储管理 图 树 串 外部排序 内部排序 文件 操作受限 推广 存储 线性表分为两种表示形式: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程序中的局部变量并不是程序开始就分配内存空间而是在程序调用函数时才分配一定的资源,如何保证分配的内存资源不因程序的运行而造成内存泄露,多个进程中间出现死锁现象,这就要对于分配资源进行动态存储管理。而且程序中定义分配的静态变量存储空间也需要进行存储管理。 内存分配
文档评论(0)