没有合适的资源?快使用搜索试试~ 我知道了~
数据结构-总结1
需积分: 0 0 下载量 93 浏览量
2022-08-03
12:56:24
上传
评论
收藏 3.63MB PDF 举报
温馨提示
试读
99页
1. 什么是数据结构 2. 为什么我们需要数据结构 3. 数据结构都讲了哪些内容 4. 数据结构在你的专业中重要吗 5. ADT操作太多了,背不下来 6. 书上
资源详情
资源评论
资源推荐
数据结构与算法总结
1
哈尔滨工业大学(深圳)(2021春)
课程总结
数据结构与算法总结
2
哈尔滨工业大学(深圳)(2021春)
1. 什么是数据结构?
2. 为什么我们需要数据结构?
3. 数据结构都讲了哪些内容?
4. 数据结构在你的专业中重要吗?有什么作用?
5. ADT操作太多了,背不下来!
6. 书上的算法太多了,记不住!
7. 算法设计对我来说还比较难掌握,怎么办?
8. ……
数据结构与算法总结
3
哈尔滨工业大学(深圳)(2021春)
一、数据结构的内容
数据结构用来定义存储到计算机中的数据对象中数据元素之间的关
系,目的和作用除了完成数据存储,更重要的是方便数据处理,也
称计算。数据元素之间的关系直接影响数据处理,如果存储到计算
机中的数据不能很好的体现出这种关系,那么肯定要花费很多时间
进行“搜索处理”,既浪费时间,又影响算法的执行效率。
数据结构是比较灵活的,要根据数据对象的特点和问题的需求,参考
教材中的比较规范的“示例”灵活选择或定义,要做到以下几点:
1、避免机械地生搬硬套
2、要完整的形成整体,即完整性
3、要前后统一,不自相矛盾,即统一性
4、适用于广泛的数据对象,即通用性
5、不依赖于程序设计语言,即不依赖性
6、要满足问题的需求,方便算法的实施
数据结构与算法总结
4
哈尔滨工业大学(深圳)(2021春)
1、线性结构
数据对象中的元素除第一个元素没有直接前驱,最后一个元素没有直
接后继外,其它任何一个元素都有唯一的直接前驱元素和唯一的直接后继
元素。
描述相邻两个数据元素的位置关系,谁前谁后。有三种存储结构,亦
即:顺序存储、链式存储和静态链表。
(1)顺序存储
采用一组向量,也就是一维数组,
通常根据数据元素的实际够成,形成
结构体(ElementType)数组。
◼ 静态结构
◼ 动态操作(插入、删除)
◼ 空间利用率问题
# define maxlength 100
Typedef struct {
ElementType data[maxlength];
int last;
} LIST;
位置类型:
typedef int Position;
线性表 L: LIST L;
数据结构与算法总结
5
哈尔滨工业大学(深圳)(2021春)
线性表的第i个数据元素a
i
的存储位置为:LOC(a
i
)=LOC(a
1
)+(i-1)*L
线性表动态分配实现的顺序存储结构:
#define LIST_INIT_SIZE 100 //初始分配空间
#define LISTINCREMENET 10 //分配增量
typedef struct{
ElemType *elem; //元素空间
int length; //表的长度
int listsize; //当前容量
}AqList ;
L.elem = (ElemType*) malloc (LIST_INIT_SIZE*sizeof(ElemType));
newbase = (ElemType *)realloc(L.elem,
(L.listsize+LISTINCREMENT)*sizeof(ElemTYPE));
可调数组
剩余98页未读,继续阅读
宏馨
- 粉丝: 21
- 资源: 293
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0