![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构和算法
多动脑,多思考
aimmon
这个作者很懒,什么都没留下…
展开
-
labuladong 数据结构与算法
我们最后用 Java 的内置类型 LinkedHashMap 来实现 LRU 算法,逻辑和之前完全一致,我就不过多解释了:class LRUCache { int cap; LinkedHashMap<Integer, Integer> cache = new LinkedHashMap<>(); public LRUCache(int capacity) { this.cap = capacity; } public i.翻译 2021-02-26 16:59:34 · 2699 阅读 · 0 评论 -
5分钟,记住排序算法 复杂度 稳定性内容
如何记忆?稳定性:分为不稳定(N)稳定(Y)so,依次为NYYNY, NNYYYNY编码 N-1 ,Y-2连起来就是:12212,11222 (一个医生2个耳朵,一个医生1个耳朵,就是说,2个医生3个耳朵)一个医生2个耳朵(稳定性),选(选择)个泡泡(冒泡)插(插入)破它,比赛结果1比1(空间复杂度)突然接到广播通知,快点(快速)归(归并)1(空间复杂度1)队(堆排序),1一个医生一个耳朵的,问,你老公呢 (nlogn )(这个公式左右结构,可以拆分为1个n ...原创 2020-07-30 23:37:26 · 368 阅读 · 0 评论 -
快速排序 --尚硅谷(数据结构和算法)
快速排序也属于交换排序,基本原理就是每一轮选择一个基准元素(pivot),大于pivot的元素放右边,小于pivot 的元素放左边 ,把数列拆分成两部分--即分治法的思路不明白的地方debug跟踪一下慢慢理解..int[] arr=new int[8]; for (int i=0;i<8;i++){ arr[i]=(int)(Math.random()*100); } System.out.println("=.翻译 2020-07-30 21:30:16 · 348 阅读 · 0 评论 -
冒泡排序---来自 <<漫画算法>>
来源: 漫画算法P107第一版: 简单点第二版: 加了点flag标识,表示是否进行过交换public static void bubbleSort(int[] arr){ int temp=0; boolean flag = false; for (int i=0;i<arr.length-1;i++){ for (int j=0;j<arr.length-1-i;j++){ if(arr[j]>arr[...翻译 2020-07-30 18:33:50 · 135 阅读 · 0 评论 -
判断一个数是否为2的整数次幂--来自<<漫画算法>>
来源: 漫画算法P173问题:实现一个方法,判断是个整数是否是2的整数次幂,要求性能尽可能高...1.将2的整数次幂转成2进制2.2的整数次幂-1(原始值-1)3.原始值 & (原始值-1) 结果=0如下图所示: 十进制 二进制 原始值-1 原始值&(原始值-1) 是否为2的整数次幂 2 10B 01B 0 ...翻译 2020-07-29 20:05:02 · 463 阅读 · 0 评论