?
1. 算法的時(shí)間復(fù)雜度 P2 - 00:54
?
o(n),n代表num大小
?
1. 算法的時(shí)間復(fù)雜度 P2 - 04:17
?
o(1)常量,與num無瓜
?
2. 算法的空間復(fù)雜度 P3 - 00:33
?
左:時(shí)間復(fù)雜度O(n)空間O(1) 右:空間復(fù)雜度O(n)時(shí)間O(1)
看空間復(fù)雜度,找變量,如果變量始終是常量,則是O(1)
?
2. 算法的空間復(fù)雜度 P3 - 04:49
?
常用空間復(fù)雜度
?
2. 算法的空間復(fù)雜度 P3 - 05:56
?
遞歸也是O(n)
時(shí)間復(fù)雜度一樣,空間復(fù)雜度越小越好;空間復(fù)雜度一樣,時(shí)間復(fù)雜度越小越好。
?
2. 算法的空間復(fù)雜度 P3 - 06:44
?
面試時(shí)把時(shí)間最好的方法和空間最好的方法都告訴他,工作時(shí)選最快的那個(gè)
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 00:08
?
數(shù)組的定義
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 02:07
?
區(qū)分1:元素和索引
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 02:55
?
區(qū)分2:數(shù)組訪問和數(shù)組搜索
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 04:17
?
對任意數(shù)據(jù)結(jié)構(gòu)都會(huì)涉及四種方法
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 05:15
?
數(shù)組訪問例子
數(shù)組自帶屬性:第一個(gè)元素所帶位置
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 07:06
?
搜索例子
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 07:43
?
插入例子
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 09:23
?
刪除例子
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 10:15
?
數(shù)組特點(diǎn):適合讀,不適合寫
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 10:49
?
數(shù)組常用操作
?
3. 【數(shù)據(jù)結(jié)構(gòu)】【數(shù)組Array】... P4 - 12:49
?
練習(xí)題
?
4. Python3數(shù)組常用操作 P5 - 00:05
?
創(chuàng)建數(shù)組
?
4. Python3數(shù)組常用操作 P5 - 00:39
?
添加元素
1、直接把4添加到3后面 O(1)
2、3后面的位置被另一個(gè)變量占領(lǐng),在內(nèi)存空間中另外找一塊能存4個(gè)元素的空間,把1、2、3挪過來,再添加4 O(n)
?
4. Python3數(shù)組常用操作 P5 - 01:45
?
O(n):在中間添加元素
?
4. Python3數(shù)組常用操作 P5 - 02:35
?
訪問元素
?
4. Python3數(shù)組常用操作 P5 - 03:14
?
更新元素
?
4. Python3數(shù)組常用操作 P5 - 03:38
?
刪除元素:三種方法
?
4. Python3數(shù)組常用操作 P5 - 05:20
?
獲取數(shù)組長度
?
4. Python3數(shù)組常用操作 P5 - 05:37
?
遍歷數(shù)組:3種方法
?
4. Python3數(shù)組常用操作 P5 - 07:02
?
查找某元素
?
4. Python3數(shù)組常用操作 P5 - 07:42
?
數(shù)組排序
偽代碼
?
9. 【數(shù)據(jù)結(jié)構(gòu)】【鏈表Linked List】知識(shí)點(diǎn)講解 P10 - 00:42
?
鏈表
每一個(gè)節(jié)點(diǎn):當(dāng)前元素+指針(指向下一元素)
最后一個(gè)指針指向null節(jié)點(diǎn),代表當(dāng)前鏈表結(jié)束
?
9. 【數(shù)據(jù)結(jié)構(gòu)】【鏈表Linked List】知識(shí)點(diǎn)講解 P10 - 02:15
?
兩種鏈表:單鏈表、雙端鏈表(力扣不需要)
?
9. 【數(shù)據(jù)結(jié)構(gòu)】【鏈表Linked List】知識(shí)點(diǎn)講解 P10 - 03:08
?
鏈表的四個(gè)重要功能
特點(diǎn):寫得快、讀得慢
?
9. 【數(shù)據(jù)結(jié)構(gòu)】【鏈表Linked List】知識(shí)點(diǎn)講解 P10 - 07:27
?
鏈表的常用操作
鏈表練習(xí)題
?
10.Python3鏈表常用操作 P11 - 00:18
?
創(chuàng)建鏈表
?
10.Python3鏈表常用操作 P11 - 00:28
?
添加元素
?
10.Python3鏈表常用操作 P11 - 03:02
?
訪問元素
?
10.Python3鏈表常用操作 P11 - 03:54
?
搜索元素:找索引
?
10.Python3鏈表常用操作 P11 - 04:28
?
更新元素
?
10.Python3鏈表常用操作 P11 - 05:12
?
刪除元素
僅僅一個(gè)刪除操作是O(1),但我們要先找到元素位置,所以是O(N)
?
10.Python3鏈表常用操作 P11 - 07:32
?
獲取鏈表長度
203移除鏈表元素
?
14. 【數(shù)據(jù)結(jié)構(gòu)】【隊(duì)列Queue】知識(shí)點(diǎn)講解 P15 - 00:08
?
隊(duì)列特點(diǎn):先到先得
?
14. 【數(shù)據(jù)結(jié)構(gòu)】【隊(duì)列Queue】知識(shí)點(diǎn)講解 P15 - 01:01
?
兩種:單端隊(duì)列、雙端隊(duì)列(用不多)
?
14. 【數(shù)據(jù)結(jié)構(gòu)】【隊(duì)列Queue】知識(shí)點(diǎn)講解 P15 - 02:26
?
隊(duì)列四種操作
?
14. 【數(shù)據(jù)結(jié)構(gòu)】【隊(duì)列Queue】知識(shí)點(diǎn)講解 P15 - 04:06
?
隊(duì)列常用操作
推薦練習(xí)題
單端隊(duì)列的操作方法
?
15. Python3隊(duì)列常用操作 P16 - 00:22
?
創(chuàng)建隊(duì)列
?
15. Python3隊(duì)列常用操作 P16 - 00:36
?
添加元素
?
15. Python3隊(duì)列常用操作 P16 - 01:07
?
獲取元素
?
15. Python3隊(duì)列常用操作 P16 - 01:43
?
刪除元素
?
15. Python3隊(duì)列常用操作 P16 - 02:56
?
隊(duì)列為空判斷
?
15. Python3隊(duì)列常用操作 P16 - 03:22
?
遍歷隊(duì)列
933題思路
偽代碼
?
18. 【數(shù)據(jù)結(jié)構(gòu)】【棧Stack】知識(shí)點(diǎn)講解 P19 - 00:42
?
棧在計(jì)算機(jī)中的應(yīng)用 瀏覽器后退
?
18. 【數(shù)據(jù)結(jié)構(gòu)】【棧Stack】知識(shí)點(diǎn)講解 P19 - 01:24
?
棧的操作復(fù)雜度分析
?
18. 【數(shù)據(jù)結(jié)構(gòu)】【棧Stack】知識(shí)點(diǎn)講解 P19 - 02:23
?
棧的常用操作
?
18. 【數(shù)據(jù)結(jié)構(gòu)】【棧Stack】知識(shí)點(diǎn)講解 P19 - 03:54
?
練習(xí)題
?
19. Python3棧常用操作 P20 - 00:05
?
創(chuàng)建、添加
?
19. Python3棧常用操作 P20 - 00:55
?
獲取、刪除棧頂元素
?
19. Python3棧常用操作 P20 - 02:22
?
棧的大小、是否為空
?
19. Python3棧常用操作 P20 - 03:30
?
棧的便利(重點(diǎn))
?
23. 【數(shù)據(jù)結(jié)構(gòu)】【哈希表HashTab... P24 - 00:42
?
chua一下
?
23. 【數(shù)據(jù)結(jié)構(gòu)】【哈希表HashTab... P24 - 01:30
?
哪個(gè)數(shù)據(jù)結(jié)構(gòu)可以chua一下
數(shù)組可以根據(jù)索引chua一下定位
?
23. 【數(shù)據(jù)結(jié)構(gòu)】【哈希表HashTab... P24 - 03:16
?
編程語言里的哈希表
?
23. 【數(shù)據(jù)結(jié)構(gòu)】【哈希表HashTab... P24 - 04:47
?
哈希碰撞
解決方法:變成鏈表
?
23. 【數(shù)據(jù)結(jié)構(gòu)】【哈希表HashTab... P24 - 06:32
?
數(shù)據(jù)結(jié)構(gòu)分析
?
23. 【數(shù)據(jù)結(jié)構(gòu)】【哈希表HashTab... P24 - 09:25
?
哈希表常用操作
練習(xí)題
496是上一章節(jié)刷過的,用了2個(gè)棧,這里用1個(gè)棧+1個(gè)哈希表
?
24. Python3 哈希表常用操作 P25 - 00:06
?
哈希表創(chuàng)建(直接用字典也可以)
?
24. Python3 哈希表常用操作 P25 - 01:20
?
添加元素(分?jǐn)?shù)組和字典)
?
24. Python3 哈希表常用操作 P25 - 03:20
?
修改元素
?
24. Python3 哈希表常用操作 P25 - 03:44
?
刪除元素
?
24. Python3 哈希表常用操作 P25 - 05:01
?
獲取元素
?
24. Python3 哈希表常用操作 P25 - 05:20
?
檢查key存在?
?
24. Python3 哈希表常用操作 P25 - 06:11
?
哈希表長度
?
29.【數(shù)據(jù)結(jié)構(gòu)】【集合Set】知識(shí)點(diǎn)講解 P30 - 02:47
?
集合作用
?
29.【數(shù)據(jù)結(jié)構(gòu)】【集合Set】知識(shí)點(diǎn)講解 P30 - 03:47
?
集合的分類
?
29.【數(shù)據(jù)結(jié)構(gòu)】【集合Set】知識(shí)點(diǎn)講解 P30 - 04:25
?
哈希集合
?
29.【數(shù)據(jù)結(jié)構(gòu)】【集合Set】知識(shí)點(diǎn)講解 P30 - 07:21
?
集合的分析
?
29.【數(shù)據(jù)結(jié)構(gòu)】【集合Set】知識(shí)點(diǎn)講解 P30 - 10:27
?
集合的常用操作
習(xí)題
?
30. Python3 哈希集合常用操作 P31 - 00:09
?
創(chuàng)建集合、添加元素
?
30. Python3 哈希集合常用操作 P31 - 01:26
?
搜索、刪除元素
?
30. Python3 哈希集合常用操作 P31 - 02:36
?
長度
?
34. 【數(shù)據(jù)結(jié)構(gòu)】【樹Tree】知識(shí)點(diǎn)講解 P35 - 02:44
?
樹的高度、深度、層(易混淆)
?
34. 【數(shù)據(jù)結(jié)構(gòu)】【樹Tree】知識(shí)點(diǎn)講解 P35 - 04:12
?
二叉樹
?
34. 【數(shù)據(jù)結(jié)構(gòu)】【樹Tree】知識(shí)點(diǎn)講解 P35 - 08:12
?
二叉樹的遍歷
習(xí)題
?
36. 【數(shù)據(jù)結(jié)構(gòu)】【堆Heap】知識(shí)點(diǎn)講解 P37 - 02:26
?
什么樣的完全二叉樹是堆
?
36. 【數(shù)據(jù)結(jié)構(gòu)】【堆Heap】知識(shí)點(diǎn)講解 P37 - 03:53
?
分析數(shù)據(jù)結(jié)構(gòu)
?
36. 【數(shù)據(jù)結(jié)構(gòu)】【堆Heap】知識(shí)點(diǎn)講解 P37 - 04:35
?
堆的添加和刪除為啥是logn
?
36. 【數(shù)據(jù)結(jié)構(gòu)】【堆Heap】知識(shí)點(diǎn)講解 P37 - 07:00
?
堆的常用操作
練習(xí)題
堆的刪除
?
36-2. 更正:創(chuàng)建堆「Heapify」的時(shí)間復(fù)雜度O(N) P39 - 00:43
?
堆化操作:一組數(shù)-->完全二叉樹
?
36-2. 更正:創(chuàng)建堆「Heapify」的時(shí)間復(fù)雜度O(N) P39 - 04:29
?
時(shí)間復(fù)雜度分析:轉(zhuǎn)二叉樹O(n),將二叉樹轉(zhuǎn)化為最小堆也是O(n)
?
37. Python3 堆的常用操作 P40 - 00:09
?
首先導(dǎo)入模塊heapq
創(chuàng)建堆,使用函數(shù)heapify()
添加元素,使用函數(shù)heappush()
堆頂元素,打印第一個(gè)元素
?
37. Python3 堆的常用操作 P40 - 01:41
?
刪除堆頂元素heappop()
堆的遍歷(邊刪除邊遍歷)
?
41.【數(shù)據(jù)結(jié)構(gòu)】【圖Graph】知識(shí)點(diǎn)講解 P44 - 00:58
?
樹和圖節(jié)點(diǎn)關(guān)系
?
41.【數(shù)據(jù)結(jié)構(gòu)】【圖Graph】知識(shí)點(diǎn)講解 P44 - 04:04
?
有向圖
?
41.【數(shù)據(jù)結(jié)構(gòu)】【圖Graph】知識(shí)點(diǎn)講解 P44 - 05:35
?
權(quán)重圖
?
43. 【力扣算法】【雙指針 Two Poin... P46 - 00:08
?
雙指針是什么
?
43. 【力扣算法】【雙指針 Two Poin... P46 - 01:04
?
case 1:有序數(shù)組
普通雙指針:時(shí)間復(fù)雜度n方
?
43. 【力扣算法】【雙指針 Two Poin... P46 - 03:37
?
利用有序特性:對撞雙指針,時(shí)間復(fù)雜度n
?
43. 【力扣算法】【雙指針 Two Poin... P46 - 05:50
?
快慢雙指針舉例
case 2
習(xí)題
?
46. 【力扣算法】【二分查找法 Binary... P49 - 01:00
?
二分查找法:0-100找23
?
46. 【力扣算法】【二分查找法 Binary... P49 - 02:15
?
怎么遇到呢
使用條件:必須是有序數(shù)組
?
46. 【力扣算法】【二分查找法 Binary... P49 - 04:04
?
如果無序
習(xí)題
經(jīng)典題,反復(fù)刷,強(qiáng)化記憶
索引中間值
?
51. 【力扣算法】【滑動(dòng)窗口 Sliding ... P54 - 00:07
?
滑動(dòng)窗口目的:減少while循環(huán)
?
51. 【力扣算法】【滑動(dòng)窗口 Sliding ... P54 - 01:18
?
常規(guī)方法的問題(重合的數(shù)相加)
滑動(dòng)窗口思路
?
51. 【力扣算法】【滑動(dòng)窗口 Sliding ... P54 - 03:23
?
定長問題:滑動(dòng)窗口
?
54. 【力扣算法】【遞歸 Recursion】知識(shí)點(diǎn)講解 P57 - 01:56
?
遞歸4要素
?
54. 【力扣算法】【遞歸 Recursion】知識(shí)點(diǎn)講解 P57 - 02:59
?
舉例子:斐波那契
習(xí)題
?
58. 【力扣算法】【分治法 Divide & C... P61 - 00:09
?
分治法主要思想
?
58. 【力扣算法】【分治法 Divide & C... P61 - 00:51
?
舉例子
多數(shù)元素
分治法思路
偽代碼
?
61. 【力扣算法】【回溯法 Backtrac... P64 - 00:53
?
回溯法一個(gè)生活中的例子
?
61. 【力扣算法】【回溯法 Backtrac... P64 - 02:33
?
經(jīng)典的回溯
偽代碼
?
64.【力扣算法】【深度優(yōu)先搜索 D... P67 - 00:39
?
深度優(yōu)先DFS
?
64.【力扣算法】【深度優(yōu)先搜索 D... P67 - 01:15
?
DFS主要應(yīng)用和例子
?
64.【力扣算法】【深度優(yōu)先搜索 D... P67 - 03:03
?
例子:子集
?
64.【力扣算法】【深度優(yōu)先搜索 D... P67 - 05:52
?
DFS和回溯法的區(qū)別
遞歸法
BFS方法
?
67. 【力扣算法】【寬度優(yōu)先搜索 B... P70 - 00:13
?
BFS思想
?
67. 【力扣算法】【寬度優(yōu)先搜索 B... P70 - 01:42
?
例子
?
75. 【力扣算法】【并查集 Union F... P73 - 00:46
?
union find:一直找根節(jié)點(diǎn)
?
75. 【力扣算法】【并查集 Union F... P73 - 04:05
?
生活中的例子
?
75. 【力扣算法】【并查集 Union F... P73 - 07:24
?
編程如何實(shí)現(xiàn)
模板
?
76. 【力扣算法】【并查集優(yōu)化 Union Find ... P74 - 00:36
?
quick find
?
76. 【力扣算法】【并查集優(yōu)化 Union Find ... P74 - 04:05
?
quick union
?
76. 【力扣算法】【并查集優(yōu)化 Union Find ... P74 - 05:00
?
比較兩棵樹的高,矮的樹連接到高的樹
?
76. 【力扣算法】【并查集優(yōu)化 Union Find ... P74 - 06:44
?
?
79. 【力扣算法】【貪心算法 Gree... P75 - 00:22
?
核心思想
?
79. 【力扣算法】【貪心算法 Gree... P75 - 01:31
?
例子:零錢兌換問題
?
79. 【力扣算法】【貪心算法 Gree... P75 - 03:39
?
例子:不能湊整
回溯:不取5,取次優(yōu)解3
?
83. 【力扣算法】【記憶化搜索 Memoi... P76 - 00:45
?
目的:減少重復(fù)計(jì)算
?
86. 【力扣算法】【動(dòng)態(tài)規(guī)劃 Dynamic Pr... P77 - 00:50
?
入門例子
?
86. 【力扣算法】【動(dòng)態(tài)規(guī)劃 Dynamic Pr... P77 - 08:08
?
動(dòng)態(tài)規(guī)劃三要素和整個(gè)過程
?
86. 【力扣算法】【動(dòng)態(tài)規(guī)劃 Dynamic Pr... P77 - 15:14
?
動(dòng)態(tài)規(guī)劃能干嘛
?
89.【力扣算法】【前綴樹 Trie】... P80 - 00:16
?
前綴樹的應(yīng)用:百度自動(dòng)匹配
?
89.【力扣算法】【前綴樹 Trie】... P80 - 01:39
?
操作
標(biāo)簽: