数据结构怎么学,数据结构是计算机最难的课吗

戳蓝字“CSDN云计算”关注我们哦!写在前边-------------------------------------------今天呢,我想简单的分享一下半年来自学数据结构与算法学习方法和技巧。写这

戳蓝字“CSDN云计算”关注我们哦!

写在前边

-------------------------------------------

今天呢,我想简单的分享一下半年来自学数据结构与算法学习方法和技巧。写这篇文章主要目的还是重在让刚刚接触数据结构的读者按照总结方法进行阶段性学习。

目前在读三流大学,之所以为学渣,在刚学编程初期,真的是比别人慢半拍,总是遇到各种迷茫和困惑,控制台遇到各种错误总是希望有个人解决一下就好了,但是现实往往打你一个嘴巴子,睡一觉回过头来还是自己硬着头皮去解决,我相信大多数初学者都有这样的疑惑。

但是到了后来,自己更注重于追求学习方法和学习效率,不过现在还是学渣,因为真正的大佬是无所畏惧的,我能做的只不过是帮助一些编程道路上的人解除困惑,提高一下学习效率。互联网、编程技术更新换代太快了,如果不具备高效的学习方法和学习效率会被时代落下的,所以从今天开始重视学习方法和效率的,在未来的互联网你会变的越来越有价值和存在感。

大学的三年时间基本在自学编程,老师的态度就是我也懒得讲,课上能说废话尽量说些废话,期末给你们考试范围就好了,以后就业面试和我一点关系都不挂钩,无论你毕业不毕业对我没有任何影响。在那时,我决定好好学习编程,大部分时间都是来自学,包括上课干自己的事情。

同样的一门技术,有没有想过为什么有人学的快,运用的快,后来发现并不是笨导致的,不要一直责怪自己不适合这不适合那,一开始我也是这么想的,但是现在完全适合编程这种高强度的学习了。

《数据结构》主要学习线性表、栈的队列和数组、树与二叉树、图。详细内容如下:1、线性表:线性表的定义和基本操作、线性表的实现、顺序存储结构;2、栈的队列和数组:栈和队列的基本概念、栈和队列的顺序存储结构、栈和队。

我的基础

-----------------------------------

说起没有学习数据结构之前的基础,说起来有点丢人,只知道数组,而且是 C 语言中的数组,数组下标取值、遍历等操作,可别笑话我菜,但是这半年来一步步摸索,终于知道数据结构在解决实际问题中的重要性了,分布式、高并发系统的性能优化,都离不开数据结构,希望这篇文章不仅能分享给你学习数据结构的方法,也希望你能爱上数据结构。

我的学习动机

-----------------------------------

学习一门技术首先要有动机。那什么是动机呢?我们经常看到减肥的人通常在房间里放一张好身材的图片,就是为了产生动机每天坚持减肥。学习也是一样的,没有动机就没有的学习下去的动力。那我学习数据结构的最初动机是什么呢?快实习了,想让自己找一家好的公司实习,没有数据结构与算法的基础不可能进入一家理想的公司的,所以我将进入一家理想的公司作为学习的动机。

我的收获

-----------------------------------

经过大三上半年对数据结构的自学,和以前那个自己相比有了质的飞跃,从最基础的某一数据结构的由来、是什么,特点以及优缺点到实际项目中应该如何运用,再到如何培养自己下意识的数据结构(遇到问题,根据问题的特性就能下意识的想到用哪个数据结构来解决)。到后来逐渐的学会了将多种数据结构联系起来进行解决问题,这样做的目的就是能够让程序性能更加稳定,效率更加高效。

这些都是这半年来每天和数据结构打交道不断的训练出来的,这半年基本没有一天放松过,就连除夕晚上都在做算法,研究数据结构。功夫不负有心人,即使基础再不好,头脑再笨,通过我总结的学习方法也能学好数据结构。

我的实践

数据结构往往同高效的检索算法和索引技术有关。最后,了解几项基本的常用结构,如:线性表,栈,队列,二叉树,图等等。在编写算法和程序之前,了解算法的逻辑关系是非常重要的,比如栈后进先出的特点等等。在编写程序时,最。

-----------------------------------

第一阶段:认识数据结构

第二步:每种数据结构都有它的优缺点和性能的好坏,那我们以什么标准来衡量数据结构与算法的性能好快呢?那第二步就学习时间复杂度、空间复杂度相关的复杂度分析的内容 ,这部分内容至关重要,因为后边要学到的数据结构与算法都要有一个衡量性能标准的,为了能够不同的问题解决选择出性能最优的数据结构和算法。

第二阶段:深入数据结构

数据结构怎么学

这样会使你更加的对代码有颗敬畏之心,每次写代码都要认真对待,如果机器上写代码没问题了,可以自己通过在笔记本上用笔手写亲自实现一遍,有利于你加深你的代码逻辑的理解。

第二步:在第一阶段中我们了解到性能的衡量标准,那下一步就再回过头来对 10 种最常用的几种数据结构涉及到的操作进行性能分析。你可能会问,为什么不边写代码边进行性能分析呢?

其次,数据结构从名字上就可以了解,我们主要学习的是一种结构,那么任何结构单纯的解读定义是很抽象的,所以就需要将每个结构形象化,无论是简单的链表队列还是复杂的二叉树和图,将每个结构画出来,可以很轻松的帮你理解结构。

我觉得分阶段的好处就是能集中解决问题,写代码就是要锻炼写代码的思维逻辑能力,性能分析就是要提高自己的分析能力,性能分析完成之后再看一下之前写的代码有哪些可以进行优化改进的。这期间你会遇到各种问题,遇到问题怎么做,我通常会去百度或者谷歌借助别人写的文章进行总结记录到笔记本上。

第三步:每种数据结构的性能分析完成之后,再进行对每种数据进行深入。第一阶段我推荐的是看一些基础的书籍,涉及到的知识层次不深。但是我们还是要至少手中有一本具有权威性深入解析的数据结构书籍才能对一些概念进行深入的理解。基础书籍毕竟是让你入门的嘛,我们可以通过这些权威性高、内容全面的对已学到的数据结构知识点进行查缺补漏。

第四步:单独的深入学习真的很枯燥杂么办,那么我们就实际生活中的例子去分析,比如猜数字游戏、0/1背包问题、走迷宫、八皇后问题以及满减凑单问题等。如猜数字游戏,我们可以想想怎么才能在最短的时间内猜到正确的数字呢,可能你会想到使用二分查找。那好了,我们问一下自己二分查找存在的问题,这个过程中一定要多问自己为什么,只有这样你的知识层次才会得到扩展,比如二分查找如果数据中有重复数据怎么解决?

我还是要强调一下,一定要多问自己为什么,因为从心理学上来讲,人的大脑符合最小阻力原则,就是思考的事情最不喜欢做,所以这里我们要逆着来,才能进一步进行突破。如果你觉的上述两个阶段没有问题了,我们就进行下面的第三个阶段检索数据结构。

第三阶段:检索数据结构

第一步: 这时你可能学的非常多的关于数据结构的内容,但是很难运用,那怎么能够在实际实际问题中运用起来呢?我们前边已经将零碎的知识点整理到笔记本上了?接下来该怎么做呢?我们可以借助思维导图,对知识体系化整理,无论是复习巩固都利于我们进一步加强。

要先学习C或C++编程语言,因为数据结构是需要编程实现的。在内容上,数据结构很大一部分是独立的,但也有一部分与其它课程有关,比如离散数学,线性代数等,不过也没多大影响,书上都带有详细介绍。数据结构理论性很强,需要。

第二步:上述整理成体系之后完毕之后,然后去谷歌或者百度搜索一下有明确解决方案的实际问题拿来进行分析学习,你到这些实际项目中会发现,很多问题涉及到多个数据结构问题,我们前边解决的还不过是针对单一的数据结构,那就尝试着自己将数据结构之间建立联系。

比如数组和链表,每种数据结构都有优缺点,你在学习的过程中你会发现一个数据结构的优点正是另一数据结构的缺点,数组在内存空间是连续的,对CPU缓存友好,而链表在内存中是零碎内存空间,对CPU缓存不友好,但是链表可以动态扩容而数组不可以。

再比如为了提高程序的效率不得不用消耗更多的内存空间的数据结构去代替另一数据结构,如果内存紧张,对执行效率要求不高的话,我们又用省内存执行效率稍有不高的数据结构去代替占内存大而执行快的数据结构。

那我们就想能不能对查找进行优化呢?根据问题或者数据的特征找适用的数据结构,缓存的三个操作涉及到快速的插入、删除、查询数据,我们在大脑中快速的检索可以快速的实现插入、删除、查询的数据结构有哪些?平衡二叉树、散列表、跳表等,比如我们选择散列表,最后分析一下时间复杂度是不是优化了很多,否则我们再换另一种数据结构进行性能分析。

我们不难发现,实际问题就会一步一步的分解成了我们学习到的数据结构的基本操作分析,然后利用我们学到的数据结构的优缺点和性能分析得出最优解绝方法,但是在企业中遇到实际问题中往往比我们拿一些做练习的实际问题复杂的要多。

结合具象图示,理解抽象意义。在这一步,掌握每种数据结构用来干什么,为什么,怎么做就可以了。(2)把握其特点。数据结构不同,其存储特点也就不同。数据结构的考察题目中与特点相关的题目不在少数。结合原理总结好各种数据结。

后记

-----------------------------------

上述是我学习数据结构的三个阶段,如果你完成了上述的三个阶段,我还是建议将最基本的10个数据结构重新巩固复习一遍,在巩固和复习的三个阶段中需要不断的反馈和提高标准,我相信你会发现每一个知识点都会有新的收获。

福利

数据结构应该这样学,学习离散数学和线性代数。数据结构从文字上面来看,为数据和结构两部分。这样就很容易联系到数据结构的本质是一种对于数据结构化的知识。数据结构和程序设计语言本身没有任何联系,唯一有的关系就实用程序语言。

扫描添加小编微信,备注“姓名+公司职位”,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

推荐阅读:

如何用30分钟快速优化家中Wi-Fi?阿里工程师有绝招

趣挨踢 | “菜鸟”程序员和“大神”程序员的差别竟然这么大...

云漫圈 | 女生适合做程序员吗?

Kubernetes 调度器实现初探

李沐团队新作Gluon,复现CV经典模型到BERT,简单好用 | 强烈推荐

日本乐天要求员工学编程,AI 进中小学课堂,全民编程时代来了!

做了四年以太坊核心开发者,以太坊升级了,我也该离开了……

喜欢就点击“在看”吧

上一篇 2023年01月14 06:29
下一篇 2023年01月09 10:16

相关推荐

  • 闪照怎么弄,如何将手机图片转换成闪照

    [闽南网]对于玩QQ的人来说,QQ闪照可能遇到过不少,但是一般是不能保存的,打开后几秒钟就会自动销毁,那么该如何保存QQ闪照呢,下面就和小编一起来看看吧!保存QQ闪照的方法:自从版本更新到V6.5.8

    2023年05月18 217
  • ui怎么发音,iu读音播放

    知识点发音iu读音播放,1.复韵母ɑi发音要领:先张大嘴巴发ɑ的音,口形由大到小很快滑向i。ɑ读得重,i读嘚轻,中间气不断。2.复韵母ei发音要领:先发e的音,然后向i滑动。发e时,舌位要比单念e靠前

    2023年01月10 210
  • 怎样挖冬笋视频

    竹笋品种繁多。一年四季都有出产。其中。春笋特别鲜嫩味美。深受市民欢迎。眼下正值春笋挖笋季。也是笋农们一年中最为繁忙的时候。在黄坛镇双峰片中央山村的竹海深处,不少村民正在山上挖春笋。据了解到,井冈山挖冬

    2023年01月05 262
  • 淘宝一口价怎么设置,多个sku一口价怎么设置

    一口价是卖家以固定价格出售商品,那淘宝里面怎么是两个价格呢?甚至三个价格,怎么在宝贝一口价之下的促销价格呢?店铺会员价格又是怎样设置的?淘宝一口价设置技巧步骤是什么?有什么技巧没有?花花今天来带你揭开

    2023年05月29 260
  • 怎样电子签名,word怎么电子版手写签名

    如何在线设计自己的签名?现在我们在谈生意的时候,经常需要签署合同之类的文件。一个漂亮的艺术签名,在与人交往中无疑是非常加分的。很多朋友手写字不好看,word怎么电子版手写签名,想要设计一个电子签名,然

    2022年12月28 255
  • 怎样给wifi加密,路由器怎么加密防止蹭网

    我们通常在公司和家中使用WiFi,它会遇到一个问题,Wifi可能被其他人砸碎,这个问题如何解决?一些小伙伴知道他们可以隐藏wifi,路由器怎么加密防止蹭网,所以其他人找不到我们的wifi,自然,我甚至

    2023年01月02 274
  • 怎样压缩视频发微信

    2月23日消息,有网友反馈,iOS平台微信8.0.18、Android平台微信8.0.19版本终于支持发送原生4K视频,基本不会压缩视频。当初我们告别QQ选择微信,一是为了微信支付,二是为了简洁的界面

    2022年12月29 205
  • 怎样找回原来的微信群

    “紧急求助,请问谁家有多余的孕妇可用的退烧药么?”12月11日,微信重新下载找不到原来的群,在豆瓣社区居民微信群中,有居民急切地发出求助信息。不一会儿,便有居民晒出自家的退烧药:“你看哪种可用,我送给

    2023年01月04 217
  • 怎样加群聊,如何加入换7群微信群

    微信这款巨量级的社交APP,我们已经熟悉的不能再熟悉了。其中微信APP有一个群聊功能,也就是所谓的群,但是这个群聊很奇怪,有时候在通讯录里面找不到!当你打开这个“群聊”,却发现里面空空如也。1、邀请微

    2023年01月05 208
  • 怎样解除呼叫限制,打10086可以解除呼叫限制吗

    在日常生活中你有没有遇到这种情况,你的电话突然被呼叫限制了呢!最近我们就遇到了这么一个案例,经过多次咨询调查终于水落石出!淄博张店的张先生反映,他有一个联通的手机号已经使用了很长时间,可是最近他却发现

    2023年01月03 250
  • mac密码忘了怎么办,mac系统用户名的密码忘记了

    如果您有Apple设备,mac系统用户名的密码忘记了,您就会知道AppleID和密码对于使用iCloud和iMessage等服务的重要性。但是如果您忘记了密码(并且不要使用密码管理器)或您的帐户已被盗

    2023年05月18 267
  • 怎样更改微信号第二次,微信号一年改2次的办法

    微信号不能修改是为什么?微信已在安卓和iOS版本中都开放了修改微信号的功能,但还是有些朋友遇到了无法修改微信号的情况,也不知道是什么原因,微信号一年改2次的办法,下面小编带来了微信微信号不能修改原因详

    2023年01月08 225
  • 怎样运用ppt模板,怎么套用网上的ppt模板

    做了那么久PPT,你知道哪些既高效又炫酷的功能或技巧呢?今天,我们盘点了15个WPS演示的高效功能,为你打开PPT新世界的大门~新建幻灯片海量模板,快速制作新建幻灯片时,通常需要花时间找PPT模板。但

    2022年12月30 233
关注微信