什么是数据结构?怎么学好数据结构?

一、什么是数据结构?

数据结构就是实现在内存中存储管理数据,建立数据间的关系。数据间的关系可以是线性(顺序表、链表等),也可以是非线性(二叉树、哈希、图等)。数据存储起来以后,方便我们去展示、查询等等。

二、什么是算法?算法和数据结构的关系?

算法是什么?

官方一点

算法(Algorithm):就是定义良好的计算过程,他取一个或者一组得值的输入,并且产生一个或者一组的值作为输出。简单来说就算法就是一系列的计算步骤,用来将输入数据转化为输出结果。

白话一点

算法就是利用计算机处理问题的步骤,简而言之,就是解决问题的步骤。比如:简单一点的算法,淘宝京东购物时按照价格、销量、综合评价排序,这里就用了排序算法,美团给你推荐排名前100的川菜馆、冒菜馆,这个就可以用堆实现优先级队列。复杂的算法,抖音对每个视频打标签归类,根据大家观察视频时长,点赞给大家推流的推荐算法。再比如大家在百度搜索资料时,搜索引擎的倒排索引算法。

数据结构与算法的关系?

两者相辅相成,秤不离砣,砣不离称。解决一些算法问题需要用到数据结构,比如TopK问题(N个数找出最大/最小的前K个)要用到堆,实现一些数据结构中,需要用到一些算法,比如二叉树,数据结构和算法你中有我,我中有你。

三、如何学好数据结构和算法?

手撕代码,除了会开车,还要了解发动机的原理,以后方便造轮子和看开源代码,数据结构是编程的内功。
以下是数据结构知识点的概述:
image-20231110235728018.pngimage-20231110235752118.png
把以上列出的数据结构的思维都想清楚,知道它用来干嘛的,它实现的过程是怎么样的,最重要的是把这些思维多次思考融会贯通,随时能说出来它的实现过程。

四、数据结构推荐书籍?

学完以上基础的数据结构思维,就可以实践写代码,30%的时间学习思维,70%的时间应该用来写代码,巩固你的思维,知道该什么时候用这个数据结构,而且知道思维也不一定能写出来,需要多多实践。

image-20231112034052574.png

六、总结

  1. 多画图,多思考

  2. 独立写出来,注意不要太依赖看着学的,脑子懂了,写出来确实快,但是容易忘记,要形容长期记忆最好还是练习。

  3. 多次刷,重复刷,书读百遍其意自现,读万卷书不如走万里路,时间充裕的情况下多次刷能获得新的思维和成长。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hhh __灏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值