数据结构学习 Day.1(开课啦~~)

今天开始学习数据结构,所谓  程序=数据结构+算法  可见数据结构的重要性。

我使用的的是《大话数据结构》的PDF,有兴趣的小伙伴可以私聊我发这本书的资源。

偶尔也看看清华大学出版社的《算法与数据结构》第三版,当然主要还是在学上面这本。

好了,废话不多说,进入正题。

开宗立义:数据结构是工具,算法是利用工具来解决问题。

一,基本术语:

1.数据:

是描述客观事物的符号,是计算机中可以操作的对象,是能被计算机识别,并能输入给计算机处理的符号集合。

比方说人类是一堆数据。

2.数据元素:

是组成数据的,有一定意义的基本单位,在计算机中通常作为整体处理。也被称为记录。

比如说,对于人类,数据元素就是人。

3.数据项:

一个数据元素由若干个数据项组成。(数据项是数据不可分割的最小单位)

比如,对一个数据元素张三来说,他的腿脚,手鼻之类的内部,电话号码,兴趣爱好之类的外部都是他的数据项。

4.数据对象:

是性质相同的元素的集合,也是数据的子集。

性质相同解释为:数据元素具有相同数量和类型的数据项。

5.数据结构:

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

1.逻辑结构:

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

1.1 集合结构:

1.2 线性结构:

1.3 树形结构:

1.4 图形结构:

2. 物理结构:

2.1 顺序存储结构:

2.2 链式存储结构:

第一章没啥,主要是将数据结构做了一个概要,我们继续看第二章:

第二章主要讲的是复杂度的判定方法,且深入讨论了时间复杂度,空间复杂度带过。

1.算法的特性:

1.1输入输出:

具有零个或多个输入,具有至少一个输出(打印或返回)

1.2有穷性:

在执行了有限的步骤后,会自动结束而不会出现死循环,并且步骤在可接受的时间内完成。

(此有穷非彼有穷,时间要的久也不行)

1.3确定性:

算法的每一步骤都具有确定的含义,不会出现二义性。

1.4可行性:

算法的每一步都是可行的,即,每一步都能通过执行有限的次数完成。

2算法设计的要求:

2.1正确性:

2.2可读性:

便于阅读,理解和交流。

2.3健壮性:

当输入数据不合理时,算法也能做出相关反应,而非产生异常或莫名的结果。

2.4时间效率高,存储量低

3.大O记法:

3.1步骤:

3.2常见时间复杂度比较及命名:

 3.3最坏情况与平均情况:

我们一般谈及的是最坏时间复杂度。

数据结构入门1就到这里,我们今天主要是对数据结构做了一个初步的了解。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值