数据结构与算法

一、数据

定义:一切能够输入计算机、并被计算机程序处理的信息,包括文字,表格,图像等

数据元素

数据元素是组成数据的基本单位,数据元素又可称为元素、结点、顶点、记录
数据项是构成数据的最小单位

数据对象或数据元素类

数据对象是性质相同的数据元素的集合,是数据的子集
例:整数的数据对象是集合N={0,1,2,3,…}
字母字符数据对象是集合c={‘A’,‘B’,…‘Z’}
**

四.数据结构

**
集合结构:在集合结构中,数据元素间的关系是“属于同一个集合”
线性结构:数据元素之间存在一对一的关系
树形结构:数据元素之间存在一对多的关系
图形结构:数据元素之间存在着多对多的关系
五、数据的逻辑结构
指数据结构中元素之间的逻辑关系
1.(线性表、链表)表是线性结构
2.树和图是非线性结构

数据的存储结构

  • 顺序存储:逻辑上相邻的元素存储在物理位置相邻的存储单元中。(适合查寻)
  • 链式存储:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针字段来表示。
  • 索引存储:在数据文件基础 上增加一个索引文件,通过索引表建立索引,可以将一个顺序表分成几个顺序子表,提高查找效率。
  • 散列存储:通过数据元素与存储地址之间建立某种映射关系,使每个数据元素与每个存储地址之间尽量达到一对一 的关系。
    六、数据处理:增、删、改、查、排序…
    七、数据类型
  • 非结构的原子类型(整型、实型、字符型
  • 结构类型

算法的定义

指在解决问题时按照某种机械的步骤(机械步骤指算法中有待执行的运算和操作),一定可以得到问题的结果(有解时给出问题的解,无解时给出无解的结论)的过程。


算法+数据=程序


算法的组成要素
操作

  • 算术运算:加减乘除;

  • 关系比较:大于、小于、等于、不等于

  • 逻辑运算:与、或、非

  • 数据传送:输入、输出、赋值计算
    控制结构

  • 顺序结构:各操作依次进行

  • 选择结构:由条件是否成立来决定选择执行

  • 循环结构:重复执行某些操作,直到满足某个条件时才结束。

  • 数据结构:数据间的逻辑关系、数据的存储方式及处理方式便是数据结构

算法的基本性质

  • 有穷性:算法必须在有限步内结束
  • 确定性:组成算法的操作必须清晰无二性
  • 可行性:组成算法的操作必须能够在计算机上实现
  • 输入性:有多个输入或0个输入
  • 输出性:1个或多个输出

算法设计要求

  • 正确性:算法应满足具体问题的需求
  • 可读性:算法应该容易阅读,以有利于阅读者对程序的理解
  • 稳健性:有容错处理功能
  • 高效率与低存储量的要求:效率指的是算法执行时间和空间利用率

算法分析和评价

三条标准:

  • 算法实现所耗费的时间
  • 算法实现所耗费的存储空间,其中主要考虑辅助存储空间
  • 算法应易于理解,易于编码,易于调试等

算法的时间效率的衡量方法

  • 事后分析法:先将算法用程序设计语言实现,然后度量程序的运行时间
  • 事前分析估算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值