[数据结构学习笔记1] 为什么需要有数据结构(Data Structure)
程序本质上就是用来读取数据,然后操作数据,最后生成数据的。如果数据能被有效,或者有结构的展现,那将极大方便程序操作。
举例:
我们家里有很多工具,剪刀,锤子,斧头,扳手,放大镜,六角扳手,螺丝刀,尺子,卷尺,螺丝,便利贴等等。我们可以怎样收纳这些工具,使得我们后续可以方便的使用呢?
第一种,我们家有个大箱子,我可以把这些工具一股脑扔进大箱子里,然后就好了。当我想要用一个工具的时候,我需要翻箱倒柜的找,如果刚好在上面,那就找的快,要是被压在下面,就要把上面的取出来,最好拿到需要的工具。
第二种,我们家有个专门的工具箱,可以把大小工具归类。当放工具的时候,就不能随意扔进去,而是,专门的工具在特定的位置。这种工具箱,在放置工具的时候,就会慢一些,但是使用的时候,可以直接到特定位置去拿。
两种方法其实各有优缺点:
大箱子:放的快,查找,移除慢;
工具箱:放的慢,查找,移除快。
回到数据结构,我们有数组,链表,堆栈,队列,树,二叉树,二叉搜索树,堆,哈希表,前置树等。每个数据结构都有自己的特色,本身没有谁是更好,只有最合适解决问题的结构。
标签:
数据结构笔记
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战