数据结构学习历程(1)

数据结构学习参考了多方面的课本和教程(包括王卓老师课程、王道课程等),这篇博客很多插图也引用了老师的ppt,如有表达错误或者不正确的地方欢迎评论大家指正

一、前言

数据结构学习的内容:用信息去描述客观世界

1.如何用程序代码把现实世界的问题信息化

2.如何用计算机高效的处理这些信息从而解决生活中形形色色的问题、创造价值

二、数据结构的基本概念

2.1数据

数据:信息的载体,能输入到计算机中并被计算机识别

2.2数据元素、数据项

数据元素:数据的基本单位(一般根据具体问题具体分析什么是数据元素,什么是数据项)

数据项:一个数据元素由若干数据项构成,数据元素的不可分割最小单元。

eg:

2.3数据结构、数据对象

数据结构:相互之间存在一种or多种特定关系的数据元素的集合

数据对象:具有某种相同性质的数据元素的集合,是数据的一个子集

eg:数据结构:某个特定门店的排队顾客信息和他们之间的关系

数据对象:全国所有门店的排队顾客信息

三、数据结构的三要素

逻辑结构、物理结构(存储结构)、数据的运算

3.1逻辑结构(数据元素之间的逻辑关系)

逻辑结构:集合、线性结构、树形结构、图形结构

集合:各个元素处于一个集合别无其他关系

线性结构:一对一关系(第一个,最后一个注意)

树形结构:数据元素是一对多关系,像树分叉一样

eg:根目录子目录

图结构:数据元素是多对多关系

3.2数据的物理结构(数据元素计算机中的存储方式)

分为顺序存储、链式存储、索引存储、散列存储

顺序存储:逻辑上相邻的元素存储在物理位置上也相邻的存储单元

链式存储:逻辑上相邻的元素也可物理位置上不相邻,依靠指针来表示元素之间的逻辑关系

索引存储:存储元素信息同时建立索引表,一般包含(关键字,地址)

散列存储:根据元素的关键字直接计算出该元素的存储地址(哈希存储)

总结:1.采用顺序存储,各个元素物理上必须是连续的,非顺序存储,则各个元素物理上可离散

2.数据的存储结构会影响存储空间分配的方便程度

3.数据的存储结构会影响对数据的运算速度

3.3数据的运算

运算的定义是针对逻辑结构的(运算的功能)

运算的实现是针对存储结构的(步骤)

3.3.1数据类型

一个值的集合和定义在此集合上的一组操作的总称

eg:int 类型:值的区间:-2147483648-2147483647

可进行操作:加减乘除模运算......

抽象数据类型:ADT,抽象数据组织及与之相关的操作

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值