26. 删除排序数组中的重复项
更多剑指 Offer 68 - I. 二叉搜索树的最近公共祖先
更多面试题-04-03-特定深度节点链表
更多剑指 Offer 58 - II. 左旋转字符串
更多剑指 Offer 54. 二叉搜索树的第k大节点
更多【算法】排序算法系列详解---归并排序
排序算法 想要理解排序算法,我们先得了解什么是分而治之思想,一种著名的递归式问题解决方案。很多算法中都用到了这种思想。 D&C 分而治之 比方说我们有这样一块168 * 64的地皮,我们需要在尽可能大的情况下去均匀的分成正方形,求该正方形的边长。 所谓的分而治之就是把问题缩小化,大问题分成中等问题,中等问题分解成小问题来解决。 这道题我们可以通过不断的找正方形来慢慢分割出小问题来。先在这块地中划出64*64的正方形,那么剩余的地皮为40 * 64,再进行分割,如此往复… 最终会得到一个8*8的方块,这个就是一个典型的分而治之思想。 归并排序 归并排序有两种,自顶向下和自底向上。 自顶向下算法思路 将数组拆分成两部分,先处理左边再处理右边,通过递归的方式对两边进行拆分,一直拆分到只有一个元素为..
更多122-买卖股票的最佳时机-II
更多657. 机器人能否返回原点
更多浅谈Redis的持久化:RDB与AOF
Redis数据持久化 Redis可不单单是一个缓存型数据库,如果出现Redis服务出现问题导致关闭或者人为的操作导致停止运行,那么所有的数据都将丢失。 为此Redis推出了数据持久化的方案,Redis推出了两种方案:RDB与AOF RDB快照 什么是RDB快照,RDB快照有点类似于传统数据库的db文件。指的是将Redis中的数据以二进制格式存储在RDB文件中,因为是在磁盘上进行的操作,所以每次写入数据都是IO操作。为了减少磁盘的负担,Redis支持修改RDB文件的写入时间间隔: save <seconds> <changes>表示在seconds秒内,至少有changes次变化,就会自动触发bgsave命令 save 900 1 当时间到900秒时,如果至少有1个key发生变化..
更多自己动手实现简易版sqlite(一).md
前言 在动手学习这块知识之前本身是抱着想了解数据库是如何实现的目的,但越往后越觉得数据库这个项目真的是复杂,但是也十分有趣。所以特地在此记录下我这些天来对sqlite的理解。 本篇文章是以简易版的sqlite(后面简称sqlite)为基础写出来的原理剖析,还有很多sqlite的基本功能还未涉及到,之后我会逐步添加上去。 框架结构 本项目用c语言实现 测试工具为rspec 本sqlite的基本架构分为: 核心层 接口 SQL命令处理程序 分词器(Tokenizer) 分析器(Parser) 代码生成器(Code Generator) 虚拟机(后台) B树 (B-Tree) 页面调度程序(Pager) 操作系统接口 (OS Interface) 其他辅助类 一般我们把接口和SQL命..
更多