
数据结构和算法
这个栏目主要学习锻炼数据结构和算法,让思维更加灵活、跳动
若之灵动
专注于移动应用研发
展开
-
链表实现LRU算法
1.缓存CPU缓存:位于CPU与内存之间的临时存储器。解决CPU速度和内存速度的速度差异问题。软件缓存:内存缓存、本地缓存、网络缓存2.内存缓存预先将数据写到了容器(list,map,set)等数据存储单元中,就是软件内存缓存。3.内存缓存淘汰机制FIFO (First In, First Out) 先进的元素,先被淘汰,队列LFU (Least Frequently Used) 使用频率最低 先被淘汰 记录元素的使用频率LRU (Least Recently Used)原创 2022-05-14 15:14:47 · 403 阅读 · 0 评论 -
排序算法二 选择排序
1.选择排序描述:选择排序的思想其实和冒泡排序有点类似,都是在一次排序后把最小的元素放到最前面。但是过程不同,冒泡排序是通过相邻的比较和交换,而选择排序是通过对整体的选择。其实选择排序可以看成冒泡排序的优化,选择排序只有在确定了最小数的前提下才进行交换,大大减少了交换的次数。2.排序流程找到数组中最大(小)的那个元素;将它和数组的第一个元素交换位置(如果第一个元素就是最大(小)元素那么它就和自己交换);在剩下的元素中找到最大(小)的元素,将它与数组的第二个元素交换位置。如此往复,直原创 2022-05-14 13:03:20 · 170 阅读 · 0 评论 -
排序算法一冒泡排序
1.冒泡排序描述:冒泡排序是一种简单的排序算法。它重复地遍历过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为相关的元素会经由交换慢慢“浮”到数列的顶端。基本思路:比较相邻的元素。如果第一个比第二个大(小),就交换它们两个;对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对,这样在最后的元素应该会是最大(小)的数;针对所有的元素重复以上的步骤,除了最后一个原创 2022-05-14 12:50:12 · 419 阅读 · 0 评论