
数据结构与算法
文章平均质量分 61
木鱼-
过一天就要进步一点,而且不知道也会更多,还有每天都会忘记一点。所以每天还得做功课
展开
-
结构化、半结构化和非结构化数据,TS结构类型
比如,如果字段不固定,利用关系型数据库也是比较困难的,有人会说,需要的时候加个字段就可以了,这样的方法也不是不可以,但在实际运用中每次都进行反复的表结构变更是非常痛苦的,这也容易导致后台接口从数据库取数据出错。从上面的例子中,属性的顺序是不重要的,不同的半结构化数据的属性的个数是不一定一样的。:指关系模型数据,即以关系数据库表形式管理的数据,结合到典型场景中更容易理解,比如企业ERP、OA、HR里的数据。:指非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档、E-mail等;原创 2024-05-22 10:27:40 · 1759 阅读 · 0 评论 -
关于java集合框架接口RandomAccess的理解
RandomAccess接口是一个空接口,空接口的作用一般起到一个标识作用,比如:Serializable 接口。RandomAccess接口里面的文档说明大致意思:给可以提供随机访问的List实现去标识一下,这样使用这个List的程序在遍历这种类型的List的时候可以有更高效率。仅此而已。这句话隐含的意思就是只要支持快速随机访问的集合类都应该实现这个接口,那么与之对应的支持顺序访问的集合类就不应该实现这个接口。例如所以,我们在遍历List之前,可以用 if( list in..转载 2021-02-23 11:09:37 · 169 阅读 · 0 评论 -
JDK 1.7及之前——HashMap死循环问题解析
在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历过,本来觉得没什么好写的,因为Java的HashMap是非线程安全的,所以在并发下必然出现问题。但是,我发现近几年,很多人都经历过这个事(在网上查“HashMap Infinite Loop”可以看到很多人都在说这个事)所以,觉得这个是个普遍问题,需要写篇疫苗文章说一下这个事,并且给大家看看一个完美转载 2020-08-20 11:38:22 · 221 阅读 · 0 评论 -
Java集合--TreeMap完全解析
4 TreeMap上一篇,介绍了集合框架中的HashMap对象,主要讲述了HashMap的底层实现和基本操作。本篇,让我们继续来学习Map集合,今天的主角是TreeMap。相比于HashMap来说,TreeMap理解起来更为复杂,你做好准备了吗?4.1 TreeMap在Map集合框架中,除了HashMap以外,TreeMap也是我们工作中常用到的集合对象之一。与HashMap相比,TreeMap是一个能比较元素大小的Map集合,会对传入的key进行了大小排序。其中,可以使用元素的自然顺序转载 2020-08-11 09:43:33 · 670 阅读 · 0 评论 -
Java集合--HashMap解惑
3 Map昨晚去了鸟巢,膜拜了5位40多岁的大爷们。算上这次,已是第三回了,每一次都有不同的感受、体验。期待,下一次的相遇。说正题前,先附一张昨晚演唱会的图片!今天,笔者要介绍的是Java集合框架中的Map集合,在日常工作中Map的运用也十分广泛。与List集合、Set集合隶属于Collection不同,Map是一个独立的接口,与Collection相同级别的接口。重要的是,Map集合提供了一个不一样的元素存储方法,利用“key--value”的形式进行存储。其中,每个键..转载 2020-08-11 09:42:02 · 184 阅读 · 0 评论 -
数据结构与算法——跳表
什么是跳表跳表全称为跳跃列表,它允许快速查询,插入和删除一个有序连续元素的数据链表。跳跃列表的平均查找和插入时间复杂度都是O(logn)。快速查询是通过维护一个多层次的链表,且每一层链表中的元素是前一层链表元素的子集(见右边的示意图)。一开始时,算法在最稀疏的层次进行搜索,直至需要查找的元素在该层两个相邻的元素中间。这时,算法将跳转到下一个层次,重复刚才的搜索,直到找到需要查找的元素为止。一张跳跃列表的示意图。每个带有箭头的框表示一个指针, 而每行是一个稀疏子序列的链表;底部的编号框(黄色)表示转载 2020-07-29 18:27:48 · 210 阅读 · 0 评论