【数据结构与算法】笔记一:基本概念

结构:各个元素之间的关系。

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

数据对象:具有相同性质的数据元素的集合。

                           

数据结构三要素:

逻辑结构
物理结构
数据的运算

逻辑结构:

线性结构一对一
树形结构一对多
图形结构多对多

物理结构:

顺序存储        逻辑上相邻的元素,存储在的物理位置也是相邻的
链式存储逻辑相邻的元素,存储在的物理位置可以是不相邻的
索引存储存储元素信息的同时,还要建立附加索引表
散列存储根据元素的关键字直接计算出该元素的储存地址,又称哈希(Hash)存储

数据的运算:运算的是针对逻辑结构的,运算的实现是针对存储结构的

数据类型:一个值的集合和定义在此集合上的一组操作的总称。

原子类型不可再分的数据类型

比如:bool(范围:TRUE,FLASE;操作:或,与,非)

int(范围:-2147483648~2147483647;操作:加减乘除等)

结构类型可分解成若干成分的数据类型比如:srtuct,里面又可以分为其他的元素

抽象数据类型(Abstract Data Type,ADT)是抽象数据组织与之相关操作。

ADT用数学化的语言定义数据的逻辑结构,定义运算,与具体实现无关。

数据
  数据对象(顾客)
    数据元素(一个顾客账号及其信息)
      数据项(一个顾客的姓名、年龄等)

程序 = 数据结构 + 算法

数据结构是要处理的信息。

算法是处理信息的步骤。

算法的特性:

有穷性有限不之后结束,每一步有限时间(算法是有限的,程序可以无限的)
确定性相同输入,只有一种确定输出
可行性可以用已有的基本操作来实现算法
输入给算法的参数
输出算法处理后的结果

好的算法应同时具备以下特性:

正确性实际正确地解决问题
可读性可以使人们理解
健壮性对非法输入可以适当做出反应(编码考虑全面的重要性)
高效性高效率,低存储

PS:本文不具有权威性,仅为个人学习笔记或有感而发,如有错误欢迎指正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值