数据结构--总结

        转眼间数据结构也学了50天了【在校大学生】,基本上也算是学完了,接下来这周呢,就对所学内容进行一个总结,梳理一下知识结构体系。

简介

什么是数据结构?

        数据结构是计算机科学中的一个重要概念,用于组织和存储数据以便有效地使用和操作。它定义了不同类型数据的组织方式和相互之间的关系,使得数据的访问和操作更加高效和方便。

        计算机中常用的数据结构包括以下几种:

1. 数组(Array):顺序存储的数据结构,可以通过下标访问元素。

2. 链表(Linked List):由节点组成的数据结构,每个节点包含数据和指向下一个节点的指针。

3. 栈(Stack):一种后进先出(LIFO)的数据结构,元素只能在栈顶进行插入和删除操作。

4. 队列(Queue):一种先进先出(FIFO)的数据结构,元素只能在队尾插入,在队头删除。

5. 树(Tree):由节点和边组成的数据结构,每个节点可以有多个子节点。

6. 图(Graph):由节点和边组成的数据结构,节点之间可以有多种关系。

7. 堆(Heap):一种特殊的树形数据结构,通常用于实现优先队列。

8. 散列表(Hash Table):根据关键字直接访问数据的数据结构,通过散列函数将关键字映射到数组中的位置。

        每种数据结构都有其特定的特点和适用场景。例如,数组以连续的存储空间存储数据,适合随机访问和元素的插入和删除操作相对较少的场景;链表以节点之间的指针来连接数据元素,适合频繁的插入和删除操作;栈和队列是特定类型的线性数据结构,具有先入后出和先入先出的特性,分别适用于一些特定的问题解决;树和图是非线性数据结构,用于表示具有层次关系或者网络结构的数据。

        掌握不同的数据结构,能够帮助程序员选择合适的数据结构来解决特定的问题,提高程序的效率和性能。此外,数据结构也是算法设计和分析的基础,可以用来优化算法的时间和空间复杂度。

总结思路:

        接下来呢,我会以我们学校的教科书:《数据结构教程》【清华大学出版社】为基础进行知识的梳理,当然也会做一些微小的调整,先梳理数据结构部分,再梳理算法部分【主要是排序和查找】,有些算法【如DFS,BFS】也会在相应的数据结构中讲到。

        顺序为:线性表,栈和队列,串,数组和广义表,树和二叉树,图,

        最后我会补充一些:堆,二叉排序树,平衡二叉树,红黑树,B树,B+树,Hash表

        涉及到的代码呢,我会用java语言实现,也会总结到,这些数据结构在JDK中的实现【当然在讲实现的时候,会先讲一遍java集合】。

        以上就是我的总结思路,接下来就是逐个击破了。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ray-国

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

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

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

打赏作者

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

抵扣说明:

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

余额充值