自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 Redis常用数据类型对应的数据结构

redis常用的数据类型共有五种:此文章为极客时间《数据结构与算法之美》的笔记,图片来自本课程。字符串:底层就是字符串列表(list):这种数据类型对应两种实现方法,一种是压缩列表(ziplist),另一种是双向循环链表。压缩列表(ziplist):体需要同时满足下面两个条件:列表中保存的单个数据(有可能是字符串类型的)小于 64 字节;列表中数据个数少于 512 个。我们需要用最大长度的字符串大小作为元素的大小(假设是 20 个字节)。那当我们存储小于 20 个字节长度的字符串的

2020-07-21 22:34:22 210

原创 数据结构学习笔记之队列。

声明:这个系列为学习极客时间的《数据结构与算法之美》的学习笔记。图大多数都是此系列文章内的图,非原创。队列:与栈类似,队列也是操作受限的线性表。先进者先出,这就是典型的“队列”最常见的队列:循环队列循环队列,顾名思义,它长得像一个环。(实际上,它会浪费一个数组空间,利于代码判断:是否为满,是否为空)当前 head=4,tail=7。当有一个新的元素 a 入队时,我们放入下标为 7 的位置。但这个时候,我们并不把 tail 更新为 8,而是将其在环中后移一位,到下标为 0 的位置。实现代码:

2020-07-21 16:04:52 131

原创 数据结构学习笔记之栈。

声明:这个系列为学习极客时间的《数据结构与算法之美》的学习笔记。图大多数都是此系列文章内的图,非原创。栈:实质上,栈是一种“操作受限”的线性表,只允许在一端插入和删除数据。后进者先出,先进者后出。复杂度分析:不管是顺序栈还是链式栈,我们存储数据只需要一个大小为 n 的数组就够了。在入栈和出栈过程中,只需要一两个临时变量存储空间,所以空间复杂度是 O(1)。不管是顺序栈还是链式栈,入栈、出栈只涉及栈顶个别数据的操作,所以时间复杂度都是 O(1)。对于扩容的时间复杂度分析:扩容如图:对于入栈

2020-07-21 15:14:59 175

原创 数据结构学习笔记之链表

声明:这个系列为学习极客时间的《数据结构与算法之美》的学习笔记。图大多数都是此系列文章内的图,非原创。链表定义:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。下面分别讲述常见的链表:单链表为了将所有的结点串起来,每个链表的结点除了存储数据之外,还需要记录链上的下一个结点的地址。链表也支持数据的查找、插入和删除操作。插入和删除:显然复杂度都为O(1)有利有弊,相对数组来说。链表要想随机访问第 k 个元素,就没有数组那么高效了。复杂度

2020-07-21 14:34:28 140

原创 数据结构学习笔记之数组。

声明:这个系列为学习极客时间的《数据结构与算法之美》的学习笔记。图大多数都是此系列文章内的图,非原创。数组:数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据。关键字:第一个是线性表:性表就是数据排成像一条线一样的结构。只有前后两个方向。常见线性表数据结构:数组,链表,队列,栈。非线性表:常见非线性表结构有:二叉树,图等。第二个是连续的内存空间和相同类型的数据:因此,数组有了一个特性:随机访问(就是我想访问i就访问i ,而不需要访问0到i-1。)在

2020-07-21 11:10:46 159

原创 leetcode热题系列之寻找两个正序数组的中位数(004)

leetcode热题系列第4题4. 寻找两个正序数组的中位数题目和示例:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]则中位数是 (2 + 3)/2 = 2.5来源

2020-07-19 16:09:58 167

原创 leetcode热题系列之无重复字符的最长字串(003)

3. 无重复字符的最长子串题目和示例:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke”

2020-07-19 15:50:00 76

原创 leetcode热题系列之两数相加(002)

leetcode热题系列第二题2. 两数相加题目和示例:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力

2020-07-18 19:30:22 96

原创 leetcode热题系列之两数之和(001)

leetcode热题系列第一题1. 两数之和题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetCode)链接:https://leetcode-cn.c

2020-07-18 14:14:54 77

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除