【自考】数据结构导论

前言

        

         数据结构导论这本书学了有一段日子了,翻之前为知笔记的记录,第一遍思维导图和《数据库

结构导论》的目录没有什么两样,就是罗列了一些知识概要点,内容很多,自己也没有很好的理解。

如下图。

             

                                  【自考】数据结构导论_第1张图片

 

         前天米老师又带着大家一起总结了一次,数据结构最简单的理解就是,数据按照不同的需要,

形成不一样的组成形式,以及考虑哪一种形式效果最好。来看看下面的思维导图,相比上面的那张图,

是不是觉得对书整体的认识更加明确清晰了呢?

 


    【自考】数据结构导论_第2张图片


 

 

         这一次老师把每一块知识点都做了很棒的联系和解释,对于知识的理解不再是干巴巴的文字了,

而是非常生动生活化的例子。学习观念的转变,学习方法的重新认识,会让我们的学习变得更加轻松!

 

链表——人物来演示

 

         怎么理解链呢?之前看书,翻来覆去好几遍,还是对讲指针的图点蒙圈。但这一次,通过小伙伴

手拉手的直观展示,链的理解其实很有趣,也很简单。

 

         ABCD四位同学手拉手站一排。左手我们可以认为是链表里结点“头”的那一端,右手我们可以认

为是链表里结点“尾”的那一端。


  【自考】数据结构导论_第3张图片

 

*插入C,当C要进如BD之间的时候。

B的右手(尾)拉住C的左手(头),B告诉C,“你来之前我的右手是拉着D的左手的,你的右手

(尾)要像我之前的右手一样拉住D的左手(头)”。

 

*删除C,当C要离开的时候。

C的右手(尾)告诉B的右手(尾),“看到我的右手没,我走之后,你要像我的右手一样拉住D

左手(头)”。

      

         在链表这里,我们还需了解“逻辑关系”。逻辑关系,就是A挨着BB挨着CC挨着D,无论AB

CD四个人身在这个地球的何处,他们的关系永远是ABCD相联。

         上面的小人可能画的有点搞笑(原谅我艺术细胞太少),语句对话什么的可能太过拟人,但是大

概意思我还是画出来了。其实,对于一些书上图的理解,我们可以通过一些实物,或者我们身边的小

伙伴一起来演示。这种图像的效果,比文字更容易理解和接受。

 

栈、队列

 

         对于栈和队列的理解,通过看书我觉得还是了解的不错。栈就像洗了一摞盘子,先洗的在最下面

,最后洗的在最上面,但是要用盘子,就用的最上面的一个,也就是后进先出原则。

         队列呢,就很像在食堂排队打饭,谁先来,排在队首,先打好饭,就可以出这个队列。

         对于栈,之前并不太清楚主要应用在哪些方面,这次老师用一个例子,生动的表达了栈在中断处

理的应用。

 

           【自考】数据结构导论_第4张图片 

 

        1表示,老师要去拿快递。2表示,老师碰到了师姐。3表示,老师碰到了师哥。

         老师在去拿快递的路上,碰到了有事找老师的师姐,还没和师姐处理完事情,老师又遇到了师哥

,于是老师又跟着师哥去处理事情,处理完师哥的事情3,回过来,老师去处理师姐的事情2,最后老

师终于取到了快递。

         第一件事情拿快递,被中断。第二件事情和师姐处理事情,也被中断。第三件事情没有被中断

顺利完成后,先去完成第二件,再去完成第一件。就是栈后进先出的原则。

 

   

         在大家意识到老师在讲“树”之前,老师一本正经的说,他在幼儿园门口碰到一个老大爷,一

下子接了3个小孩。老师感叹道:“三胞胎啊,真好!”。老大爷纠正说:“这个是我孙子!”。老师

疑惑,问,那另一个呢?老大爷说:“这个是我儿子!”。老师又感叹,问最后一个呢?老大爷说:

“这是我弟弟!”。大家一脸蒙圈,惊讶,这也太罕见了吧。老师又一本正经的解释道:“二胎政策

放开嘛,所以出现了这种状况。”

         有人反复问,“这是真的吗?”。老师大笑:“当然是假的!”。接着老师又说:“有没有发现

这个故事和数据结构里的什么有关?”。我们才恍然大悟:“儿子?弟弟?这种关系就很像数据结构

里的树啊!”

         其实,在树这种结构中,上下两级关系只存在父子关系,没有孙子一说,所以上面的故事不是

完全的贴切,大家乐一乐,理解其中含义就可以了。

         树比之前线性结构要更加的完善一些,树形结构中一个结点可以有一个或者多个直接后继。有

关知识点比较多的二叉树知识,会在今后的博客中提及,本篇先暂不介绍。

 

 

小结

 

         本篇博客没有涉及太多有关数据结构的知识点的内容,大都是借助数据结构知识来表达学习方

法。

         学习方法的有效使用可以帮助我们更好的理解书本上的知识,我们每每遇到一个“新”知识点的

时候,其实它都不新,因为我们之前是遇到过接触过的,只是我们没能很好的将已学习过的知识同现在

所遇到的知识联系起来。

         当我们想要更好理解某一块知识的时候,我们应该赋予它更多生活化的小例子。就像上面手拉手

表示链表的小人,处理中断的那个表示栈的例子,赋予它们更多生活化的例子,我们学习的过程就会

得更加轻松~~

 

 

你可能感兴趣的:(——【自考学习】,❀,时光纪念)