怎么学好C语言数据结构?

ea8538edf09fda86a643bc7a9e829f02.png

点击上方蓝字关注我,了解更多咨询

a49db72efd881b866bd10e9d56e1342d.png

C语言的数据结构与算法,难就难在链表,学会了链表,可能后面就一点都不难了。书籍推荐《数据结构与算法分析—C语言描述版》,要深入学习的话可以选择这本书,因为针对链表的讲解是比较详细的,所以可以很快理解链表。

跟着书上一点点实现基本操作(增删改查)动手很重要,遇到bug解决bug也重要,会让我们对链表理解的更加深刻。

数据结构的学习分为四层

首先,简单的理解方法,比如我们知道栈是先进后出,队列是先进先出就可以了,这个都很好理解。

其次,简单的应用方法,比如比如你知道

顺序表

的实现由数组和链表的方式,他们各自的优缺点,在某种场景使用,然后会写他们的test文件,就是怎么去初始化一个表,调用一下插入方法啊,删除啊,求长度啊之类的。

之后,理解具体的实现,能看懂具体的实现方法,比如链表插入的函数,逻辑可以跟上,大概就是如何新建一个节点,怎么把数据放入节点,怎么让前一个节点只想这个节点之类的,这时候照着书上的代码敲出来,保证可以运行。

e022e0e293f3dfcdd1f6d471195e541c.png

编辑

切换为居中

最后,通过系列的学习和刷题,可以直接默写代码。

刷题之前必备掌握基础

不要基础还没有掌握扎实就开始刷题了,如果你想开始刷题了,那么一定要具备的基础有:

  • 1、常见数据结构:链表、树(如二叉树)。

  • 2、常见算法思想:贪婪法、分治法、穷举法、动态规划,回溯法。

以上列出来的算是最基本的吧。就是说你刷题之前,要把这些过一遍再去刷题。如果你连这些最基本的都不知道的话,那么你再刷题的过程中,会很难受的,思路也会相对比较少。

总之,千万不要急,先把这些基本的过一遍,力求理解,再去刷题。这些基础的数据结构与算法,可以通过看书学习,可以看的书是:

  • 1、算法分析与分析基础:这本比较简单,推荐新手看。

  • 2、数据结构与算法分析—-C语言描述:代码用C写的,推荐看。

  • 3、挑战程序设计竞赛(第二版):也是很不错的一本书,推荐看。

在做题的时候一定要有追求完美的态度,不要把一个题做出来之后就直接刷过去。

算法的能力提升和做题数量有一定关系,但更多的是积累+优化。第一次做题粗略做出来就可以了,但是下一遍的时候要思考如何降低时间复杂度或者空间复杂度。想不明白的话,也有很多大佬分享自己的做法。

bb38669d01610b39ef540e850dd80f61.png

END

*声明:本文于网络整理,版权归原作者所有,如来源信息有误或侵犯权益,请联系我们删除或授权事宜。

9d24d6137778fa2025555e49141ea117.png

8a59efe863e390773fe5a0adf72a38be.gif

戳“阅读原文”我们一起进步

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值