对数据结构一点一小小的理解(一)

作为一位大三的学生,近期在复习《数据结构与算法》这本教材;以下是我对复习内容的一点小小的理解

什么是数据结构?
以下的两个案例可以清楚的进行解释:
1.银行开户
(1)开户操作(插入):时间效率要求不高(几分钟都行)
(2)存取操作(插入+查找):查找(唯一匹配(哈希表))时间效率要求高(几秒钟)
(3)销户操作(删除):时间效率可以低一些

2.城市数据库
通过名字查找城市:唯一匹配并且快速显示
查找满足某个值的范围内的城市:区间匹配(哈希表做不到,效率低,选择B+树)
3.选择数据结构:(插入删除操作频率,已有数据访问按照一个什么样的顺序访问)
(1)是在应用的开头插入操作,还是在过程中不断地插入删除(例子:入校等级学籍信息)
(2)数据是否可以删除:是经常还是不经常
(3)数据访问的顺序是不是一个一个挨着访问的,还是随机的来找一个信息(银行账户信息)。

什么是类型,数据类型,抽象数据类型?
类型:值的集合(1,-1)
数据类型:除了值之外还要考虑他们的操作(数的加减乘除)
抽象数据类型(ADT):数据类型把它实现为一个构建的整体
例如车辆;刹车系统,发动机(不管它内部的东西)(提供的数据有整数,提供的数据类型有加减乘除一类的)
有面向对象中类这种感觉:以及面向对象中封装的概念

problem:需要处理的一个任务:特定输入和特定的输出以及资源的使用要求(类似数学中的函数)
algorithms:算法:解决问题步骤。输入到输出的一个映射
满足以下属性:1.正确的(输入到输出的一个映射是正确的)2.计算机可以执行的步骤3.每一步需要非常的确。

你可能感兴趣的:(浅析-数据结构与算法)