<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ZZBOOM_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ZZBOOM_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ZZBOOM_]]></copyright><item><title><![CDATA[【手把手带你刷Leetcode力扣】12.数据结构 - JAVA]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/121722298</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/121722298</guid><author>ZZBOOM_</author><pubDate>Sat, 04 Dec 2021 22:06:39 +0800</pubDate><description><![CDATA[数组
创建数组
int[] a = {1, 2, 3};
System.out.println("a: "+Arrays.toString(a));

int[] b = new int[]{1, 2, 3};

int[] c = new int[3];
for(int i = 0; i &lt; a.length; i++) {
	c[i] = i+1;
}

ArrayList&lt;Integer&gt; arr = new ArrayList&lt;&gt;();
for(int i = 0; i]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】11.数据结构 - 字典树/前缀树Trie]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120839868</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120839868</guid><author>ZZBOOM_</author><pubDate>Tue, 19 Oct 2021 09:54:03 +0800</pubDate><description><![CDATA[字典树/前缀树Trie
自动匹配的程序
数组：[goog, googl, google, bai, baidu, gi]
g

goog
googl
google
gi

go

goog
googl
google

插入：O（N）
搜索：O（N）
前缀存在：O（NM）(元素个数匹配的时间复杂度)
Trie
root节点 root = Trie()
孩子节点 Hash
结束Flag
对应的值
插入：O（K）
搜索：O（K）
前缀存在：O（K）
词频统计


学习视频来源B站—爱学习的饲养员—手把手带你刷Le]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】算法]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120689431</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120689431</guid><author>ZZBOOM_</author><pubDate>Sun, 10 Oct 2021 20:00:14 +0800</pubDate><description><![CDATA[普通双指针：两个指针往同一个方向移动
对撞双指针：两个指针面对面移动
快慢双指针：慢指针+快指针


]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】10.数据结构 -图]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120689045</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120689045</guid><author>ZZBOOM_</author><pubDate>Sun, 10 Oct 2021 17:26:51 +0800</pubDate><description><![CDATA[图：


顶点


邻居节点


边


度：边的数量


无向图


有向图


入度：指向该顶点的边的数量


出度：以该顶点为起点指向别的顶点的边的数量


权重图


最短路径


贝尔曼-福特算法（Bellman-Ford）


迪克斯特拉算法（Dijkstra）


DFS


BFS




学习视频来源B站—爱学习的饲养员—手把手带你刷Leetcode力扣


...]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】9.数据结构 -堆]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120641193</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/120641193</guid><author>ZZBOOM_</author><pubDate>Sun, 10 Oct 2021 17:19:18 +0800</pubDate><description><![CDATA[：
父子关系

节点
根节点
叶子节点

–

高度：从下往上从0开始
深度：从上往下从0开始
层：从上往下从1开始


二叉树：
每个节点最多两个子节点

普通二叉树
满二叉树：除了叶子节点，每个节点都有左右两个子节点，所有叶子节点在同一层上
完全二叉树：从树的根节点，从上到下，从左到右，依次填满节点形成的二叉树

–

高度：从下往上从0开始
深度：从上往下从0开始
层：从上往下从1开始


二叉树的遍历：


前序遍历：
根节点 - 左子树 - 右子树


中序遍历：除了叶子节点，每个节点都有左右两个]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】8.数据结构 - 树]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116999486</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116999486</guid><author>ZZBOOM_</author><pubDate>Tue, 18 May 2021 20:33:55 +0800</pubDate><description><![CDATA[树：
父子关系

节点
根节点
叶子节点

–

高度：从下往上从0开始
深度：从上往下从0开始
层：从上往下从1开始


二叉树：
每个节点最多两个子节点

普通二叉树
满二叉树：除了叶子节点，每个节点都有左右两个子节点，所有叶子节点在同一层上
完全二叉树：从树的根节点，从上到下，从左到右，依次填满节点形成的二叉树

–

高度：从下往上从0开始
深度：从上往下从0开始
层：从上往下从1开始


二叉树的遍历：


前序遍历：
根节点 - 左子树 - 右子树


中序遍历：除了叶子节点，每个节点都有左右两]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】7.数据结构 - 集合]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116999052</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116999052</guid><author>ZZBOOM_</author><pubDate>Tue, 18 May 2021 19:49:00 +0800</pubDate><description><![CDATA[Set集合：
无序 不重复
主要作用：

检查某一个元素是否存在
检查是否存在重复元素

set：

HashSet
LinklistSet
TreeSet


时间复杂度

访问Access — X
搜索Search — O(1) — 碰撞情况 — O(k) — k为碰撞元素的个数
插入Insert — O(1) — 碰撞情况 — O(k)
删除Delete — O(1) — 碰撞情况 — O(k)


常用操作


创建集合
s = set()
–


添加元素
s.add(10)
（添加的元素）
O(]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】6.数据结构 - 哈希表]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116975440</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116975440</guid><author>ZZBOOM_</author><pubDate>Tue, 18 May 2021 10:07:21 +0800</pubDate><description><![CDATA[哈希表：
散列表
key : value

数组实现
java - hashmap
python - 字典

key -&gt; 哈希函数 -&gt; 内存地址 -&gt; key/value对应的内存地址

哈希碰撞：2个不同的key通过同一个哈希函数得到相同的内存地址

链表解决哈希碰撞

时间复杂度

访问Access — X
搜索Search — O(1) — 碰撞情况 — O(k) — k为碰撞元素的个数
插入Insert — O(1)
删除Delete — O(1) — 碰撞情况


常用操作
]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】5.数据结构 - 栈]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116894428</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116894428</guid><author>ZZBOOM_</author><pubDate>Sun, 16 May 2021 16:11:42 +0800</pubDate><description><![CDATA[栈：
先进后出

浏览器的后退功能


时间复杂度

访问Access — O(1) — 栈顶元素
搜索Search — O(N)
插入Insert — O(1)
删除Delete — O(1) — 栈顶元素


常用操作


创建栈
stack = []
–


添加元素
stack.append()
（添加的元素）
O(1)
–


获取栈顶元素 — 即将出栈的元素
stack[-1]
–


删除栈顶元素 — 即将出栈的元素
temp = stack.pop()
O(1)
–


栈的长度
len(s]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】4.数据结构 - 队列]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116893914</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116893914</guid><author>ZZBOOM_</author><pubDate>Sun, 16 May 2021 15:55:10 +0800</pubDate><description><![CDATA[队列：
先入先出

单端队列：只有一个口可以进，一个口可以出
双端队列：两个口都可以进，两个口都可以出


时间复杂度

访问Access — O(N)
搜索Search — O(N)
插入Insert — O(1)
删除Delete — O(1)


常用操作


创建队列
queue = deque()
函数创建为双端队列
–


添加元素
a.append()
（添加的元素）
O(1)
–


获取即将出队的元素
temp1 = queue[0]
–


删除即将出队的元素
temp2 = queue]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】3.数据结构 - 链表]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116884918</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116884918</guid><author>ZZBOOM_</author><pubDate>Sun, 16 May 2021 11:07:21 +0800</pubDate><description><![CDATA[时间复杂度

访问Access — O(N)
搜索Search — O(N)
插入Insert — O(1)
删除Delete — O(1)


特点

写的快
读很慢
读少写多


常用操作


创建链表
linkedlist = deque()
–


添加元素
linkedlist.append()
（添加的元素）
O(1)
–
linkedlist.insert(2, 99)
（插入的索引，插入的元素）
O(N)
–


访问元素
element = linkedlist[2]
O(N)
–


查]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】2.数据结构 - 数组]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116753551</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116753551</guid><author>ZZBOOM_</author><pubDate>Thu, 13 May 2021 16:38:05 +0800</pubDate><description><![CDATA[数组：在连续的内存空间中，存储一组相同类型的元素

区分

元素
索引 — （从0开始）
–
数组访问(Access) — 通过索引取得某个元素的值a[1]
数组搜索(Search) — 遍历数组搜索某个元素且可返回索引


时间复杂度

访问Access — O(1)
搜索Search — O(N)
插入Insert — O(N)
删除Delete — O(N)


特点

适合读
不适合写
读多写少


常用操作

创建数组
添加元素
访问元素
修改元素
删除元素
遍历数组
查找元素
数组的长度
数组排]]></description><category></category></item><item><title><![CDATA[【手把手带你刷Leetcode力扣】1.算法的时间与空间复杂度]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116740586</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/116740586</guid><author>ZZBOOM_</author><pubDate>Thu, 13 May 2021 11:42:32 +0800</pubDate><description><![CDATA[什么是时间复杂度
算法的执行效率
算法的执行时间与算法的输入值之间的关系
def test(num): # N
	total = 0 # a
	for i in range(num):
		total += i # b
	return total # c

a+Nb+c
忽略常量
忽略系数

O(N)


常见时间复杂度案例分析
for/while

O(1)

def O1(num):
	i = num
	j = num*2
	return i+j


O(logN) - 二分查找法

def OlogN]]></description><category></category></item><item><title><![CDATA[【小甲鱼】零基础入门学习Python（七）模块]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107135853</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107135853</guid><author>ZZBOOM_</author><pubDate>Sun, 05 Jul 2020 11:25:15 +0800</pubDate><description><![CDATA[容器 - 数据的封装
	函数 - 语句的封装
	类 - 方法和属性的封装
	模块 - 模块就是程序
	命名空间


导入模块
	import 模块名
	from 模块名 import 函数名（*所有函数）
	import 模块名 as 新名字


if __name__ == '__main__'


搜索路径
	Python38\\lib\\site-packages
	sys.path.append()


包package
	创建一个文件夹用于存放相关模块，文件夹名字即为包的名字
	在文件夹中...]]></description><category></category></item><item><title><![CDATA[【小甲鱼】零基础入门学习Python（六）魔法方法]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107115845</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107115845</guid><author>ZZBOOM_</author><pubDate>Sun, 05 Jul 2020 10:45:43 +0800</pubDate><description><![CDATA[魔法方法总是被双下划线所包围
	魔法方法是面向对象的python的一切


__init__(self[, ...])
	需要参数，重写传入
	不能返回其他，只能返回None


__new__(cls[, ...])
	当继承一个不可变类型，但又需要进行修改
	返回实例化的对象
...]]></description><category></category></item><item><title><![CDATA[【小甲鱼】零基础入门学习Python（五）类、对象]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107102007</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107102007</guid><author>ZZBOOM_</author><pubDate>Fri, 03 Jul 2020 21:36:51 +0800</pubDate><description><![CDATA[对象 = 属性 + 方法
	封装：信息隐蔽技术
	继承：子类自动共享父类之间数据和方法的机制
	多态：不同对象对同一方法响应不同的行动


self
	类的方法第一个参数为self


实例化的时候可以传递参数
	通过重写__init__()添加参数
	__init__(self, param1, param2)


定义私有变量在变量名或函数名前加上__两个下划线，外部无法访问
	名称改编为_类名__变量名

class Person:
    __name = "A"
    Def getNam...]]></description><category></category></item><item><title><![CDATA[【小甲鱼】零基础入门学习Python（四）文件]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107077321</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107077321</guid><author>ZZBOOM_</author><pubDate>Fri, 03 Jul 2020 09:41:41 +0800</pubDate><description><![CDATA[1
]]></description><category></category></item><item><title><![CDATA[【小甲鱼】零基础入门学习Python（三）字典、集合]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107072772</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107072772</guid><author>ZZBOOM_</author><pubDate>Thu, 02 Jul 2020 09:15:16 +0800</pubDate><description><![CDATA[1
]]></description><category></category></item><item><title><![CDATA[【小甲鱼】零基础入门学习Python（二）函数]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107060489</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/107060489</guid><author>ZZBOOM_</author><pubDate>Wed, 01 Jul 2020 21:17:44 +0800</pubDate><description><![CDATA[1
]]></description><category></category></item><item><title><![CDATA[【小甲鱼】零基础入门学习Python（一）列表、元组、字符串]]></title><link>https://blog.youkuaiyun.com/ZZBOOM_/article/details/106932669</link><guid>https://blog.youkuaiyun.com/ZZBOOM_/article/details/106932669</guid><author>ZZBOOM_</author><pubDate>Wed, 01 Jul 2020 11:52:32 +0800</pubDate><description><![CDATA[Alt+N 上一条语句
	Alt+P下一条语句
	Ctrl+N 新建
	Shift 提示
	F5 运行
	dir(__builtins__)
	help()
	\'
	原始字符串r
]]></description><category></category></item></channel></rss>