数据结构和算法暑期自学笔记

数据结构和算法暑期自学笔记

  • 程序=数据结构+算法

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

数据结构

物理结构

指数据的逻辑结构在计算机中的存储形式

1.顺序结构

将数据元素存放在地址连续的存储单元里,其数据间的逻辑关系和物理关系是一致的

2.链式结构

将数据元素存放在任意的存储单元里,该存储单元可以是连续的,也可以是不连续的

  • 链式结构的数据元素存储关系并不能反映其逻辑关系,因此需要用一个指针存放数据元素的地址,通过地址找到相关联数据元素的位置。
3.索引结构
4.散列结构

逻辑结构

指数据对象中数据元素之间的相互关系

1.集合结构

集合结构中的数据元素同属于一个集合

2.线性结构

其中数据元素是一对一的关系

3.树形结构

其中数据元素之间存在一种一对多的层次关系

4.图形结构

其中数据元素是多对多的关系


算法的特性

输入

算法具有零个或多个输入

输出

算法至少有一个或多个输出

有穷性

算法在执行有限步骤后会自动结束

确定性

算法的每一个步骤都有明确的含义

可行性

每一步都能有限次执行


算法设计的要求

正确性

可读性

健壮性

时间效率高和存储量低


算法效率的度量方法

事后统计方法(现已少用)

事前分析估算法

在计算机程序编写前,依据统计方法对算法进行估算。

计算机运行所消耗时间取决于因素:

1.算法采用的策略和方案

2.代码产生的代码质量

3.问题的输入规模

4.机器执行指令的速度

  • :判断一个算法的效率时,函数中的常数和其他项常常可以忽略,而更应该关注主项(最高项)的阶数。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值