摘要: 1、遇到的问题 开发中常常会打印业务日志,这些日志在排查问题或跟踪调用流程时非常有用,很多业务日志并没有考虑排查问题时的便利性,看似都记录了日志,一旦出现了线上问题,排查起来特别麻烦,很多时候又不方便让用户重现问题,造成解决问题周期长甚至是无法解决问题;如果日志记录的好,可以根据关键字搜索得出一条调阅读全文
posted @ 2019-02-02 17:23 Mr.yang.localhost 阅读(837) 评论(0) 编辑
摘要: 1、树 树是一种很常见的分线性数据结构,公司的组织架构,行政区划结构等都是树形结构。树形结构里常见的有树和二叉树。 树的定义 树是n(n>=0)个结点的有限集。 在任意一棵非空树中: (1)有且仅有一个特定的称为根(root)的结点 (2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集,其阅读全文
posted @ 2018-12-26 22:31 Mr.yang.localhost 阅读(338) 评论(0) 编辑
摘要: 序言 上篇讲到线性结构,和线性结构相反的是非线性结构,非线性结构特点是一个结点元素可能有多个直接前驱和多个直接后继。常见的非线性结构有:二(多)维数组、树、图。 本来计划是非线性结构作为一篇,写着写着发现内容确实太多了,拆分为上、中、下3篇比较合适,所以改变了之前的计划。 1、二维数组 如:a[0]阅读全文
posted @ 2018-11-18 17:33 Mr.yang.localhost 阅读(508) 评论(0) 编辑
摘要: 线性表 线性表表示一种线性结构的数据结构,顾名思义就是数据排成像一条线一样的结构,每个线性表上的数据只有前和后两个方向。比如:数组、链表、栈和队列都是线性表,今天我们分别来看看这些线性数据结构。 数组 数组是一种线性表数据结构,用一组连续的内存空间来存储一组具有相同类型的数据。 内存分布: 随机访问阅读全文
posted @ 2018-11-04 23:40 Mr.yang.localhost 阅读(559) 评论(8) 编辑
摘要: 复杂度也称为渐进复杂度,包括渐进时间复杂度和渐进空间复杂度,描述算法随数据规模变化而逐渐变化的趋势。复杂度分析是评估算法好坏的基础理论方法,所以掌握好复杂度分析方法是很有必要的。 时间复杂度 首先,学习数据结构是为了解决“快”和“省”的问题,那么如何去评估算法的速度快和省空间呢?这就需要掌握时间和空阅读全文
posted @ 2018-10-27 23:04 Mr.yang.localhost 阅读(346) 评论(0) 编辑
摘要: 很多程序员对数据结构和算法并不熟悉,觉得在日常工作中用处并不大而且还比较难学,有时间学数据结构与算法,还不如对框架和Api熟练来的实在。确实,作为业务开发人员不懂算法仍然可以很快很好地完成开发任务,这是因为大部分开发语言底层都基于基本数据结构帮我们封装好了,我们拿来就可以用,而且性能也比较好。但是即阅读全文
posted @ 2018-10-27 20:45 Mr.yang.localhost 阅读(238) 评论(0) 编辑
摘要: 引言 假设有老赵、老钱、老孙三位房东,他们自己手里有一套房租需要出租,但是又有不同的需求,于是相互商量: 可是出租房子的人毕竟很多,哪种房型好租,租什么价格需要了解很多出租情况,而自己要与那么多人交流需要花费很大的时间与精力……所以他们都不约而同地找到了中介,将自己房子出租的信息放到了中介,让中介去阅读全文
posted @ 2018-10-21 15:31 Mr.yang.localhost 阅读(258) 评论(0) 编辑
摘要: 定义 为其他对象提供一种代理以控制对这个对象的访问。 代理模式也叫委托模式,日常生活中很常见。帮别人做某某事情时候,自己就是别人的代理;让别人帮自己做什么事情时候,别人就是自己的代理。 通用类图 Subject抽象主题角色 抽象主题类是一个普通的业务类型的定义,规定要做什么事情。可以是一个抽象类也可阅读全文
posted @ 2018-10-13 23:17 Mr.yang.localhost 阅读(257) 评论(0) 编辑
摘要: 引言 之前在家看两个小外甥玩轨道车,拆开包装,一堆小零件,兄弟两一个拼桥梁、弯道、路标,一个装车、搭立交、组装上下坡。不一会儿轨道就全拼好了,两兄弟用代表自己的车子在轨道上追逐,玩的很开心。我看了下轨道车包装,根据使用零件多少不同,组拼顺序不同,摆放不同可以创建不同的轨道和街道,有椭圆形的,上下立交阅读全文
posted @ 2018-10-05 22:14 Mr.yang.localhost 阅读(364) 评论(0) 编辑
摘要: 标准模板方法 前几天遇到了小明,相互寒暄了下,感叹了下时间过得很快,毕业后好些同学都没联系了,然后巴拉巴拉从小学、初中、高中、大学简单回忆了一下上学时候的有趣的事情…… 如果用类图来描述小明的学习生涯,可以简单描述为: 如果用程序来描述学习的各个阶段,可以简单表示为: 小明的学习经历可以简单描述为:阅读全文
posted @ 2018-10-05 11:51 Mr.yang.localhost 阅读(50) 评论(0) 编辑