- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 SQL索引
索引是什么 索引是帮助MySQL高效获取数据的排好序的数据结构 索引的数据结构 二叉树 红黑树 hash 表 b-树 ,B+树 关系红黑树是二叉树的升级版避免失去平衡 又称之为二叉平衡树. B树死是红黑树的升级版 也可以称之为多杈平衡树 B+ 树是B-树改造而成的是MySQL索引数据结构 B+树特点: 缺点存在冗余 但是更节省资源 一层能存储更多的数据 两次O/I 根节点一般在内存当中 储存引擎 Innodb 存储引擎 (聚集索引) Myisam (非 聚集索引) 主键 主键索引建立推荐
2020-07-12 17:51:18 277 1
原创 递归(Recursion)
什么是递归 ** 递归 是指在函数中调用自身的方法. ** 实例 青蛙跳台阶 n层台阶 青蛙一次可以跳一层或者两层 求青蛙跳到n 层一共有多少种方法 def jump(n): if n<= 2: return n return jump(n-1)+jump(n-2) print(jump(5)) ...
2020-07-05 23:08:35 109
原创 双指针问题
快慢指针 141. 环形链表 给定一个链表,判断链表中是否有环。 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 示例 1: 输入:head = [3,2,0,-4], pos = 1 输出:true 解释:链表中有一个环,其尾部连接到第二个节点。 示例 2: 输入:head = [1,2], pos = 0 输出:true 解释:链表中有一个环,其尾部连接到第一个节点。 示例 3: 输入:head = [
2020-06-28 15:42:28 110
原创 栈和队列的对比和实现
栈和队列对比 栈(Stack):限定只能在表的一端进行插入和删除操作的线性表. 队列(Queue):是限定只能在表的一端进行插入,另一端删除操作的线性表. 不同之处在于队列先进先出,栈先进后出. 栈的实现 方法一(数组实现) class Stack: #定义栈 def __init__(self): self.stack=[] self.size=0 def __str__(self):#转化为字符串方便打印 return str(self.
2020-06-28 11:39:41 403
原创 单向列表搭建 升级版
何为链表 链表就是在引用之前就有其先后顺序元素之间通过持有其他引用指针来完成有序的数据结构. 链表分为单项链表和双向链表本文只针对单向链表的搭建进行描述. 节点 通过指针连接的每个元素称之为节点,节点由指针以及所携带数据(也可以携带字符串,列表等) 指针 用来连接各个元素的自定义属性 from typing import List #引用部分引用类型列表 #节点的创建 class Node: def __init__(self,data):#定义节点属性 self.data=dat
2020-06-28 10:53:56 75
原创 单向链表的搭建
链表的搭建何为链表节点指针整体实现 何为链表 链表就是在引用之前就有其先后顺序元素之间通过持有其他引用指针来完成有序的数据结构. 链表分为单项链表和双向链表本文只针对单向链表的搭建进行描述. 节点 通过指针连接的每个元素称之为节点,节点由指针以及所携带数据(也可以携带字符串,列表等) 指针 用来连接各个元素的自定义属性 整体实现 from typing import List #引用类型 :列表 # 节点创建 class Node: def __init__(self, data):
2020-06-28 10:33:06 136
原创 两数之和
两数之和 给定一个已按照升序排列 的有序数组,找到两个数使得它们相加之和等于目标数。 函数应该返回这两个下标值 index1 和 index2,其中 index1 必须小于 index2。 说明: 返回的下标值(index1 和 index2)不是从零开始的。 你可以假设每个输入只对应唯一的答案,而且你不可以重复使用相同的元素。 示例: 输入: numbers = [2, 7, 11, 15], target = 9 输出: [1,2] 解释: 2 与 7 之和等于目标数 9 。因此 index1 = 1,
2020-06-25 20:06:04 108
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人