[心得] 数据结构 学习总结

对数据结构的一些心得

学习了一段时间的数据结构,看了一些书,发现数据结构总会和算法连在一起,感觉有点奇怪,数据结构为什么不独立教呢?,为什么书名大都是数据结构和算法呢?数据结构和算法是什么关系呢?

应用起来才感觉到数据结构就好像算法一样,只不过是一种解决数据存储问题的算法;而数据又往往避免不了查找和排序操作,需要学习查找和排序算法,两者结合才能基本满足对数据的操作。
———————————————————————————

数据结构说白了就是要把人脑中抽象的数据存储方式(树,图等)用电脑中具体物理内存实现。

所以在代码实现时候要明白抽象的储存方式是怎么和内存建立联系的。

毕竟内存地址是呈线性排列下来的,并没有“树”所需要的分支,也没有一种额外储存网的"权"的空间,因此我们需要指针和结构体等工具来建立这种抽象联系。

指针在数据结构中充当一种工具,让储存在存储器不同位置的数据建立联系,比如图的边,和链表的连接。

结构体则拓宽了结点的存储空间以便放入更多信息,比如权或父/子结点。

在这里插入图片描述虽然数据本质上还是存储在线性的物理内存中,但在逻辑上和我们脑中却是一个相对抽象的树或图。

———————————————————————————
从数组到链表,是物理内存地址的连续到不连续;
从链表到树到图是对应关系的增加
(从一对一一对多 再到 多对多);
而队列,栈,权就是人为地加条件,以满足某种特定的需求。
———————————————————————————
要熟悉一种数据结构或算法,最好就是先明白原理,然后找个模板或者样例反复敲代码然后自己用数据测试几次,否则就会有种似懂非懂,隔了层纱的感觉。

个人hexo博客.

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值