会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
侧边栏
yooooooo
以有涯之生随无涯之学
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
92
93
94
95
96
97
98
99
100
···
137
下一页
2019年10月15日
希尔排序--简单易懂图解【转】
摘要: 前情回顾:直接插入排序(对插入排序不熟悉的建议先阅读此文) 一天,一尘拿着扑克自己在那玩,刚被师傅看见了 首先它把较大的数据集合分割成若干个小组(逻辑上分组),然后对每一个小组分别进行插入排序,此时,插入排序所作用的数据量比较小(每一个小组),插入的效率比较高 可以看出,他是按下标相隔距离为4分的组
阅读全文
posted @ 2019-10-15 08:55 yooooooo
阅读(1047)
评论(0)
推荐(0)
2019年10月14日
算法排序----插入排序法
摘要: 接下来我来讲述一下插入排序法。 首先来解释一下插入排序法的原理,它的原理是每插入一个数都要将它和之前的已经完成排序的序列进行重新排序,也就是要找到新插入的数对应原序列中的位置。那么也就是说,每次插入一个数都要对原来排序好的那部分序列进行重新的排序,时间复杂度同样为O(n²)。 这种算法是稳定的排序方
阅读全文
posted @ 2019-10-14 13:42 yooooooo
阅读(672)
评论(0)
推荐(2)
Linux-3.14.12内存管理笔记【伙伴管理算法(3)】
摘要: 前面分析了伙伴管理算法的初始化,在切入分析代码实现之前,例行先分析一下其实现原理。 伙伴管理算法(也称之为Buddy算法),该算法将所有空闲的页面分组划分为MAX_ORDER个页面块链表进行管理,其中MAX_ORDER定义: 通常该值都是定义为11,而CONFIG_FORCE_MAX_ZONEORD
阅读全文
posted @ 2019-10-14 09:54 yooooooo
阅读(605)
评论(0)
推荐(0)
2019年10月12日
看图说话之二项队列(优先队列)——原理解析【转】
摘要: 本文在上述的基础上介绍优先队列的另外一种支持高效合并操作的实现——二项队列。原来在介绍二叉堆和左式堆的时候喜欢从结构性和堆序性两个方面介绍,它们二者都是特殊的二叉树结构,但是二项队列不能单纯的从结构性和堆序性两个方面介绍了因为二项队列并不是我们熟悉的树结构,而是树的集合——森林,本篇文章从二项队列的
阅读全文
posted @ 2019-10-12 14:28 yooooooo
阅读(647)
评论(0)
推荐(0)
算法复杂度O(logn)详解
摘要: 一.O(logn)代码小证明 我们先来看下面一段代码: 2. 欧几里得算法 3.幂运算 四.$$库里的log函数 在$$库里有log()函数和log2()函数 log()函数的底数默认为自然对数的底数e log2()函数的底数很显然就是2咯qwq include include include in
阅读全文
posted @ 2019-10-12 10:13 yooooooo
阅读(10980)
评论(0)
推荐(0)
什么是优先队列?【转】
摘要: 这一次,我们来讲一讲二叉堆的另外一个应用:优先队列 队列的特点是什么? 聪明的小伙伴们都知道,是先进先出(FIFO)。 入队列: 出队列: 那么,优先队列又是什么样子呢? 优先队列不再遵循先入先出的原则,而是分为两种情况: 最大优先队列,无论入队顺序,当前最大的元素优先出队。 最小优先队列,无论入队
阅读全文
posted @ 2019-10-12 09:50 yooooooo
阅读(1206)
评论(0)
推荐(0)
2019年10月7日
Linux-3.14.12内存管理笔记【伙伴管理算法(2)】
摘要: 前面已经分析了linux内存管理算法(伙伴管理算法)的准备工作。 具体的算法初始化则回到start_kernel()函数接着往下走,下一个函数是mm_init(): 乍看仅仅是几个函数的调用,实际上这里的事情远远没这么简单。其中page_cgroup_init_flatmem()与cgroup相关,
阅读全文
posted @ 2019-10-07 11:02 yooooooo
阅读(549)
评论(0)
推荐(0)
Linux-3.14.12内存管理笔记【伙伴管理算法(1)】
摘要: 前面分析了memblock算法、内核页表的建立、内存管理框架的构建,这些都是x86处理的setup_arch()函数里面初始化的,因地制宜,具有明显处理器的特征。而start_kernel()接下来的初始化则是linux通用的内存管理算法框架了。 build_all_zonelists()用来初始化
阅读全文
posted @ 2019-10-07 10:19 yooooooo
阅读(742)
评论(0)
推荐(0)
2019年10月6日
各种页的意义
摘要: 文件页 内存回收,也就是系统释放掉可以回收的内存,比如缓存和缓冲区,就属于可回收内存。它们在内存管理中,通常被叫做文件页(File backed Page)。大部分文件页,都可以直接回收,以后有需要时,再从磁盘重新读取就可以了。 脏页 那些被应用程序修改过,并且暂时还没写入磁盘的数据(也就是脏页),
阅读全文
posted @ 2019-10-06 23:03 yooooooo
阅读(478)
评论(0)
推荐(0)
linux内核的冷热页分配器
摘要: 先说说cpu的cache,和cpu的cache比起来访问主内存是非常慢的,为了加快速度根据本地性原则,cpu在访问主内存的时候会把附近的一块数据都加载到cpu的cache里,之后读写这块数据都是在cache里做的。 linux本来有伙伴系统分配内存页,为了加快单个内存页的分配linux在每个node
阅读全文
posted @ 2019-10-06 23:00 yooooooo
阅读(545)
评论(0)
推荐(0)
上一页
1
···
92
93
94
95
96
97
98
99
100
···
137
下一页
公告