1. 队友给力 这世界上从来都不缺勤奋努力的人,是块金子,到哪里都会发光的。我的好队友刘不二就是这样的一个人,一个纯粹的人,一个优秀的人。 最近我们一起在Github上面维护了一个程序员知识库,说好一起整理自己的资料上去,大家一起汇聚知识宝库。我还才小心翼翼的整理了十篇数据结构的资料,结果这给力队友已经上传了一百多篇资料了,可见他平时多么喜欢学习、整理。 看他如此高的热情,我就在想,如果大家都能这样投入12分的精力到一件事情上,这世界上就没有做不成的事情了。 是的,这世界总是这样,有些人总是在运转、改变;而有些人,…

2020年11月30日 0条评论 5142点热度 0人点赞 ikeguang 阅读全文

概论 LinkedHashMap 通过特有底层双向链表的支持,使得LinkedHashMap可以保存元素之间的顺序,例如插入顺序或者访问顺序,而HashMap因为没有双向链表的支持,所以就不能保持这种顺序,所以它的访问就是随机的了 和HashMap一样,还是通过数组存储元素的 这里的顺序指的是遍历的顺序,定义了头结点head,当我们调用迭代器进行遍历时,通过head开始遍历,通过after属性可以不断找到下一个,直到tail尾结点,从而实现顺序性。在同一个hash(其实更准确的说是同一个下标,数组index ,在上…

2020年11月30日 0条评论 6535点热度 0人点赞 ikeguang 阅读全文

概论 HashMap 是无论在工作还是面试中都非常常见常考的数据结构。比如 Leetcode 第一题 Two Sum 的某种变种的最优解就是需要用到 HashMap 的,高频考题 LRU Cache 是需要用到 LinkedHashMap 的。HashMap 用起来很简单,所以今天我们来从源码的角度梳理一下Hashmap 随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。 HashMap:它根据键的hashCod…

2020年11月30日 0条评论 6568点热度 0人点赞 ikeguang 阅读全文

目前情况是蛋壳公寓还没有明确回复解决方案,房东态度也还不错,但是这房子早晚都得搬走,所以今天就搬了。 现在的房子是迷你袖珍型的,空间比较小,但是好在东西不算多。不过能让我养成善于整理屋子的习惯,这也是大有裨益的。 今天搬家其实还是有点累的,搬家都是挺累的,但是晚上还是要去健身。坚持是个好东西,其实胜过大多数人的一种很简单方法就是坚持。无论出身背景、学历,你有坚持做一件事情的自由,能坚持一件小事,你就超越了99%的人了。 到一个陌生城市打工,因为房子各种奔波,有时候会觉得心累,我们都不能改变,这都是小事。我们所能改变…

2020年11月29日 2条评论 4876点热度 0人点赞 ikeguang 阅读全文

清晰的规划 如果没有清晰的规划,人会感觉每天都很忙,但是却在瞎忙活,凡事达不到自己的预期,就会使人迷茫,心态低迷,影响一个人的阶段成长。 我现在每天都在看书写日记,看书能让人心静下来; 然后每天都在锻炼增肌,身体是革命的本钱; 最近也在做事情,明年应该能看到效果,会有一个很可观的副业收入; 好好准备,明年准备进大厂; 快速积累第一笔财富,为以后创业资金提供血液。

2020年11月28日 0条评论 3308点热度 0人点赞 ikeguang 阅读全文

这一届的年轻人,被ofo小黄车坑过押金,被P2P坑过本金,出了社会,还被蛋壳公寓收割。 实锤,我住的蛋壳公寓因为拖欠房东房租,房东已经下了通牒,2020年11月30号之前必须搬出去。跟天斗,算了。 蛋壳公寓的模式 大部分人都是刚毕业的大学生,我是为了省钱,被坑是这样的。 一次性交租一年,有两个月的优惠,条件是需要用微众银行的贷款,微众银行一次性把一年房租打到蛋壳公寓的账上,蛋壳公寓按月给房东钱,蛋壳公寓一次性就能收到11个月房租和一个月的押金。蛋壳公寓用这种模式疯狂扩张,人多了,就形成了一个巨大的资金池。蛋壳公寓拿…

2020年11月27日 0条评论 3132点热度 0人点赞 ikeguang 阅读全文

明星开演唱会,赚的是粉丝的钱;网红直播,赚的也是粉丝的钱;粉丝的喜欢、崇拜,让他们有了人设,有了个人IP,就可以收割了,镰刀嚯嚯。这个世界从来都是这样,有钱人赚穷人的钱。 想要打造个人IP、人设,需要勇敢走向大众,通过自己的努力,将自己包装、推广出去,流量到了一定级别,这时候就可以伸出你的镰刀开始收割了。 今天想拍短视频,明天想写文章,后天想卖煎饼果子,这都是不专一的表现。 普通人想要咸鱼翻身、改变命运,没有资源、人源,只有靠时间,用时间堆,用时间积累,认准一个点,奋斗十年以上才可能有所成就。一生很短,一生只做一件…

2020年11月26日 0条评论 2766点热度 0人点赞 ikeguang 阅读全文

排序算法是《数据结构与算法》中最基本的算法之一。 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括: 关于时间复杂度 平方阶 (O(n2)) 排序 各类简单排序:直接插入、直接选择和冒泡排序。 线性对数阶 (O(nlog2n)) 排序 快速排序、堆排序和归并排序; O(n1+§)) 排序,§ 是介…

2020年11月25日 0条评论 2783点热度 0人点赞 ikeguang 阅读全文

10大经典排序算法——系列文章 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 计数排序 桶排序 基数排序 基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 1. 基数排序 vs 计数排序 vs 桶排序 基数排序有两种方法: 这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异案例看大家发的: 基数排序:根据键值的每位数字来分配桶; 计数排序:…

2020年11月25日 0条评论 2727点热度 0人点赞 ikeguang 阅读全文

10大经典排序算法——系列文章 冒泡排序 选择排序 插入排序 希尔排序 归并排序 快速排序 堆排序 计数排序 桶排序 基数排序 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点: 在额外空间充足的情况下,尽量增大桶的数量 使用的映射函数能够将输入的 N 个数据均匀的分配到 K 个桶中 同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响至关重要。 1. 什么时候最快 当输入的数据可以均匀的分配到每一个桶中。 2. 什么时候最慢…

2020年11月25日 0条评论 2365点热度 0人点赞 ikeguang 阅读全文
123459