labulaodong笔记

数据结构的存储方式只有两种:链式/数组。

数组存储数据结构:不需要存储额外信息,比较节省空间,可以随机访问,但是不可以动态的扩容,如果要扩容必须申请更大的内存空间然后搬运旧的元素,删除增加元素O(N)复杂度。

链表存储数据结构:需要存储额外的指针信息,需要额外的空间,不需要额外的扩容,存储空间可以看作等于内存空间,知道前驱后继的情况下增删O(1),不可以随机的访问。

数据结构有很多,但是所有的数据结构设计出来只有一个目的:尽量高效的完成增删改查。

任何数据结构的遍历访问都可以看做两类:线性的遍历(for循环)非线性的遍历(递归)。

链表的递归遍历->二叉树的递归遍历->多叉树的递归遍历->图的递归遍历+visited数组判断是否遍历过。

很多算法都是树的问题,凡是涉及到递归的问题,都是树的问题,因为有递归树的出现。

其实很多动态规划题目,都是转化成树。暴⼒解法就是遍历⼀棵N叉树,有的时候会有重复计算的问题。

找出状态转移的方程。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
05-11 20:45
门头沟学院 Java
有担当的灰太狼又在摸...:零帧起手查看图片
点赞 评论 收藏
分享
废物一个0offer:认真的吗二本本科找人工智能岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务