王道数据结构2021版 第一章 绪论

声明

全是我个人笔记,如有错误,欢迎指正。 

总结

 这一章大多是概念性的东西,重在李姐。 

🌟 咱必须要知道啥是数据元素数据项数据对象数据类型数据结构

通俗一点,数据元素是表中的一个记录,数据项即表的每一列,数据对象是表中记录的集合。数据类型分了三种:原子类型、结构类型和抽象数据结构。原子类型就好比我们平时用的int、float之类;结构类型好比int和float组合起来的结构体;抽象数据类型重点在于抽象,它是一个数据对象集+这个集上的操作,它没有具体的数据类型,或者说多种数据类型都适用。数据结构和数据对象在定义上的区别是数据结构是侧重于关系的数据元素,数据对象侧重于相同性质的数据元素。

抽象数据类型可看浙大数据结构课程的视频,链接如下:

数据结构_浙江大学_中国大学MOOC(慕课)

🌟 咱必须要知道什么是逻辑结构存储结构

逻辑结构有点像我们现实世界里对物体关系的描述,比如图书馆里的书,可以一本挨一本地放,也可以按字母序号放。前者就是线性结构,后者就是非线形结构。线性结构是一个接一个,而非线形结构是一个接多个或者多个接多个。存储结构是把逻辑结构放到计算机中实现,就像上面提到的图书一本接一本的放,弄到计算机里面如何实现呢?把计算机的内存想象成一个很大的眼影盘,每个格子有一个独一无二的编号,且假设每个格子能装一本书的信息。那么我们可以把书按照格子的编号从小到大按顺序放,这是顺序存储;或者书随便放,但是前一本书带有后一本书的格子编号,这是链式存储。等于说,对于书而言它们都按照逻辑的顺序来的(即一本接一本),但是它们在计算机中放置的位置就不一定按顺序。至于索引存储和散列存储,后面再说。

🌟 咱必须要知道什么是时间复杂度空间复杂度

对时间复杂度的理解:一个算法中所有语句执行的次数之和是T(n),n为该算法的问题规模。但是如果算法太复杂了,T(n)变得冗长就不太方便,因此这里用到大O记法。如T(n)=3n^{3}+2n^{2}+5,则T(n)=O(n^{3}),相当于一种简化:随着n的增大,我们主要看n的数量级最高的那项,系数要改为1,其他项就不用再写了。

对空间复杂度的理解:略。

习题1.1.3 

一、选择题。

1、可以用啥定义一个完整的数据结构? 数据结构的定义是相互之间存在一种或者多种特定关系的数据元素的集合。从定义来说可以排除ABC答案,因为数据元素、数据对象和数据关系都不全。至于抽象数据类型,它是一个数据对象集+这个集上的操作,虽然浙大数据结构课程上就是用抽象数据类型来表示数据结构的,但我不知道怎么把它说通。 

2、如何区分线性结构和非线性结构?把逻辑结构的分类都背下来,或者学完整本书,就很简单了。线性结构是一个接一个,非线形结构是一个接多个或者多个接多个。

3、4、如何区分逻辑结构和存储结构?我觉得是要靠积累的,因为选项中顺序表和单链表分别是线性表的顺序存储和链式存储,第一章会学到。循环队列是队列的顺序存储,第三章会学到。哈希表是散列表,即散列存储,在第七章会学到。栈嘛,本来就是逻辑结构,书上有的。至于有序表,书上没找到这个术语,我百度了有序表和顺序表的区别,人家直接就说有序表是逻辑上的有序,顺序表是物理上的有序。害,就这样吧,靠积累靠积累。

5、数据结构、逻辑结构和存储结构三者关系的正确理解?逻辑结构是独立于存储结构的,因为逻辑结构是人在现实世界构想的,而存储结构是要把你这些构想放到计算机中实现。实现的方法可不是唯一的,比如线性表放的计算机里可以是顺序存储来实现,也可以是链式存储来实现。数据结构的三要素是逻辑结构、存储结构和数据运算。

6、存储数据时不仅要存储其值还要存储其关系。我是靠感觉选的,官方也解释不出所以然。

7、链式存储的特点?这题学了链式存储再来做很好懂。就像总结部分举的例子,图书随便放在格子里,但是图书必须带有下一本图书的地址。这里,一个结点 = 图书 + 下一本图书的地址,结点内的地址是连续的,结点外的地址不一定连续,如下图所示。

 二、应用题。

1、 数据结构的三要素:逻辑结构、物理结构和数据运算。两个数据结构不一样,有可能是逻辑结构、物理结构相同,但是数据运算不同。书上举了例子,但我遗忘很多,后面再来补充吧。

 2、同一种逻辑结构,分别用不同的存储结构来实现,运算效率会不一样。在学了第一章之后,就可以用线性表来举例,顺序表和单链表,在按位查找、插入和删除这些运算上效率都是不一样的。

习题1.2.3

1、概念题,难讲,略。

2、问题规模就是n,排除AD。执行时间不一定是n^{2},也可以是2n^{2}3n^{2}等,选C。 

3、 i可能的数有1、2、4、8、16、32、...这就是个等比数列 i=2^{x}

4、 和3题很像,x的取值是2、4、8、16、32、...为等比数列x=2^{m+1}

5、 该算法从n开始不断递归,每次递归就多乘一个数,直到该数为1。因此时间复杂度为O(n)。

6、这题简单但是我突然有点懵,等后面再更。

7、做过3、4题了应该知道外层循环是log_{2}n,内层循环是n,所以时间复杂度为O(nlog_{2}n)。

8、懒得做了,罢工。。。(如果在评论区催促我一下也许会更的↖(^ω^)↗)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
王道数据结构电子pdf是一本非常受欢迎的编程教材,特别是在计算机科学与技术相关专业的学习中。这本教材系统地介绍了数据结构的基本概念、常用算法和数据结构的实现方法等重要内容。 相较于纸质王道数据结构教材,电子pdf具有以下几个优势: 1. 便携性:电子pdf可以在电脑、平板或手机等多种设备上查阅,方便学生随时随地学习和复习。无需携带沉重的纸质书籍,大大减轻了学生的负担。 2. 搜索功能:通过电子pdf的搜索功能,学生可以快速定位到特定章节、关键词或例题,提高学习的效率和准确性。 3. 可打印性:学生可以根据自己的需求选择打印电子pdf中的章节、习题或笔记等内容,方便日常学习和备考复习。 4. 更新及时性:电子pdf可以随时更新,保持与最新本的教材同步。学生可以及时获得教材的最新内容和技术发展,保持知识的时效性。 需要注意的是,虽然电子pdf具有便利性和实用性,但在学习过程中也有一些限制和挑战。比如,学生需自备电子设备,并保证电子pdf的存储和阅读环境符合学习需求。此外,一些学生可能更喜欢纸质书籍的阅读体验和感觉。 总的来说,王道数据结构电子pdf提供了一种方便高效的学习方式,为学生的数据结构学习和编程能力的提升提供了很好的学习资源。学生们可以根据自身需求和偏好选择使用纸质或电子教材进行学习。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值