【王道数据结构】第一章 绪论


image-20220710154543501


1.1 数据结构的基本概念

1.1.1 基本概念和术语

image-20220710154635766
  • 数据
image-20220710154743421 image-20220710154914102 image-20220710154930123
  • 数据元素、数据项
image-20220710155029776
  • 数据对象、数据结构
image-20220710155229611 image-20220710155348506
  • 数据类型、抽象数据类型
image-20220710161347231 image-20220710161425815
image-20220710155406046

1.1.2 数据结构三要素

image-20220710155519463

逻辑结构

逻辑结构:指数据元素之间的逻辑关系,即从逻辑关系上描述数据。

1)集合

image-20220710160011501

2)线性结构

image-20220710160036503

3)树形结构

image-20220710160103949

4)图结构

image-20220710160122825

数据的运算

运算的定义是针对逻辑结构的,指出运算的功能;

运算的实现是针对存储结构的,指出运算的具体操作步骤。

image-20220710160336515

物理结构

数据的物理结构(存储结构):指数据结构在计算机中的表示(又称映像)。数据的存储结构是用计算机语言实现的逻辑结构。

  1. 顺序存储
image-20220710160838235
  1. 链式存储
image-20220710161014955
  1. 索引存储
image-20220710161033002
  1. 散列存储
image-20220710161051799

注意:

image-20220710161207149

image-20220710161226472image-20220710161619836


image-20220710161619836 image-20220710161749641

1.2 算法和算法评价

1.2.1 算法的基本概念

image-20220710161840074
  • 什么是算法
image-20220710162029796 image-20220710162208104
  • 算法的五个特性(算法必须具备的特性)

1)有穷性

image-20220710162349624

2)确定性

image-20220710162649942

3)可行性:算法中描述的操作都可以通过已经实现的 基本运算执行有限次 来实现。

4)输入:一个算法 有零个或多个输入,这些输入取自于某个特定的对象的集合。

5)输出:一个算法 有一个或多个输出,这些输出是与输入有着某种特定关系的量。

  • "好"算法的特质(设计算法时要尽量追求的目标)

1)正确性。算法应能够正确地解决求解问题 。

2)可读性。算法应具有良好的可读性,以帮助人们理解。

3)健壮性。输入非法数据时,算法能适当地做出反应或进行处理,而不会产生莫名其妙的输出结果。

4)高效率低存储量需求。即 花的时间少,时间复杂度低 和 不费内存,空间复杂度低。


image-20220710163422184

1.2.2 算法效率的度量

image-20220710165539240

时间复杂度

image-20220710163636747 image-20220710163834180

只考虑阶数,用大O表示法

问题一:

image-20220710164135555 image-20220710164401432

✨✨✨

image-20220710164539877 image-20220710164723771

问题二:如果有好几千行代码

image-20220710165012989 image-20220710165055136

即:

image-20220710165134754

例子:

image-20220710165225112 image-20220710165309365

算法的时间复杂度:

image-20220710165430503
image-20220710165452387

空间复杂度

image-20220710165559874

空间复杂度:

image-20220710165832855

函数递归调用带来的内存开销:

image-20220710165924950 image-20220710170014820
image-20220710170043868
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值