前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >没有万能的结构和选择

没有万能的结构和选择

作者头像
明明如月学长
发布2021-08-31 15:18:53
3050
发布2021-08-31 15:18:53
举报
文章被收录于专栏:明明如月的技术专栏

一、背景

前一段时间读到一本技术书说到“大师就是可以在特定的场景选择最合适的技术的人”。

回想数据结构,线性结构和链式结构中,插入和删除与查询的效率是相互矛盾的。

大多数开发的方案、框架中,都是时间和空间的取舍。

如利用空间换时间的消息队列、分库分表、缓存框架等。

目前没见过性能超强,速度超快且占用空间超小的结构,如果有估计大家都用这个结构了。

二、思考

2.1 计算机相关

常见的几种结构特点:

数组查询的效率高,但是插入、删除的效率低;

链表的插入和删除的效率高,但是查询的效率低;

哈希表的查询效率高,但是范围查找无法实现。

二叉查找树查找的效率高;

队列则先入先出;栈则先入后出;

大顶堆保证顶部元素最大;

B+树支持范围查找且树矮;

各种数据结构各有特性,没有任何一种结构可以在所有场景都是最优的。

参考《深入理解计算机系统》1.6节

从磁盘到CPU的寄存器的所有存储介质,都是从体积大、速度慢、价格便宜 到体积小、速度高价格更贵;

每个专业的图书也有入门级和大师级的图书,有浅显易懂的有理论性超强的。

初学者往往更适合选择初级的浅显易懂的,有一定得工作经验的可以选择理论性强一些的经典的图书。

2.2 从生活而言

比如步行、自行车、电车、公交车、汽车、火车、高铁、飞机等,价格从低到高,舒适度相对来说也是从低到高。

但是没有任何一种交通工具可以又便宜,速度又快。

而且每种交通工具都有人会选择,距离近则可步行、自行车、电车。

中途旅行可以选择公交、汽车;

中长途旅行可以选择汽车、火车、高铁、飞机。

因为每个人的财力不同,每种交通工具的场景不同。

再比如大学学校的层层次不一样,有985、211、普本、专科。

谁都想读名校,但是学校招收的条件不一样;学生的天赋、方法、努力甚至户口都不一样,不可能所有人都读名校。

再比如每个大学的专业都很多,有经济、数学、文学等,没有任何一个专业是永远吃香的,同样是高分或者低分,都会有人选择不同的专业。

每个人根据自己能力选择最合适的学校和专业。

再比如同一个学校的学生,有选择考研,选择考老师,考公务员;选择直接就业,有选择创业。

每一种选择都,可能成功,可能失利。考老师可能稍微安逸,但是薪资低一些;创业可能挣大钱也可能血本无归。

安逸和薪资是矛盾的,挣大钱和风险是矛盾的;

三、结论

既然没有万能的结构,没有万能的选择,我们尽量针对不同的场景,选择适合的数据结构,适合的技术等。

如果觉得本文对你有帮助,欢迎点赞,欢迎关注我,如果有补充欢迎评论交流,我将努力创作更多更好的文章。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/19 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、背景
  • 二、思考
    • 2.1 计算机相关
      • 2.2 从生活而言
      • 三、结论
      相关产品与服务
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档