学习数据结构有什么用?
一、学习数据结构有什么用

数据结构是编程最重要的基本功。学了顺序表和链表,你就知道,在查询操作更多的程序中,你应该用顺序表;而修改操作更多的程序中,你要使用链表;而单向链表不方便怎么办,你这时就会想到双向链表or循环链表。
学了栈之后,你就知道,很多涉及后入先出的问题,例如函数递归就是个栈模型、Android的屏幕跳转就用到栈,很多类似的东西,你就会名列前茅时间想到:我会用这东西来去写算法实现这个功能。
学了队列之后,你就知道,对于先入先出要排队的问题,你就要用到队列,例如多个网络下载任务,我该怎么去调度它们去获得网络资源呢?再例如操作系统的进程(or线程)调度,我该怎么去分配资源(像CPU)给多个任务呢?肯定不能全部一起拥有的,资源只有一个,那就要排队!那么怎么排队呢?用普通的队列?但是对于那些优先级高的线程怎么办?那也太共产主义了吧,这时,你就会想到了优先队列,优先队列怎么实现?用堆,然后你就有疑问了,堆是啥玩意?自己查吧,敲累了。
总之好好学数据结构就对了。我觉得数据结构就相当于:我塞牙了,那么就要用到牙签这“数据结构”,当然你用指甲也行,只不过“性能”没那么好;我要拧螺母,肯定用扳手这个“数据结构”,当然你用钳子也行,只不过也没那么好用。学习数据结构,就是为了了解以后在IT行业里搬砖需要用到什么工具,这些工具有什么利弊,应用于什么场景。以后用的过程中,你会发现这些基础的“工具”也存在着一些缺陷,你不满足于此工具,此时,你就开始自己在这些数据结构的基础上加以改造,这就叫做自定义数据结构。而且,你以后还会造出很多其他应用于实际场景的数据结构。你用这些数据结构去造轮子,不知不觉,你成了又一个轮子哥。
猜你喜欢LIKE
相关推荐HOT
更多>>
数据库ER图是怎么做的?
一、数据库ER图的制作步骤1、确定实体首先,确定数据库中的实体,即表示现实世界中独立存在的对象或概念。例如,如果我们正在设计一个学生管理...详情>>
2023-10-17 22:22:23
数据库事务原子性、一致性是怎样实现的?
一、数据库事务原子性、一致性的实现方式数据库事务的原子性(Atomicity)和一致性(Consistency)是通过事务的 ACID 特性来实现的。原子性(At...详情>>
2023-10-17 20:24:58
PolarDB-X与PolarDB的关键区别是什么?
一、PolarDB-X与PolarDB的关键区别PolarDB实际是共享存储型的数据库,适合于公有云场景降低中小型租户成本的数据库,类似于AWS的AURORA,类似于...详情>>
2023-10-17 17:43:25
SQL语句为什么使用select * 会降低查询速度?
一、为什么使用select * 会降低查询速度在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。说明:增加查询分析器解析...详情>>
2023-10-17 15:31:17热门推荐
设计数据库时,数据库名和表名是否需要前缀,优缺点是什么?
沸什么是分库分表?
热数据库ER图是怎么做的?
热时序数据库是什么?
新用什么工具做局域网报表填报系统?
数据库事务原子性、一致性是怎样实现的?
作为一个K-V数据库,levelDB索引为什么要使用LSM树实现,而不采用哈希索引?
既然MySQL中InnoDB使用MVCC,为什么REPEATABLE-READ不能消除幻读?
为什么要用模块化、组件化才能完成 Android 项目中类加载功能?
PolarDB-X与PolarDB的关键区别是什么?
怎样在MySQL表中存储树形结构数据?
redis似乎并没有“事务”,那些用到“事务”的人在做什么?
开发一款商城系统APP有什么优势?
SQL语句为什么使用select * 会降低查询速度?
技术干货
京公网安备 11010802030320号