数据结构
架构师修行之路
一个奔走在通往互联网更高之路的工程师,热衷于互联网技术。拥有10年+互联网开发经验。热衷于高性能、高并发、分布式技术领域的研究。 主要工作语言为asp.net c#和Golang 。
展开
-
程序员修仙之路-数据结构之 CXO让我做一个计算器!!
CXO的需求果然还在继续,深呼吸,深呼吸 … 有人说数据结构是为算法服务的,我还要在加一句:数据结构和算法都是为业务服务的!! CXO的需求果然不同凡响,又让菜菜想到了新的数据结构:栈 栈的特性 定义 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新...原创 2019-03-05 17:14:10 · 1403 阅读 · 0 评论 -
程序猿修仙之路--数据结构之你是否真的懂数组?
但凡IT江湖侠士,算法与数据结构为必修之课。早有前辈已经明确指出:程序=算法+数据结构 。要想在之后的江湖历练中通关,数据结构必不可少。数据结构与算法相辅相成,亦是阴阳互补之法。 开篇 说道数组,几乎每个IT江湖人士都不陌生,甚至过半人还会很自信觉的它很简单。 的确,在菜菜所知道的编程语言中几乎都会有数组的影子。不过它不仅仅是一种基础的数据类型,更是一种基础的数据结构。如果你觉的对数组足够了...原创 2019-03-04 16:06:23 · 3252 阅读 · 4 评论 -
程序猿修仙之路--数据结构之设计高性能访客记录系统
准备加班中ing… 需求要点 每个用户都有自己的个人空间,当有其他用户来访问的时候,需要添加访客记录,并且更新为最新的访客,这里设计到一个坑,如果存在这个用户的访问记录需要更新用户的最后访问时间。那这个需求在技术维度来说,有什么特点吗? 先想10秒钟,在接着往下看!!! 有什么设计要点呢? 用户的访客记录一定要缓存,要不然怎么抗住大并发呢? 由于最新的访客记录变化非常快,要有一种能快速添加...原创 2019-03-04 16:07:36 · 1569 阅读 · 0 评论 -
程序员修仙之路--突破内存限制的高性能排序
菜菜的涨工资申请还在待审批中… 作为一个技术人员,技术的问题还是要解决。经过线上日志的分析,日志采用小时机制,一个小时一个日志文件,同一个小时的日志文件有多个,也就是说同一时间内的日志有可能分散在多个日志文件中,这也是Y总要合并的主要原因。每个日志文件大约有500M,大约有100个。此时,如果你阅读到此文章,该怎么做呢?不如先静心想2分钟!! 问题分析 要想实现Y总的需求其实还是有几个难点的: ...原创 2019-03-16 17:45:43 · 1466 阅读 · 0 评论 -
程序猿修仙之路--算法之直接插入排序
算法主要衡量标准 时间复杂度(运行时间) 在算法时间复杂度维度,我们主要对比较和交换的次数做对比,其他不交换元素的算法,主要会以访问数组的次数的维度做对比。 其实有很多同学对于算法的时间复杂度有点模糊,分不清什么所谓的 O(n),O(nlogn),O(logn)…等,也许下图对一些人有一些更直观的认识。 空间复杂度(额外的内存使用) 排序算法的额外内存开销和运行时间同等...原创 2019-04-12 09:27:22 · 1313 阅读 · 0 评论