![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
吃鱼的羊
这个作者很懒,什么都没留下…
展开
-
说说尾递归
微博上看到有人在讨论尾递归,想起以前曾看过老赵写的一篇相关的博客,介绍的比较详细了,相信很多人都看过,我也在下面留了言,但挑了个刺,表示文章在关键点上一带而过了,老赵自然是懂的,但看的人如果不深入思考,未必真正的明白,下面我说说我的理解。什么是尾递归什么是尾递归呢?(tail recursion), 顾名思议,就是一种“不一样的”递归,说到它的不一样,就得先说说一般的递归。对于一般的递归,...转载 2018-07-16 13:45:29 · 205 阅读 · 0 评论 -
归并排序详解(python实现)
因为上个星期leetcode的一道题(Median of Two Sorted Arrays)所以想仔细了解一下归并排序的实现。还是先阐述一下排序思路:首先归并排序使用了二分法,归根到底的思想还是分而治之。拿到一个长数组,将其不停的分为左边和右边两份,然后以此递归分下去。然后再将她们按照两个有序数组的样子合并起来。这样说起来可能很难理解,于是给出一张我画的图。这里显示了归并排序的第...转载 2018-08-19 10:11:52 · 23747 阅读 · 7 评论 -
B树、B-树、B+树、B*树介绍,和B+树更适合做文件索引的原因
https://www.cnblogs.com/qlqwjy/p/7965491.html今天看数据库,书中提到:由于索引是采用 B 树结构存储的,所以对应的索引项并不会被删除,经过一段时间的增删改操作后,数据库中就会出现大量的存储碎片, 这和磁盘碎片、内存碎片产生原理是类似的,这些存储碎片不仅占用了存储空间,而且降低了数据库运行的速度。如果发现索引中存在过多的存储碎片的话就要进行 “碎片整理...转载 2018-08-19 15:18:17 · 461 阅读 · 0 评论 -
树的前序后序中序遍历
http://www.cnblogs.com/LZYY/p/3454778.html在计算机科学里,树的遍历是指通过一种方法按照一定的顺序访问一颗树的过程。对于二叉树,树的遍历通常有四种:先序遍历、中序遍历、后序遍历、广度优先遍历。(前三种亦统称深度优先遍历)对于多叉树,树的遍历通常有两种:深度优先遍历、广度优先遍历。 在学习前面三种深度优先遍历之前,很有必要了解它们之间到底是怎么...转载 2018-08-29 09:44:13 · 304 阅读 · 0 评论 -
详解三种缓存过期策略LFU,FIFO,LRU(附带实现代码)
http://www.cnblogs.com/s-b-b/p/6047954.htmlhttps://www.cnblogs.com/junyuhuang/p/5805168.html 在学操作系统的时候,就会接触到缓存调度算法,缓存页面调度算法:先分配一定的页面空间,使用页面的时候首先去查询空间是否有该页面的缓存,如果有的话直接拿出来,如果没有的话先查询,如果页面空间没有满的时候,使用...转载 2018-08-29 09:45:16 · 2463 阅读 · 0 评论 -
全排列算法
https://www.cnblogs.com/nowornever-L/p/6008954.html对于给定的集合A{a1,a2,...,an},其中的n个元素互不相同,如何输出这n个元素的所有排列(全排列)。递归算法这里以A{a,b,c}为例,来说明全排列的生成方法,对于这个集合,其包含3个元素,所有的排列情况有3!=6种,对于每一种排列,其第一个元素有3种选择a,b,c,对于第一...转载 2018-08-29 14:52:15 · 22607 阅读 · 1 评论 -
你真的足够了解Join么
https://blog.csdn.net/u012485099/article/details/80588802 在平时写sql时,join语句可能是使用频率最高语句之一。可是,你真的足够了解join语句么。接下来以oracle和hive为例子,介绍join相关的基础知识,目录如下oracle 连接类型 nested join hash join ...转载 2018-10-03 16:15:14 · 525 阅读 · 0 评论