数据结构基础

数据结构基础

计算机中有哪两种基本的存储结构:

  • 顺序存储结构
  • 链式存储结构

数据的基本单位是数据元素

数据项是数据的最小单位

可以用抽象数据类型定义一个完整的数据结构

算法特性

  • 算法必须在执行有穷步后结束
  • 算法有一个或多个输出
  • 算法的每个操作不会产生二义性

评价算法的高效性,主要从哪些方面衡量

  • 时间复杂度
  • 空间复杂度

算法的时间复杂度取决于

  • 问题规模
  • 算法选用的策略

 数据在计算机存储器内表示时,物理地址与逻辑地址不相同:链式存储结构

抽象数据类型三个组成部分分别为

  • 数据对象
  • 数据关系
  • 基本操作

对一个算法的评价,不包括并行性方面的内容 包括

  • 健壮性和可读性
  • 正确性
  • 时空复杂度

链式存储结构中数据元素之间的逻辑关系是由指针表示的 

下面程序段的时间复杂度是O(n 1/2)

x=n;//n>1
y=0;
while(x>=(y+1)*(y+1))
    y++;

数据的逻辑结构独立于其存储结构

在存储数据时,通常不仅要存储各数据元素的值,而且要存储数据元素之间的关系 

链式存储设计时,结点内的存储单元地址一定连续

算法是对问题求解步骤的描述

在数据结构中,与所使用的计算机无关的是数据的逻辑结构

数据结构是带有结构的各数据元素的集合

 下面程序段的时间复杂度是O(n)

act(int n) {
    if(n<=1)
        return 1;
    else
        return(n*fact(n-1));
}

通常要求同一逻辑结构中的所有数据元素具有相同的特性,这意味着不仅数据元素所包含的数据项的个数要相同,而且对应的数据项的类型要一致

  • 高效性是指算法运行效率高,即算法运行所消耗的时间短 
  • 易读性指算法应易于阅读和理解,以便调试、修改和扩充 
  • 正确性算法应能正确地实现预定的功能
  • 健壮性指当环境发生变化时,算法能适当地做出反应或进行处理,不会产生不需要的运行结果
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值